||
1939年,图灵(Alan Mathison Turing)被英国政府招到布莱奇利庄园(Bletchley Park)。这个占地580亩的庄园里当时住着几千人,目标只有一个:破解德国的“迷”密码机。图灵认为:要破解“谜”,就必须用机器对机器!半年后,英国就造出一台专门破解“谜”密码机的“炸弹”破译机——之所以叫着“炸弹(Bombe)”,是它用了密码学中的暴力破解法——也就是一个一个地猜出“谜”密码机加密的内容。“炸弹”一秒钟可处理2000个字符,可怕的是,英国人一口气造出40多台“炸弹”,这样不到一小时就可以“炸”出“谜”底来。
图灵不仅提出了计算机的概念,而且还发表了一篇《机器能思考吗?》的论文,这样,从未结过婚的他却被尊称为两个孩子之父:一个孩子是计算机科学,另一个孩子是人工智能。还有人说苹果手机商标的设计灵感也来自图灵之死——据说图灵是咬了一口含氰化钾毒药的苹果而自杀的。电影《模仿游戏》(The Imitation Game)就是一部图灵的传记电影。
图16 图灵(1912.6.23 –1954.6.7) 图17 “炸弹”(Bombe)破译机
有了计算机,加密技术也就步入了0和1的数字时代。1977年,美国宣布,IBM公司开发的数据加密算法作为数据加密标准(DataEncryption Standard,又称DES加密算法)。DES算法是用64位密码对64位数据进行加密。经过多次替换和移位后,原来的64位数据就加密成完全不同的64位输出数据。银行就是用DES加密算法来对我们信用卡、工资卡交易数据的加密。
可是,就在DES算法公布的当年,美国的一位程序员在互联网上号召大家来破解DES算法。依靠互联网的分布式计算能力,96天后,盐湖城的Michael Sanders在他的一台极为普通的个人电脑上成功地破解出DES加密的信息。2008年,德国SciEngines甚至公司宣称,他们可以在一天内破解DES加密的信息。更可怕的是:计算机的运算能力还一直在提高。
要让DES安全,办法只有一个:增加密码的长度。于是,2002年美国又宣布:用长度为128位的密码替代原来64位的密码,同时,加密算法也改了名字,叫着“高级加密算法”(Advanced Encryption Standard,AES)。
但不是名称有“高级”二字,你就很高级;也不能因为你叫“王高明”,你就很高明。高级加密算法也还是用相同的密码来进行加密和解密的(专家们称之为对称加密算法)。对称加密就像用完全相同的保险柜传送秘密文件一样,双方都有保险柜的钥匙。张三把数据放进保险柜、锁上、发给李四,李四用钥匙打开取出数据(解密);李四也可把她数据放进保险柜,发给张三,张三用相同的钥匙打开。就像图18一样。
图18 对称加密示意图
但是,通信双方怎么才能都有同样的钥匙呢?在现代通信中,通信双方通常连个面也不见呀?而且,高级算法之所以高级,相当于用多把钥匙来锁一个保险柜,钥匙多了,钥匙的保管与分发又成为一大难题。
1976年,美国的Whitfield Diffie和Martin Hellman提出一种不需要用相同钥匙的加密设想:当张三与李四通信时,张三先将没上锁的保险柜发给李四,李四将数据放进保险柜,关上——这种保险柜就像我们的防盗门一样,一关上就只能用钥匙打开了——再发送给张三。张三收到后,用自己的钥匙打开保险柜,就实现了李四到张三的保密通信,就像图20一样。同样,李四也有自己的保险柜和专门的钥匙,也可以先将开着的保险柜送给张三,张三放进数据关上后,再传给李四,李四就收到张三的加密数据(这个图就不画了)。
图19 Whitfield Diffie和Martin Hellman 图20 非对称加密中李四给张三信息示意图
这种非常聪明的加密方法叫做非对称加密(因为密码不一样嘛)。通常老师是这样讲的:非对称加密需要两个密钥:公钥(public key)和私钥(private key)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,也只有用对应的公钥才能解密。
那么如何设计一对密钥呢?麻省理工的三位数学家:R、S和L先生(Ron Rivest、Adi Shamir、Leonard Adleman)设计出以他们名字命名的RSA加密算法,实现了非对称加密算法。你要问怎么实现的——因为本文不打算涉及任何数学知识,免得读者不感兴趣——我只能告诉你:用公钥加密的数据,很容易用私钥解密;但你要从公钥中想破解私钥,那是很难很难的。
图21 RSA算法发明者——R先生、S先生、L先生
但是,非对称加密和解密的速度慢,要对大量数据加密就不适合了,而且,从公钥中破解私钥,尽管是很难很难的,但毕竟还存在着被破解的隐患。例如:RSA发明者之一Shamir就指出,只需要听取CPU运行时的声音就能够破解到4096位的RSA密码(见:RSA Key Extraction viaLow-Bandwidth Acoustic Cryptanalysis)。
那么,究竟有无绝对安全的保密通信方案呢?
香农说,我想到一种绝对安全的保密方案,就看你们后辈们能否实现了。
图22 香农(Claude Elwood Shannon,1916.4.30–2001.2.24)
香农的方案是这样的:密钥必须是完全随机的,其长度要不短于加密信息的长度,而且只用一次。在此前提下,如果你能实现密钥的秘密分发,那么肯定是绝对安全的。香农的这种方案又被称之为“一次一密”保密通信。
归纳一下,我们就会发现:香农的“绝对安全”保密通信成立需要两个条件:一个是能够产生大量的、随机的密钥(在数字时代,就是随机出现的0和1,即随机数);二是能够实现密钥的秘密分发。
我们先来看看第一个条件。随机数的产生有两种方式:一种是用计算机通过算法来产生,产生的速率很高,但随机性不能保证;第二种方法是利用自然界的物理熵源来产生随机数,可以保证是随机的,但产生的速率又太低,现有的随机数产品1秒钟也就产生几兆或几十兆个随机数。生产追不上消耗,那不行!
好消息是,我们利用物理熵源,已经做出了可以产生每秒10G的随机数发生器,你就是按照“一次一密”的加密方案来奢靡地消费密钥,现在也不怕了。如果你要免费使用密钥,也可以在我们建立的随机数网站(http://random-number.net)上自由下载,这些随机数都通过了世界上通用的随机数测试标准的测试。
图23 我们的随机数发生器样机
现在,实现香农的“绝对安全”的保密通信就集中到如何实现密钥的秘密分发了。
于是,量子密钥分发就“粉墨登场”了。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-1 09:22
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社