首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Curve25519密钥结构

Curve25519密钥结构
EN

Cryptography用户
提问于 2020-07-01 14:59:39
回答 1查看 180关注 0票数 3

关于曲线25519的文件中,公钥q的集合是\{q : q\in \{ 0,1,2,...,2^{256} - 1\}\},私钥的集合n\{n : n\in 2^{254} + 8 \cdot \{ 0,1,2,...,2^{251} - 1\}\}

我的主要问题是:为什么公钥和私钥的结构是这样的?

我不明白的是:在定理2.1中,q被定义为F_p的一个元素,q也是Curve25519函数中的一个参数:Curve25519(n,q) = X_0(nQ) = sX_0 (Q) = q。那么为什么一组公钥不等于\{q : q\in \{ 0,1,2,...,F_p - 1\}\}呢?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2020-07-01 15:21:03

来自同一份文件:

  • 在密匙中使用前导1的固定位置;
  • 将秘密密钥乘以2的小幂,说明曲线组和扭曲组中的辅助因素。

第一种方法是使标量乘法始终具有相同的循环迭代次数,这是由于常数时间的原因。第二种方法确保得到的点属于素数阶子群:如果有人发送一个小阶点,那么标量乘法的结果将自动为0,因为密钥是辅助因子的倍数(见本文第8页)。

对于公钥,只有任何值q对应于属于曲线或其二次扭曲点的有效x-coordinate。当然,您只能在[0,2^{255}-20]中使用它们,但重点是它适合于32字节,并且任何32-byte值都是有效的。

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

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

复制
相关文章

相似问题

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