cve*_*ver 5 encryption rsa digital-signature
通过加载包含 RSA 私钥的预创建 .key 文件,只有我注意到,它包含以下数字:
Modulus (private modulus)
Exponent (private exponent)
P (prime exponent)
Q (prime exponent)
DP
DQ
InverseQ
Run Code Online (Sandbox Code Playgroud)
我将密钥文件保存在存储空间非常小的地方(便携式)。我想只保存模数和指数。我知道 P、Q 和 E 对于创建模数和指数是必要的,但是:
问题:
当 PrivateModulus 和 PrivateExponent 足以签名和解密消息时,将所有这些数据保存到 .key 文件的目的是什么?
那么,您需要公钥 Modulus用于Exponent加密,还需要私钥 用于解密和签名。ModulusD
P并且Q可能只是为了安全而添加到那里,因为没有有效的方法从其他给定值重建它们。因此,如果您的文件D被损坏,您可以重建它,或者如果可能特殊的实现需要它们进行一些数学技巧来优化计算。
DP一些实现使用、DQ和 的值来使用中国剩余定理InverseQ计算RSA,以加快整个过程。
DP = D mod (P - 1)
DQ = D mod (Q - 1)
InverseQ = Q^-1 mod (P - 1)
Run Code Online (Sandbox Code Playgroud)
有关其工作原理的更多信息,最好查看此crpypto.stackexchange-question或Wikipedia-article。