-1

How to find Value N and K ? I have the values for R, S and Z.

for example these:

BigInteger R =("00d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad1"));
BigInteger S =("0044e1ff2dfd8102cf7a47c21d5c9fd5701610d04953c6836596b4fe9dd2f53e3e"));
BigInteger Z =("00c0e2d0a89a348de88fda08211c70d1d7e52ccef2eb9459911bf977d587784c6e"));
BigInteger X  =("00c477f9f65c22cce20657faa5b2d1d8122336f851a508a1ed04e479c34985bf96"));

Now, how to get these:

BigInteger K =("007a1a7e52797fc8caaa435d2a4dace39158504bf204fbe19f14dbb427faee50ae"));
BigInteger N =("00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141")); 

How to get the values K and N ?
I am confused about how to calculate it, can somebody tell me how it is done?

SEJPM
  • 105
  • 4
Mas Ndoloxz
  • 1
  • 1
  • 5

1 Answers1

2

k and n are not values that you calculate. k is randomly generated while n is predefined by the curve parameters.

n is the order of the curve G. It is defined by the curve parameters for the secp256k1 curve which are defined here: http://www.secg.org/sec2-v2.pdf. In those parameters, n = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141.

k is a randomly generated integer that is used only once for a signature. It is known as the nonce and acts as a source of randomness. If the same k is used to sign two different messages with the same private key, the private key will be leaked.

Ava Chow
  • 70,382
  • 5
  • 81
  • 161
  • sorry, I'm still confused with the parameter n, whether the parameter n is the support point FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F or what ??? for example i got R = 0x00656073615d18ef82d884366dfcf8f84fd1a95ee7ae431ad8f23a30f7ecc5489c S =0x00705324ea8a6f796c9c38df621ee07fd86515308a33e1f5acf2d6ae436c4a67ba Z=0x00264e4672395b1fe67c9c6a6787ad69490585bc45ee7a046593620b1c0ccafb56 but im can't calculate value K and N and X ?? I've tried many times but can't find the correct value ?? thanks for your helping me sir. @AndrewChow – Mas Ndoloxz Sep 14 '18 at 05:39
  • I already told you what n is and it is not that. As I said in my answer, you do not calculate n or k. n is given to you by the parameters for secp256k1, and k is randomly generated. You cannot calculate them. – Ava Chow Sep 14 '18 at 13:41
  • @MasNdoloxz+ as shown in SEC2, the number you quote here is 'p', the modulus of the underlying finite field F_p. Like a,b,G,n it is fixed as part of the definition of the curve and you do not compute it. (All the parameters were actually computed once, decades ago, following the process in SEC1 as modified by the Koblitz constraint, but it's neither necessary nor practical for you to re-do that computation.) – dave_thompson_085 Sep 14 '18 at 14:33
  • @AndrewChow im sorry, im newbie for this, but im always continue to study this. i just want know step by step from zero. so i need teacher for this. sorry my bad english, im from indonesia. one again, the point is prime G = fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f , N = fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 . i need teacher for this thanksyou – Mas Ndoloxz Sep 18 '18 at 15:03
  • @AndrewChow i need teacher step by step for secp256k1 and recovering PrivateKey used value R S Z this sounds impossible, actually I already have a private key, only I want to test it. I am interested in https://bitcoin.stackexchange.com/questions/25814/ecdsa-signature-and-the-z-value/32546#32546 from this question must be two different messages with the same private key. what about 1 message, can i recover? – Mas Ndoloxz Sep 18 '18 at 15:13
  • @dave_thompson_085 oke thanksyou for help. but i'm still consufed hehehehe – Mas Ndoloxz Sep 18 '18 at 15:14
  • G is not that value. It is the point defined in the sec2 pdf I linked in my answer. You cannot recover a private key from the same message signed with different k values. That would mean that ECDSA is broken. You can only recover the private key if the same k values are used in signing two different messages. As has been said multiple times, n is not a value you calculate, it is given to you. – Ava Chow Sep 18 '18 at 15:34
  • @AndrewChow oke now i'm understand. thanksyou for help – Mas Ndoloxz Sep 19 '18 at 02:06