为什么公开密码的加密方法也可以不泄密?
身着戎装的信使策马飞奔绝尘而去,只为以最快的速度将机密情报送达,类似的场面常常出现在各种影视剧中。到了信息时代,信息传递的速度早已能实现日行千万里,但新的问题出现了,那就是如何让信息安全地传递?
传统密码主要应用于军事、外交和谍报等领域,其功能就是为信息加密。怎样才能让特定的人读懂,而让其他人无法破译是密码肩负的最重要使命。但是,人们发现,传统密码无法满足网络通信安全的需要。如果按照传统的方法,必须派遣可靠的信使或者通信双方见面才能传递密钥,然后依靠密钥解读信息,既麻烦又费时,令网络通信迅捷的好处大打折扣。因此,如何传递密钥,就成为网络保密通信的一大问题。
除了密钥,网络通信还必须解决认证问题,包括身份认证和内容认证。身份认证是要确认网络信息的发送者就是其所声称的那个人:既不容旁人冒名顶替,也不容本人事后否认。内容认证是要确认接收者所收到的信息正好是发送者所送出的:既不容外人篡改,也不容收/发者事后抵赖。
为了解决上述网络通信安全问题,美国著名的密码技术和信息安全专家迪菲和赫尔曼在1976年联名提出了“公钥密码系统”的方案。这套方案要求每位网络的通信者都拥有两个密钥,其中一个是对外保密的“私钥”,另一个是对所有人公开的“公钥”,这两把“钥匙”能互相开启,并且是唯一存在的。私钥和公钥都可以对信息加密,但私钥加密的信息须用对应的公钥解开,公钥加密则须用对应的私钥解开。使用“公钥密码系统”,网络上的双方无需传递密钥,只要有自己的私钥和对方的公钥就能进行保密通信。其操作如下:
假设甲要向乙发保密信息。甲就先用乙的公钥把信息加密,然后发给乙;乙收到信息后,必须用自己的私钥进行解密,才能看到信息的原文。对于其他任何人来说,由于他们并不掌握乙的私钥,所以不可能看到原文。这样就保证了内容的保密和安全。
使用“公钥密码系统”也能够解决身份认证问题。甲要通过网络给任何人发信息时,可以先用自己的私钥给信息加密,再把它发出。这就相当于甲给所发的信息“签上”了自己的“数字签名”。要想看到这些信息,接收方只能使用甲的公钥进行解密后才行。这就证明了该信息是由甲发出的,而不可能是其他人,并且其内容并没有被篡改。
迪菲和赫尔曼所提出的公钥密码系统是密码学思想的一场革命:它能解决公共网络通信的安全问题,让网络强大的信息传输能力在人类的社会活动中发挥最大的效用。
【知识点】世界上最早的密码工具
早在公元前400年左右,雅典与斯巴达战争期间就使用了密码工具。斯巴达士兵在敌方信使的身上搜出一条写满希腊字母的长布条,但这些杂乱无章的字符无法阅读。原来,只要将布条缠绕在合适的木棒上,那些字母就能组合成一段段文字。斯巴达军队正是根据这份情报大举破敌。在密码学中,加密和解密所需的参数被称为密钥,它的作用就如同那根特定的木棒;密钥(木棒有多粗)只能由通信双方掌握,不容外泄,否则密码系统就遭破解。