2026/1/24 13:44:02
网站建设
项目流程
中国建设招标网站中标公告,企业建站系统营销吧tt团队,微信的网站开发,做网站和百度推广有什么不一样按这张图,EdDSA(这里基本就是 Ed25519)的签名和验证流程可以分成两大块来看:上半部分是 Signing process,下半部分是 Verifying process。 一、参与的元素与符号
左侧图例先说明了几个符号含义: q:私钥(种子,通常是 32 字节随机数)。 m:要签名的消息(这里写的是 …按这张图,EdDSA(这里基本就是 Ed25519)的签名和验证流程可以分成两大块来看:上半部分是 Signing process,下半部分是 Verifying process。一、参与的元素与符号左侧图例先说明了几个符号含义:q:私钥(种子,通常是 32 字节随机数)。m:要签名的消息(这里写的是 transaction’s metadata)。Q:公钥,是曲线上的一点。粉色箭头:Ed25519 特有的bit pruning / bit clamping操作(裁剪 / 钳位一些比特)。灰色箭头:廉价运算(基本是哈希、拼接等)。蓝色箭头:标量乘点(椭圆曲线最贵的运算)。二、从私钥到公钥:q → a → Q先不管消息,只看左边这一竖条:对私钥q做一次哈希:得到 64 字节的结果,分成left和right两半(图里 q 箭头指向一个 “left / right” 的框)。对left半部分做粉色的bit pruning(比特裁剪/钳位):得到一个标量图里写成private scalar = a。用这个标量a去乘基点 G: Q=aG蓝色箭头 aG 指向 Q,这就是公钥 Q(曲线上的点)。小结:q:只是一个随机种子。a:真正参与运算的“私有标量”,由 q 经过 hash+bit pruning 得来。Q:公钥点,由 aG 得到。三、签名流程(Signing process)签名阶段输入是:q(私钥)和m(消息),输出是签名 (R, s)。图上从 q、m 出发往右上走:1. 计算一次性随机数 r利用前面哈希得到的right半部分(图中 q → left/right,再从 right 指到 r)。把right和消息m拼在一起做哈希(图上 m 也指向 r):其中 L是子群的阶。r 是一个“伪随机的 nonce”,完全由私钥和消息决定,不需要外部随机数。2. 计算点 R = rG用 r 乘基点: R=rG蓝色箭头 rG 指向 R。这一步得到曲线点 R,是签名的一部分。3. 计算挑战值 e把 R、消息 m、公钥 Q 拼在一起哈希(图中 R、m、Q 都指向 e): 这个 e 就是验证时要用的“挑战”。4. 计算标量 s用 r、e、a(私有标量)组合: 图中 s 的输入来自 r 与 e 和(隐含的)a。