数字签名每次都不一样

neh*_*wal 1 cryptography blockchain

数字签名取决于消息和密钥。假设接收者多次复制消息(我们唯一id的原因),为什么签名会不同(因为消息和密钥相同)?

JBa*_*zuk 5

比特币使用 ECDSA,对于相同的消息和密钥签名不同的原因是随机数,它是在每次创建签名时生成的。

ECDSA 签名是一对 (r,s),其中 r 是 kG 的 X 坐标,s = (m+r*x)/k(其中 k=nonce,m=消息哈希,x=私钥,G=曲线生成器)。

另请参阅https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm#Signature_generation_algorithm 中的#3