RSA - 您可以从私钥创建公钥吗?

Ste*_*ven 9 encryption cryptography rsa

我正在为实验室项目创建加密策略,并想知道是否存在仅从私钥创建公钥的功能?

否则,公钥只能与某个密钥生成器的私钥同时创建吗?

PS快速谷歌没有真正的帮助.

Tho*_*nin 14

私钥和公钥一起创建.此外,RSA私钥的标准存储格式包括所有公钥字段,因为它对优化的实现和屏蔽(防止某些侧通道攻击)很有用.请参阅RSA标准本身:PKCS#1.

编辑:问题已被编辑,它最初只是RSA.对于其他非对称算法,不要求公钥可以从私钥派生,也没有任何相反的要求.对于基于离散对数的算法(Diffie-Hellman,El-Gamal,DSA以及所有这些算法的椭圆曲线变体),可以从私钥轻松计算公钥.可以设想简并RSA,其中私钥的知识不允许重建公钥,但是这不需要存储良好性能所需的一些关键元素(完整细节,存储RSA模数因子允许)通过中国剩余定理进行4倍速度增强,所以每个人都存储因子).在更概念的基础上,公钥是公共的,所以假设"每个人"都知道它; 实际上,私钥存储格式几乎总是包括用于存储公钥的规定,或者至少包括用于重建公钥的足够数据.


jkr*_*ill 8

是的,你可以这样做(对于一些,可能不是全部,pkc方案).从ssh-keygen man文件:

-y读取私钥文件并打印公钥.

  • +1.但这可能实际上并不"创建"公钥,它只是从私钥文件中提取它(它与私钥一起存储). (3认同)