首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将EdDSA密钥转换为EC-KCDSA密钥

将EdDSA密钥转换为EC-KCDSA密钥
EN

Cryptography用户
提问于 2019-04-10 17:07:12
回答 1查看 289关注 0票数 1

我正试图通过在BIP32上运行来创建EKCDSA的类似于密钥派生的BIP32 32-EdDSA推导

有人能告诉我我的转换技术是否有明显的问题吗?

代码语言:javascript
复制
PrivateECKCDSA = First32Bytes(Hash512(PrivateEdDSA))
PublicECKCDSA = Convert_ED25519_to_Curve25519_public_key(PublicKeyEdDSA)

是否可以将任何缓冲区视为ECKCDSA私钥?我知道,因为我们使用的是曲线和字段,可能会有一些限制(我真的对此一无所知)。

是否可以将每个EdDSA公钥转换为curve25519,或者某些公钥被排除在外?

如果没有命名这个转换,我想称之为Yaffe键转换。

EN

回答 1

Cryptography用户

发布于 2019-04-11 02:53:19

有人能告诉我我的转换技术是否有明显的问题吗?PrivateECKCDSA = First32Bytes(Hash512(PrivateEdDSA)) PublicECKCDSA =First32Bytes

这种转换没有任何意义。

  • 您所称的PrivateECKCDSAPublicECKCDSA之间没有任何有意义的联系,因此它们根本不构成密钥对。
  • 如果Curve25519是指X25519,那么公钥转换也没有意义,因为ECKCDSA需要一个完整的点,而不仅仅是一个x坐标。
  • 你为什么要在Curve25519上做ECKCDSA呢?有任何协议使用这个吗?
    • 如果您必须使用ECKCDSA,您很可能必须使用由KISA标准化的曲线,这不太可能与曲线edwards25519有任何关系。
    • 如果不需要使用ECKCDSA,为什么不直接使用Ed25519签名呢?

现在关于术语的一个注记: Curve25519是指\mathbb F_{2^{255} - 19}上的Montgomery曲线y^2 = x^3 + 486662 x^2 + x,X25519是Curve25519上x-restricted标量乘法的Diffie-Hellman函数。edwards25519是指\mathbb F_{2^{255} - 19}上扭曲的爱德华兹曲线,而Ed25519是指带有Edwards25519、SHA-512等的EdDSA实例。

是否可以将任何缓冲区视为ECKCDSA私钥?我知道,因为我们使用的是曲线和字段,可能会有一些限制(我真的对此一无所知)。

ECKCDSA私钥是一个近似均匀的随机标量模,它是曲线的阶数.对于具有256位顺序的曲线,如NIST P-256,通常可以使用统一的随机32位字符串作为私钥。

是否可以将每个EdDSA公钥转换为curve25519,或者某些公钥被排除在外?

无法有意义地将Ed448密钥转换为X25519密钥。但是,如果您的问题仅限于将Ed25519密钥转换为X25519密钥,那么答案基本上是肯定的: edwards25519和Curve25519在出生时等价于扩展到组同构的映射,而几乎每个Curve25519公钥都有两个对应的Ed25519公钥。然而,出生地图有少数例外情况,如u = 0v = -1等,所以要小心!

如果没有命名这个转换,我想称之为Yaffe键转换。

谁寻求同名,谁就能学会谦卑!

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

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

复制
相关文章

相似问题

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