5.1 Ed25519ph, Ed25519ctx, and Ed25519 (Ed25519ph, Ed25519ctx 与 Ed25519)
5.1 Ed25519ph, Ed25519ctx, and Ed25519 (Ed25519ph, Ed25519ctx 与 Ed25519)
Ed25519 是按如下方式实例化 (instantiated) 的 EdDSA:
| Parameter (参数) | Value (取值) |
|---|---|
| p | [RFC7748] 中 edwards25519 的 p (即 2^255 - 19) |
| b | 256 |
| GF(p) 的 encoding (编码) | {0, 1, ..., p-1} 的 255 位小端编码 |
| H(x) | `SHA-512(dom2(phflag,context) |
| c | [RFC7748] 中 edwards25519 的 cofactor (协因子) 的以 2 为底的对数 (即 3) |
| n | 254 |
| d | [RFC7748] 中 edwards25519 的 d (即 -121665/121666 = 37095705934669439343138083508754565189542113879843219016388785533085940283555) |
| a | -1 |
| B | [RFC7748] 中 edwards25519 的 (X(P),Y(P)) (即 (151122213495354007725011514095885315114540126930418572046113283949847762202, 4631683569492647816942839400347516314130799386625621565783033603165251855960)) |
| L | [RFC7748] 中 edwards25519 的 order (阶) (即 2^252+27742317777372353535851937790883648493). |
| PH(x) | x (即恒等函数) |
表 1: Ed25519 的参数
对于 Ed25519, dom2(f,c) 为空串. phflag 的取值无关紧要. context (若存在) 必须为空. 从而使本方案与先前发表的 Ed25519 方案完全一致.
对于 Ed25519ctx, phflag=0. context 输入不应 (SHOULD NOT) 为空.
对于 Ed25519ph, phflag=1, 且 PH 换为 SHA512. 也就是说, 在按 Ed25519 签名之前先用 SHA-512 对输入做哈希.
context 的值由签名方与验证方设定 (最多 255 个 octet (八位组); 默认为空串, Ed25519 除外, 它不能使用 context), 且必须逐 octet 一致, 验证才能成功.
所用曲线在坐标变换下等价于 Curve25519 [CURVE25519], 因此离散对数问题 (discrete logarithm problem) 的难度与 Curve25519 相同.