公钥密码学的诞生
1. 对称算法与公钥算法概述
在密码学的发展历程中,早期我们接触到的大多是对称算法。对称算法的特点是解密密钥与加密密钥相同,或者可以很容易地从加密密钥计算得出,比如矩阵加密。在经典密码学里,这两个密钥往往是完全一样的。
Diffie和Hellman的研究具有革命性意义。他们意识到自己论文的重要性,但也明白这并非该领域的最终定论。他们提出了开发公钥密码系统的一些技术,但问题仍有很大的探索空间。Diffie - Hellman方案公开地生成了密钥,这种做法启发了更多人去寻找类似的技术。公钥算法的共同特点是使用非对称密钥,即加密密钥和解密密钥不同,并且很难从一个密钥计算出另一个密钥。
2. RSA算法:来自MIT的解决方案
RSA算法由MIT的三位教授Ron Rivest、Adi Shamir和Len Adleman开发。该算法不需要在发送密文之前发送任何消息,接收者的加密密钥可以公开,而解密密钥很难从加密密钥计算得出。
RSA算法的诞生并非一帆风顺。开发者们最初的32次尝试都失败了,直到三年后才找到可行的方案。有一个有趣的轶事,Shamir在滑雪时突然有了新方案的灵感,但兴奋之下忘记了具体内容。
在了解RSA算法的工作原理之前,我们需要回顾一些数论知识。
2.1 Fermat小定理(1640)
如果p是质数,a不是p的倍数,那么$a^{p - 1} \equiv 1 \pmod{p}$。Fermat提出了这个定理,但未给出证明。后来,Euler在1760年对其进行了推广。
Euler的推广可以简洁地表示为:若$(m, n) = 1$,则$m
超级会员免费看
订阅专栏 解锁全文
53

被折叠的 条评论
为什么被折叠?



