汉唐归来
惟有中华

袁岚峰:“绝对安全”的量子密码|2019-05-14

导读

人们说量子密码具有绝对安全性,意思是指量子密码不可能用数学方法破解,要窃密只能用物理方法攻击设备。在对传统密码的破解中,主要考虑数学破解,是因为用数学就“有可能”破解它们,而不是“只有”用数学才能破解它们。量子密码术和传统密码术的对比,是量子密码术面临的威胁只来自物理,传统密码术面临的威胁来自数学加物理!也就是说,只要量子通信设备是可靠的,那么就绝对不会泄密。

人们说量子密码具有绝对安全性,意思是指量子密码不可能用数学方法破解,要窃密只能用物理方法攻击设备。也就是说,如果设备是可靠的,那么就绝对不会泄密。

 

传统密码术

 

密码术的基本目的是为了解决一个问题:如何在不安全的信道上,安全地传输信息?

 

解决办法是通信双方隐藏一些信息,在不安全的信道上只传送密文,用这些隐藏信息把密文还原成明文。这些隐藏信息就叫作密钥。所有的密码术都包含两个元素:密钥和算法。

 

现在的绝大多数加密方法,都是基于某种数学问题的单向困难性。也就是说,一个问题沿着正方向解决很容易,你可以用它来加密,但逆方向就很困难,导致破解很困难。

 

现在最常用的密码体系——RSA密码体系的三位发明者

 

为什么许多曾经被认为牢不可破的密码体系,最终都被破解了呢?有一个深刻的原因是,在数学上,任何一个实际在用的问题都没有被证明是单向困难的。实际上,就连单向困难的数学问题是否存在,我们都还不知道。

 

  因此,我们应该有个基本的概念:所有基于数学的密码的安全性,都是未经证明的!到目前为止,唯一的已经证明不可能被数学破解的密码就是量子密码。因此,量子密码的价值一目了然。

 

量子密码术

 

量子密码术是怎么实现保密的呢?跟传统密码术一样,也是通过算法和密钥。实际上,量子密码术用的算法还是个特别简单的算法,简单到三言两语就能说清楚。

 

任何一串信息,都可以表示成一串二进制字符,即一串 0 和 1。对这个 01 字符串的每一位数字a,我们都给它一个对应的密钥 k,这个也是一个 0 或 1 的数字。根据k,就可以算出对应的密文 b,它也是一个 0 或 1的数字。

 

对应的规则是:如果 k= 0,那么 b就等于 a;如果k= 1,那么就等于 0 和 1 中不等于 的那一个。也就是说,= 0 就把 0 变成 0,1 变成 1,而 =1 就把 0 变成1,1 变成 0。再简单一点说, k= 0 就不变, k= 1 就将 0 和1 互换。这个算法叫作“异或”。

 

你也许会感到奇怪,那么多复杂的算法都保不了密,这个最简单的算法凭什么可以?

 

诀窍不在于算法,而在于密钥。请注意,这里的密钥不是只有一位数字。如果只有一位数字,那当然完全没有保密效果。实际情况是,对于原文的每一位,都相应地有一位密钥。也就是说,如果原文的长度是位,那么密钥的长度也是n位。如果原文像《红楼梦》那么长,那么密钥也需要这么长。

 

 

《红楼梦》

 

另外,这串密钥的字符串还必须是个随机的字符串。也就是说,每一位都是随机的 0 或者 1,任意两位数之间,没有任何联系。

 

此外,这么长的密钥,还只能用一次。也就是说,你这次用位的密钥传输 n位的原文,下次你传同样的内容,还必须从头再来,重新构造 n位的密钥,千万不能把原来的密钥再用一次。这叫作“一次一密”。

 

量子密码术中的密钥就是满足这样 3 个条件的字符串:长度跟明文相等,随机,一次一密。

 

为什么要这样做呢?因为这样就绝对不会被数学方法破译。为什么不可能被破译?因为这样的一段密文,可能对应任何的一段跟它等长的明文,而且概率相等。比如说,既可能对应“明天上午向东进攻”,也可能以同样的概率对应“后天下午向西撤退”或“飞出地球移民宇宙”……

 

对这样没有任何偏向性的密文,数学分析完全无从下手,因为这里根本就没有一个让你解决的数学问题。

 

长度跟明文相等、随机、一次一密,满足这 3 个条件的密钥叫作“一次性便笺”。因此,密码学中一个重要的定理就是:用一次性便笺加密的密文,是绝对不可破译的。这条定理是信息论的创始人克劳德·香农证明的。

 

克劳德·香农

 

值得注意的是,一次性便笺中的 3 个条件缺一不可。无论是密钥长度小于明文,还是密钥的各位之间有联系,还是同一串密钥用了两次,都会导致密文呈现某种结构,这样对手就有了着力之处,就可能通过频率分析之类的手段破解密码。

 

一次性便笺方法早在第一次世界大战的末期就发明了,但很少实际应用。原因是,传送这样大量的密钥非常困难。如果像《红灯记》《潜伏》等谍战片一样,派信使去传密钥,那么一旦信使被抓或叛变,损失将十分巨大。因此,一次性便笺方法只用在不惜任何代价要保证信息安全的地方,例如国家元首之间的通话。

 

量子密码术改变了这种状况,它的办法是:用量子力学的物理方法,在通信双方之间产生一次性便笺密钥。这里的关键是:双方同时获得了密钥!没有第三者信使在中间传输!

 

这是非常巧妙的思想,是量子力学创造的奇迹。量子密码术的技术含量,就是表现在这里。量子密钥的产生过程,同时就是分发过程,因此量子密码术又有个专业名称,叫作“量子密钥分发”。

 

量子密钥分发

 

那么,量子密码术是怎么实现无信使的密钥分发的呢?一个简略的解释是:量子密码术利用了量子力学中的两个原理,一个是叠加原理,另一个是测量可能导致状态突变。基于这两个原理,通过发射和接收一系列处于随机状态的单光子,来使通信双方获得一串相同的随机字符串。这串随机字符串就是一次性便笺密钥。

 

量子力学中的叠加

 

量子力学中的测量

 

通过一系列操作以后,双方都获得了一串随机的 0 和 1,比如说0010111001001010101……最重要的是,双方的这个字符串完全一样。这就是最终的效果。

 

有了密钥之后,就用“异或”加密算法,用密钥把明文加密成密文,把密文发送出去。既然密文已经是不可破译的了,这一步就不需要任何特别的设备,直接在传统信道上大摇大摆地走就是了,敌方截获也无妨。

 

一个常见的误解,是以为最后的信息传送要通过某种量子信道。当他们知道传统信道就行的时候,就感到大惑不解,甚至以为搞量子通信的都是骗子。

 

另一个常见的误解,是以为密钥也要通过传统信道传输。这是绝对不可能的,如果要将密钥通过不安全的信道发出去,那就完全失去了保密的意义。任何密码系统都不会愚蠢到这种程度。

 

总结一下,量子密码术真实的做法是:用量子信道产生密钥,用传统信道传送密文。你也许想问:既然量子信道可以保证不泄密,那为什么不直接用量子信道传输信息,而只是传输密钥呢?因为这种量子力学的操作只能产生随机字符串,随机字符串的信息量是零,所以这种操作本身不能传输信息。因此,这种方法的提出者在很长时间内想不出它有什么用,直到发现这段随机字符串可以作密钥,才让这种方法有了用武之地。

 

量子密码的攻防

 

如果需要破解量子密码,又该怎么办呢?基本的框架其实很简单。既然数学方法不可能破译量子密码,那么唯一的途径当然就是物理方法,用各种手段入侵量子通信设备。

 

在对传统密码的破解中,主要考虑数学破解,是因为用数学就“有可能”破解它们,而不是“只有”用数学才能破解它们。

 

因此,量子密码术和传统密码术的对比,并不是前者的威胁只来自物理,后者的威胁只来自数学。应该是量子密码术面临的威胁只来自物理,传统密码术面临的威胁来自数学加物理!

 

量子密码术现在的研究前沿,就是在假定敌方成功地进行了若干种物理攻击的前提下,仍然能够保证信息不泄露。

 

一个研究前沿叫作“测量仪器无关的量子密钥分发”。这个术语的意思是,即使敌方获取了我们的测量仪器,我们仍然有办法及时发现并中止生成密钥,从而避免泄露信息。这方面的实验验证已经成功,下一步是提高成码率的问题。在这个领域,中国也走在世界前列。

 

 

赞(0)
请您分享转发:汉风1918-汉唐归来-惟有中华 » 袁岚峰:“绝对安全”的量子密码|2019-05-14
分享到