Private-Key
為什麼私鑰有範圍限制?
我正在閱讀有關ECDSA的資訊,我發現私鑰必須在
(0,n)
, with 中n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
。secp256k1
n
曲線上的點總數是多少?(加上0分)以及如何
n
限制私鑰的範圍?如果私鑰大於
n
怎麼辦?
n 是曲線上的點數(包括無窮遠點)。私鑰是介於 1 和 n-1 之間的數字,包括 1 和 n-1。0 不是有效的私鑰,因為它的對應點是無窮遠點。
如果您天真地嘗試計算與私鑰 d 和私鑰 d+n 對應的公鑰,您將獲得相同的公鑰。這意味著私鑰 n 的公鑰也將是無窮大(與私鑰 0 相同)。
出於這個原因,私鑰被限制在 1 到 n-1 的範圍內:這保證了曲線上的每個非無窮大點都只有一個私鑰。
如果您選擇一個鍵 > N,它將映射到 (0, N) 範圍內的另一個鍵。例如,對於所有效果和目的,N + 100 是與 100 完全相同的私鑰。這就是模運算的工作原理