世界互联网大会正在乌镇办得如火如荼,《北京日报》的一篇报道称北京有望明年用上量子通信网,称量子通信技术“可以保证无条件安全的信息安全和沟通”,换句话说,“无条件安全”指的就是“绝对安全”。
《北京日报》2015年12月19日的报道
不过可惜的是,这篇报道写得非常混乱,标题说的是量子通信,里面一大半却在说量子计算机,而且很多地方说得驴唇不对马嘴。量子通信和量子计算机尽管都是建立在量子物理的基础上,但它们其实是完全不同的两种技术,就像同一片土里长出的土豆和玉米一样,硬要放在一起说简直是添乱。那么量子通信到底是怎么一回事?所谓“绝对安全”到底是真的还是吹的呢?
有没有绝对安全的密码?
听到“绝对”两个字,大部分人都会觉得不靠谱,世界上哪有什么绝对的事呢?答案恐怕出乎意料,绝对安全(即无条件安全)的密码是存在的,而且是早在100多年前就已经存在的,这种密码叫做“一次性密码本”(one-time pad,简称OTP)。
OTP为什么这么神奇?其实OTP的原理非常简单,首先我们将要加密的明文编码成二进制序列,然后我们生成一串和明文长度一样的完全随机二进制序列作为密钥,将明文和密钥做异或(XOR)运算就得到了密文,而接收者用密文和密钥再做一次异或运算就能够还原出明文。
就这么简单?对,就这么简单。开玩笑,这种东西会是绝对安全的?没错,绝对。因为密钥是完全随机的,而且和明文长度一样,这就意味着密钥空间和明文空间的大小是相等的。换句话说,如果攻击者用穷举法穷举了所有可能的密钥,就相当于穷举了所有可能的明文,而攻击者无法从所有的可能性中判断出哪一个才是发送者所要发送的明文,因此穷举对于OTP来说是毫无意义的。
上面的解释有点绕?我们举个例子。假设发送者要加密的明文是12345
,攻击者在不知道密钥的情况下进行穷举,那么他会得到5个字符的所有排列组合,比如54321
、12345
、88888
、ABCDE
、*&#^!
……既然所有的可能性都会出现,那么如何判断哪一个才是真正的明文?不可能。
事实上,OTP的绝对安全性已经由信息论之父克劳德·香农于1941年在数学上进行了完美而严格的证明,不存在任何可能性能够在不知道密钥的情况下破解OTP。那么问题来了,为什么在100年之后的今天,我们还没有用上OTP呢?这是因为OTP在现有的技术条件下,几乎完全没有实用价值。
OTP的绝对安全性需要几个条件:1) 密钥必须是完全随机的(不可预测、不可复现);2) 密钥必须与明文等长;3) 密钥只能使用一次。上面这三个条件实际上在现实中几乎做不到,因为密钥和明文等长,而且只能使用一次,如果我有办法把这么长的密钥安全地发送给对方,那么我为什么不干脆直接把明文发送给对方呢?OTP不是脱裤子放屁吗?正是因为这样,一直以来OTP仅在一些不计成本的非常高级别的通信中才会用到,比如说事先编写一部特别特别长的密码本,派特工直接交到对方手里,然后双方在以后的通信中就可以用OTP了,当然了,由于OTP的密钥是一次性的,因此密码本全部用完之后就得再送一本新的……
量子通信:OTP的第二春
等等,我们不是讲量子通信吗,怎么扯了半天OTP?之所以要讲OTP,是因为量子通信实际上就是基于OTP的,只不过因为量子通信所独有的一些特点,让OTP这个脱裤子放屁的玩意儿真正有了实用价值。
好了,现在我们讲什么是量子通信。量子力学的很多理论听起来都特别不可思议,所以我们不讲太细,我们先记住一个重要的原理:某个光子的状态是无法准确测量的,因为测量这个行为本身就会改变它的状态(海森堡不确定性原理)。量子通信就是利用了这一原理,简单来说,发送方在量子信道生成并发送一串状态随机的量子比特(偏振方向不同的光子),接收方则用随机的测量基准对这些量子比特进行测量。当然,由于不确定性原理的存在,接收方是无法准确测量每一个量子比特的,其中一半是测错了的,但双方可以通过某种特定的协议,利用普通信道(不需要加密)对测量基准进行对比,然后各自丢弃测错了的那一半,剩下的量子比特都是被正确测量的,把正确的量子比特连起来,就形成了一串双方内容一样的二进制序列,这就相当于双方“协商”出了一串完全随机的二进制序列。如果有人在量子信道对这一过程进行窃听,那么窃听者也必须对信道中的量子比特进行测量,由于不确定性原理的存在,窃听者同样无法准确测量出所有比特的状态,而且测量行为本身还会改变其中一半比特的状态,通信双方在进行测量基准对比的阶段就会发现这些改变并丢弃被干扰的比特,因此窃听行为本身就是无效的。
如果上面这一段没看懂,我实在想不出更好的方法来解释,因为量子力学本身就不太符合我们的常识。这样吧,我们暂且记住这样一条结论:量子通信的核心是“量子密钥分发”,即双方可以安全地“协商”出一串内容相同且完全随机的二进制序列,第三方无法窃听。这里我们需要注意一点,量子密钥分发只能用来“协商”出一串内容相同的二进制序列(双方事先都无法确定最终协商出来的序列的准确内容),而并不能用来传送信息本身,因为根据不确定性原理,传送的量子比特中一半都是要被丢弃的。
有了一串完全随机的二进制序列,我们可以做什么?没错,我们就可以用OTP了呀!因此完整的量子通信实际上是这样工作的:1) 双方通过量子密钥分发协议协商出一串随机密钥;2) 发送方用协商的密钥对明文进行OTP加密;3) 发送方通过普通信道(如因特网)将密文发送给接收方;4) 接收方用协商的密钥进行解密。这样一来,我们就完成了一次基于量子密钥的OTP通信。
香农大神说,只要你有办法安全协商密钥,OTP就是绝对安全的;海森堡大神说,利用量子力学的不确定性原理就能安全协商密钥。把这两个特性加起来,量子通信就是“绝对安全”的,货真价实,一点都不夸张,除非量子力学从头到尾就是错的。因此,量子密码很有可能就是密码学的终极形态,如果量子通信能够真正进入实用领域,那必将是一个历史性的时刻。
原文发布时间为:2015.12.22
本文作者:周花卷
本文来源:简书,如需转载请联系原作者。