我正试图通过在BIP32上运行来创建EKCDSA的类似于密钥派生的BIP32 32-EdDSA推导
有人能告诉我我的转换技术是否有明显的问题吗?
PrivateECKCDSA = First32Bytes(Hash512(PrivateEdDSA))
PublicECKCDSA = Convert_ED25519_to_Curve25519_public_key(PublicKeyEdDSA)是否可以将任何缓冲区视为ECKCDSA私钥?我知道,因为我们使用的是曲线和字段,可能会有一些限制(我真的对此一无所知)。
是否可以将每个EdDSA公钥转换为curve25519,或者某些公钥被排除在外?
如果没有命名这个转换,我想称之为Yaffe键转换。
发布于 2019-04-11 02:53:19
有人能告诉我我的转换技术是否有明显的问题吗?PrivateECKCDSA = First32Bytes(Hash512(PrivateEdDSA)) PublicECKCDSA =First32Bytes
这种转换没有任何意义。
PrivateECKCDSA和PublicECKCDSA之间没有任何有意义的联系,因此它们根本不构成密钥对。x坐标。现在关于术语的一个注记: 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 = 0、v = -1等,所以要小心!
如果没有命名这个转换,我想称之为Yaffe键转换。
谁寻求同名,谁就能学会谦卑!
https://crypto.stackexchange.com/questions/68682
复制相似问题