跳到主要内容

5.1.7 Verify (验证)

5.1.7 Verify (验证)

  1. 使用公钥 A 验证消息 M 上的签名时, Ed25519ctx 对应 F 为 0, Ed25519ph 对应 F 为 1; 若使用 Ed25519ctx 或 Ed25519ph, 还有 context C. 先将签名分成两个 32 个 octet 的半段. 将前半解码为点 R, 后半解码为整数 S, 范围 0 <= s < L. 将公钥 A 解码为点 A'. 若任一解码失败 (包括 S 越界), 则签名无效.

  2. 计算 SHA512(dom2(F, C) || R || A || PH(M)), 将 64 octet 的 digest 解释为小端整数 k.

  3. 检验群方程 [8][S]B = [8]R + [8][k]A'. 改为检验 [S]B = R + [k]A' 亦充分, 但非必须.