首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ed25519到X25519传输

Ed25519到X25519传输
EN

Cryptography用户
提问于 2022-02-07 12:40:06
回答 1查看 361关注 0票数 2

使用

代码语言:javascript
复制
montgomeryX = (edwardsY + 1)*inverse(1 - edwardsY) mod p

可以将Edwards曲线点(Ed25519公钥)传输到蒙哥马利曲线。如果Ed25519公钥无效,例如在一个小的子群或无效曲线攻击的情况下,它会有什么副作用吗?

如果是的话,什么是正确处理这一问题的最佳解决方案?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2022-02-07 21:39:08

Curve25519和Ed25519

定义在字段K上的Montgomery曲线定义为:M_{A,B}: Bv^2 = u^3 + Au^2 + u,用于特定的A,B \in K,并带有B(A^2-4) \neq 0

Curve25519使用素数q = 2^{255} − 19形成有限域\mathbb{F}_q,并首先为ECDH定义,后命名为X25519。蒙哥马利方程是v^2 = u^3+486662 u^2+u486664\mathbb{Z}_p中的平方,即是二次剩余(QR)。u = 9选择了一个基点。Weierstrass表单(SageMath的一个需要)

y^2 = x^3 + A x + B

这条曲线“Curve25519”是出生等值 is \mathbb{Z}_p到Edwards曲线Ed25519 x^2 + y^2 = 1 + (121665/121666)x^2y^2

x = \frac{\sqrt{486664}u}{v}, \quad y = \frac{(u − 1)}{(u + 1)}

相反的是操作是;

u = \frac{(y + 1)}{(1 - y)}, \quad v = \frac{\sqrt{486664}u}{x}

爱德华形式有一条同构曲线。

-x^2 + y^2 = 1 - (121665/121666)x^2y^2,因为-1\mathbb Z_p中是QR

问题

montgomeryX = (edwardsY + 1)*inverse(1 - edwardsY) mod p可以将edwards曲线点(ed25519公共密钥)传输到蒙哥马利曲线。

是的,如上所述,从蒙哥马利到爱德华兹u = \frac{(y + 1)}{(1 - y)}

如果ed25519公钥无效,例如在一个小的子群或无效曲线攻击的情况下,它会有什么副作用吗?

Edward25519密钥可以转换为Curve25519,如果已经使用合法用户的责任构造了密钥

  • 假定合法用户生成独立的统一随机密钥。例如,用户可以生成32个统一的随机字节、第一个字节的清除位0、1、2、最后一个字节的清除位7以及设置最后一个字节的位6。

在集合定义中,我们希望X25519的密钥作为

\{n: n \in 2^{254} +8\{0,1,2,\dots,2^{251}-1 \}\},,换句话说,在[0,2^{251}-1]8相乘之间选择一个统一的随机数,而不是添加2^{254}

基点的阶数为(小-端);

代码语言:javascript
复制
edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010

清算0,1,2确保

下面是最大值(小endian),我们可以看到有两个私钥可以拥有相同的公钥,但是,这是一个可以忽略但可以找到的事件。

0x8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7

这样就没有必要了,因为如果合法的用户已经使用了这些规则,那么生育等价就会产生不小的顺序点。

在Curve25519和edwards25519的出生等价条件下,每个X25519公钥对应于两个可能的Ed25519公钥)。X25519只使用x坐标(名称出现的地方),Ed25519使用点的坐标。当我们只有一个点的x坐标时,除了y=0,还有两个可能的点(x,y)(x,-y)

如果是的话,什么是正确处理这一问题的最佳解决方案?

没有发生验证点的危险。

一些额外的

使用相同键的

我不能直接说这是不安全的,但是,我们的一般规则是不为不同的目的使用相同的密钥。直到有人证明没有危险,让自己不使用相同的钥匙,用于不同的目的。

对于X25519和Ed25519,最好有一个统一的随机256位密钥,并使用HKDF-展开导出两个密钥。

X25519

请记住,公钥是固定的,当您执行DHKE时,这意味着您具有静态DHKE。这不需要保密。更好的是信号协议的功能;双轮毂和您可以用Ed25519签署新的公钥。

票数 3
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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