首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以用任何数字作为ECC密钥吗?

我可以用任何数字作为ECC密钥吗?
EN

Cryptography用户
提问于 2018-03-15 18:36:10
回答 1查看 904关注 0票数 5

我一直在研究椭圆曲线密码学,并一直试图了解我如何能够和不能使用它。请注意,这是一个业余项目,我不会为任何严肃的事情做我自己的密码系统。

我正在尝试创建一个椭圆曲线密钥对,它依赖于其他密码函数的输出。据我所知,ECC中的密钥是基于曲线上的一个点,而不是使用一对素数的RSA。

这是否意味着我可以使用长度正确的随机位(或散列输出)作为曲线(如Curve25519 )的私钥?

我很难找到关于这个主题的信息,但我知道即将发布的系统SQRL (https://www.grc.com/sqrl/crypto.htm,“SQRL的底层密码技术”)提到了使用这种系统。如果我还不明白,这是怎么回事?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-03-15 22:12:25

您必须为特定的答案指定一个特定的密码系统。通常,在基于椭圆曲线的密码体制中,秘密密钥涉及一个标量,它是一个整数,它位于曲线上一个群的点数范围内,可能受到一些约束,并且从所有可能的可能性中随机选择。如果你用一个足够熵的秘密来得到它,然后把它压缩到正确的范围,那就没问题了。

在Diffie-Hellman函数X25519中,秘密密钥传统上是由256位组成的任意字符串,其中有些位被屏蔽,因此Curve25519标量是在$2^{254}$和$2^{255}$之间的8倍的均匀随机选择,原因有两个:[1][2]

在签名方案Ed25519中,存在针对不同应用程序和性能约束的几种不同形式的秘密密钥。出于兼容性原因,通常在被解释为edwards25519标量的比特上执行相同的掩蔽操作,尽管在更奇异的应用程序中有其他问题

在素数阶曲线群(如NISTP-256或secp256k1 )上的ECDH和ECDSA中,密钥通常是低于该组阶的正整数的规范编码,这必然也是标准基点的顺序。大多数ECDSA是在具有素数阶且不考虑扭曲安全性的曲线群上完成的(例如,NISTP-224中二次扭转阶的最大素数因子只有118位,在ECDLP可行性的范围内),与X25519和Ed25519不同,它们工作在辅助因子8的曲线组中,其二次扭转具有协因数4。

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

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

复制
相关文章

相似问题

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