首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TLS1.3是否使用Ed25519 / Ed448的ECDSA值编码签名?

TLS1.3是否使用Ed25519 / Ed448的ECDSA值编码签名?
EN

Cryptography用户
提问于 2018-06-10 03:44:02
回答 1查看 1.2K关注 0票数 1

引用传输层安全(TLS)协议1.3版

ECDSA算法表示使用ECDSA的签名算法,ANSI X9.62和FIPS 186-4中定义的相应曲线,以及签名被表示为一个编码的ECDSA值结构...。EdDSA算法表示使用EdDSA或其继承者定义的签名算法。请注意,这些算法与"PureEdDSA“算法相对应,而不是”捕获“变体。

ECDSA Value是定义

代码语言:javascript
复制
ECDSA-Sig-Value ::= SEQUENCE {
  r  INTEGER,
  s  INTEGER
}

RFC8032: Edwards-曲线数字签名算法(EdDSA)对签名格式进行了如下说明:

  1. 形成R (32八位)级联的签名和S的小端编码(32八位;最后八位组的三个最重要的位总是零)。

我不明白为什么在TLS1.3中不能与EdDSA一起使用ECDSA Value,但这并不意味着它是。实际上,我猜它不是,您应该使用RFC8032结构吗?

EN

回答 1

Cryptography用户

回答已采纳

发布于 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$:

  • ECDSA签名是一个域元素$r \in \mathbb /q \mathbb $和标量$s \in \mathbb Z/\ell\mathbb Z$。它在公钥下的消息$m$上是有效的,该公钥是E(k)$中的曲线点$A \in E(K)$当且仅当$$r \equiv (B+ A) \pmod,$$,其中$B$是标准基点。
  • EdDSA签名是一个标准字节字符串,表示曲线点$R \in E(k)$和标量$s \in \mathbb /hl\mathbb$。它在公钥下的消息$m$上是有效的,它是曲线点$A \in E(k)$ if $$B =R+ A,$$的标准编码,其中$B$是标准基点。
票数 4
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/59917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档