公钥密码
—— 用公钥加密,用私钥解密
密钥配送问题
在现实世界中使用对称密码时,我们一定会遇到密钥配送问题(key distribution problem)。尽管一开始可能觉得这并不是什么大问题,但这个问题确实很难从根本上得到解决的。
解决密钥配送问题的方法有以下几种:
- 通过事先共享密钥来解决
- 通过密钥分配中心来解决
- 通过Diffie-Hellman密钥交换来解决
- 通过公钥密码来解决
通过事先共享密钥来解决
密钥配送问题最简单的一种解决方法,就是事先用安全的方式将密钥交给对方,这称为密钥的事先共享。
要想事先共享密钥,就要一定安全的交给对方,如果两个人非常近,则可以,如果是网上认识的,或者距离很远,用邮件,就可能会被窃听的。此外,如果在人数很多的情况下,所需要的密钥数量也非常的多,这就产生了问题。
通过密钥分配中心来解决
如果所有参与加密通信的人都需要事先共享密钥,则密钥的数量会变得非常巨大,在这样的情况下,我们可以使用**密钥分配中心(Key Distribution Center,KDC)来解决密钥配送的问题。
当需要进行加密通信时密钥分配中心会生成一个通信密钥,每个人只要和密钥分配中心事先共享密钥就可以了。
在公司中,我们先配置一台充当密钥分配中心的计算机。这台计算机有一个数据库,其中所了公司所有员工的的密钥。当新员工入职时,密钥分配中心会给该员工生成一个新的密钥,并保存到数据库。这样密钥分配中心有了所有员工的密钥,每个员工拥有自己的密钥。
尽管密钥分配中心有效,但也有局限性。如果密钥分配中心发生故障,全公司的加密通信就会瘫痪。
如果攻击者,对密钥分配中心下手,则后果就会十分严重。
因此如果要使用密钥分配中心,就必须妥善处理上述问题。
通过Diffie-Hellman密钥交换来解决密钥配送问题
Diffie-Hellman密钥家伙,这里的交换,并不是指东西换了需要换一个,而是指发送者和接收者之间相互传递信息的意思。
Diffie-Hellman交换中,进行加密通信的双方需要交换一些信息,而这些信息即便被窃听者窃听到也没有问题。
根据双方贾环的信息,双方可以各自生成相同的密钥,而窃听者却无法生成相同的密钥。窃听者虽然能窃听到双方交换的新,但却无法根据这些信息生成和双方相同的密钥。
通过公钥密码来解决密钥配送问题
在对称密码中,加密密钥和解密密钥是相同的,但公钥密码汇中,加密密钥和解密密钥却是不同的。只要拥有加密密钥,任何都可以进行加密,但没有解密密钥是无法解密的。因此,公钥密钥的一个重要性质,就是只有拥有解密密钥的人才能够进行解密。
网友评论