メインコンテンツまでスキップ

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 を little-endian 整数 k として解釈する.

  3. 群の等式 [8][S]B = [8]R + [8][k]A' を検査する. 代わりに [S]B = R + [k]A' を検査しても十分だが, 必須ではない.