ECDSA算法表示使用ECDSA的签名算法,ANSI X9.62和FIPS 186-4中定义的相应曲线,以及签名被表示为一个编码的ECDSA值结构...。EdDSA算法表示使用EdDSA或其继承者定义的签名算法。请注意,这些算法与"PureEdDSA“算法相对应,而不是”捕获“变体。
ECDSA Value是定义:
ECDSA-Sig-Value ::= SEQUENCE {
r INTEGER,
s INTEGER
}RFC8032: Edwards-曲线数字签名算法(EdDSA)对签名格式进行了如下说明:
我不明白为什么在TLS1.3中不能与EdDSA一起使用ECDSA Value,但这并不意味着它是。实际上,我猜它不是,您应该使用RFC8032结构吗?
发布于 2018-06-10 06:20:56
EdDSA是一系列精确定义在字节字符串上的签名方案,包括它的扩展到更多的曲线,如edwards448 448。这通常避免了在现实世界中,由于对手的力量在字节串系统上的不匹配而导致的安全定理的失败,以及在理想化的数学对象系统上对手的权力之间的不匹配。选择的动机正是HMQV 梅内泽斯中这种类型的失败。
Any软件实现Ed25519通常是字节对字节兼容.TLS堆栈不需要知道它的数学结构。只需知道一个秘密签名密钥有一个标准的32字节表示,一个公共验证密钥有一个标准的32字节表示,一个签名有一个标准的64字节表示,并且Ed25519的定义需要这些字节字符串之间的精确关系。与In相反的是,ECDSA将不必要的复杂细节留给调用方来整理--或者用附加的ASN.1攻击面和逻辑来处理,以解释ECDSA中的数学结构。
<#>In这种特殊情况下,虽然签名的部分可以用ECDSA和EdDSA中的字母‘r’和‘S’命名,虽然它们可以用整数表示,但实际上它们在签名验证方程<#>中用不同的r>表示 different类型的对象。对于椭圆曲线$E/k$ $E/k$在字段$k = \mathbb /q\mathbb$表示一些素数幂$q$,使用$k$-rational组$E(k)$ $h\ell$:
https://crypto.stackexchange.com/questions/59917
复制相似问题