【发布时间】:2017-12-04 01:22:49
【问题描述】:
我最近在计算机科学课程中学习了公钥/私钥加密,以及它在数据加密/解密方面的工作原理。我们还介绍了它如何用于数字签名。但是,我们没有详细说明实际密钥是如何自己生成的。
我知道它以一个非常大的数字开头,然后通过某种 keygen 算法传递,该算法返回两个不同的密钥,一个是私有的,另一个是公共的。这些算法是已知的还是黑盒系统?一个用户是否总是有相同的一对密钥链接到他们,或者他们是否在任何时候都改变过?
这似乎是一个非常数学的问题,因为密钥是相互关联的,但其中一个不能从另一个推导出来。
【问题讨论】:
-
感谢您花时间为您的问题绘制图纸。
-
PK 加密的一般类比是将它们视为至少分两步计算的数学恒等式。对于 RSA,使用带有指数的身份...加密应用一步(求幂),解密(也是求幂)完成身份以达到等于“1”的指数...将消息返回给它原始状态。对于 EC ElGamal,它是相同的概念,但在循环组上使用组运算符:加密在循环中以某种方式发送消息,而解密将其推向其余的方式以完成 1 个循环。
标签: encryption cryptography public-key-encryption private-key key-generator