跳到主要内容

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)
b256
GF(p) 的 encoding (编码){0, 1, ..., p-1} 的 255 位小端编码
H(x)`SHA-512(dom2(phflag,context)
c[RFC7748] 中 edwards25519 的 cofactor (协因子) 的以 2 为底的对数 (即 3)
n254
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 相同.

子章节