重磅解读 | 赵义博:量子密码的绝对安全只存在于理论

导语

近日,中科大量子物理博士赵义博就量子密钥的安全性作了如下阐述:绝对安全被证明只存在于理论,实际应用中只能逼近该理论极限,而无法直接实现。量子密钥在实际应用中可以划分安全级别。



量子密钥分配技术最早在1984年被提出,一直被贯以绝对安全的称号,被认为是绝对无法被破译的密码技术。然而,不少业内人士对量子密钥的“绝对安全性”始终存疑。究竟我们该如何理解量子密钥的安全性?近日,中科大量子物理博士赵义博就量子密钥的安全性作了如下阐述:绝对安全只存在于理论,实际应用中只能逼近该理论极限,而无法直接实现,量子密钥在实际应用中可以划分安全级别。


量子密码的安全性证明是极其复杂的数学和物理学课题,经过了许多极其聪明的数学家和物理学家的不懈努力才得以弄清。最早对安全性证明贡献比较大的科学家包括加拿大多伦多大学Hoi-Kwong Lo、美国加州理工学院物理学家John Preskill、麻省理工学院的Peter Shor、瑞士日内瓦大学的Nicolas Gisin、滑铁卢大学物理与天文学系Norbert Lutkenhaus等。后来韩国学者Won-Young Hwang、清华大学的王向斌等也发挥了重大作用。近期,比较活跃的有瑞士苏黎世联邦理工学院的物理学家Renato Renner、加拿大滑铁卢大学量子入侵实验室的Vadim Makarov等人。

重磅解读 | 赵义博:量子密码的绝对安全只存在于理论

重磅解读 | 赵义博:量子密码的绝对安全只存在于理论

密钥

重磅解读 | 赵义博:量子密码的绝对安全只存在于理论

经过多年的证明,他们形成了如下结论:如果以下假设能满足,量子密钥可以做到绝对安全


假设

1.量子力学是成立的;

2.协议执行时间足够长,码长趋于无穷;

3.设备和仪器是可信的;

换言之,只要上述条件能够满足,即使使用量子计算机也无法破解量子密钥。这也就是此前很多媒体宣传量子密钥绝对安全的来源。但具体实现中会有很多问题导致上述第2、3条假设无法满足。例如,实现量子密码的设备无法做到可信、协议执行时无法做到码长无穷,这些因素都会影响量子密钥的安全性。

重磅解读 | 赵义博:量子密码的绝对安全只存在于理论

最早Makarov就发现,如果实际实现中的单光子探测器设计不合理,会导致系统被攻破,甚至量子密钥毫无安全性可言。之后,大量学者做了更深入研究,找到了各种器件不完美导致的安全性漏洞,并给出弥补方法。但此发现打破了量子密钥绝对安全的神话,量子设备也可能有漏洞,由此逐步引发了测量无关方案的研究。


Renner对有限长密钥的安全性做了系统性研究,证明了码长有限的情况下,安全性只能以概率保证,并严格给出了安全概率和码长的关系。从其结论可以看出,只有码长无限长才能实现100%概率安全。如果码长过短可能导致安全概率很低。安全概率是极其复杂的数学问题,目前国际上都是几个数学高手在做,国内只有少数学者在做。 以上两方面的研究都说明实际中的安全性只能逼近理论上的100%绝对安全,而无法达到。更困难的是,逼近绝对安全的过程极其复杂,无论对设备实现还是后处理算法均是挑战。


在密钥的实际运用中,也会再次遇到安全性的问题:在拥有大量对称密钥后不同的使用方式也会导致不同的安全结果。目前,我们所讲的安全性是基于信息论创始人Shannon的定义,Shannon在上世纪40年代定义了无条件安全,他提出当密钥与明文等长,并且使用一次一密加密时,可以做到无条件安全,无论任何手法都无法破译。不过,在使用量子密钥的过程中,由于量子密钥的传输速率低,而传统通信又是高速通信,根本无法做到密钥明文等长的一次一密。



为了有效的使用量子密码技术,赵义博博士建议采用如下方案:在语音等低码率通信并且安全强度要求极高的情况下,可以使用明密文等长的一次一密;在安全性要求次之的情况下,可以使用一包一密,由于包可以很大,所需密码可以很短,从而实现高速通信;在普通情况下,可以采用每秒钟更换多次密钥和多包一密的模式,实现高速安全通信。实际上,即使多包一密也是每秒钟更新多次密钥,其安全系数远远超过了目前传统通信中几天更新密钥甚至完全不更新密钥的方式。


总而言之,在赵义博博士看来,实际运用中量子密钥只能逼近100%绝对安全而无法直接实现。相比于传统密码学,量子密码的优势是其安全性在弱假设下完全可证,并且其可证的安全性包括对抗量子计算机在内的一切可允许的手段。从安全性可证明的角度来说,量子密码可能是终极密码。另外,根据实际情况和安全强度所需,调节密钥更新和使用方法是一个很好的选择。


原文发布时间为:2017-03-17
本文作者:罗恩·考恩
本文来源:量子趣谈,如需转载请联系原作者。

上一篇:Navigate 2017 | 新华三物联网战略解读


下一篇:Android基于PinnedSectionListView实现联系人通讯录