量子计算机
最近看见量子传输通道在国内某块ZF内部已经建立起来了,着实吓了一跳,毕竟现阶段的大部分加密方式都没有考虑过量子计算机的威胁。因此个人觉得还是有必要了解一下基础的。当然,本人不是物理专业,所有仅从计算机层面来简述一个基础。
量子计算机是用量子逻辑进行运算的计算机,相较于传统计算机,理论上量子计算机能让计算量飙升数十甚至百倍,因此在摩尔定律逐渐趋于极限的现在,量子计算机也是未来的一种方向。
关于量子计算机**现存密码学,其实也仅仅是因为量子计算机的算力巨大,导致原本计算机集群需要算一个月的数据,量子计算机只要数秒,这样现阶段RAS,SHA256等算法的长度变得完全不够看了。
量子密码学
量子的特性不仅仅能建造计算机,也可以用来建立一种基于量子特性的加密方式。不过首先,得了解两个量子的基本理论:海森堡测不准原理,量子不可复制定理
海森堡测不准原理
该原理表明:一个微观粒子的某些物理量(如位置和动量,或方位角与动量矩,还有时间和能量等),不可能同时具有确定的数值,其中一个量越确定,另一个量的不确定程度就越大。
量子不可复制定理
不可复制原理,也称作不可克隆原理,是 “海森堡测不准原理”的推论,它表明:在不知道量子状态的情况下复制单个量子是不可能的。
如果量子态是已知的,我们可以重复的制备它。困难在于我们不能通过单次测量来获知量子系统的确切特性。因为一旦进行测量,原来量子态就改变了,测得到结果只是组成此量子态的各种可能状态之一。
BB84
基于上述两种特性,便可以延伸出一种BB84加密方式。这种加密方式的想法来自一次性密码本(One-time pad),在我以前密码学的Blog中也提到,一次性密码本是世界上安全性最高的加密方式,不过唯一的问题就在于如何交换密码本,而BB84就提供了这种方式。
具体的BB84协议流程如下:
(1)单光子源产生一个一个的单光子;
(2)发送方Alice 使用偏振片随机生成垂直、水平、+45°或-45°的偏振态,将选定偏振方向的光子通过量子通道传送给接收方Bob;
(3)Bob 随机选用两种测量基测量光子的偏振方向;
(4)Bob 将测量结果保密,但将所用的测量基通过经典通道告知Alice;
(5)Alice 对比Bob选用的测量基与自己的编码方式,然后通过经典通道告诉Bob哪些基和她用的不同;
(6)Bob 扔掉错误基的测量结果(统计上会扔掉一半的数据);
(7)Alice 和Bob选取一部分保留的密码来检测错误率,如果双方的0、1序列为一致,则判定没有窃听者Eve窃听,剩下未公开的比特序列就留作量子**本。
如上图所示,假设B1偏振片检测水平,垂直为1,其余为0,B2检测45度为1,其余为0,Alice要发送1100101101字符串。
按照第一个字符看,Alice 发送了垂直的偏振态,Bob随机选择B1,B2接受,这里Bob有幸选对,Bob再传回所用偏振片,这里是B1,Alice收到后表示正确,因此保留此字符。
按照第三个字符看,Alice发送了45度的偏振态,Bob随机选择了B2,是个错误的选择,Bob传回所用偏振片,Alice收到后表示错误,因此舍弃此字符。
因此最终的密码本为1101010
再结合上述两个粒子特性来,量子密码学具有两个基本特征:无条件安全性和对窃听的可检测性 。
无条件安全性
所谓密码系统的无条件安全性是指在攻击者具有无限计算资源的条件下仍不可能破译此密码系统。
对窃听的可检测性
所谓对窃听者或其他各种扰动的可检测性是指两个用户之间通信受到干扰时,通信者根据测不准原理可以同步检测出干扰存在与否。
存在问题
当然,现阶段BB84也不是尽善尽美,也有部分问题需要解决。
1. 如果窃听者不停地窃听,甲乙双方就无法获得安全的**,于是保密通信便无法进行。它唯一的优势功能就是断定是否有窃听者存在,所分配的**是否安全而已。这点在传统**分配原则上做不到,只能用来确保传递信息的安全性,无法抗击“破坏信息传送”的行为。
2. 距离限制,量子密码的研究已有30多年历程,目前达到的实际水平是:在百公里范围的城域网,量子密码体系可以做到**分配在现有技术保证的各种攻击下是安全的,安全**生成率在25公里可确保高清视频“一次一密”,在100公里内能确保音频、文字、图片等的“一次一密”。
总而言之,抛开高大上的物理学以及科技媒体夸张的渲染,其本质只是基础密码学+物理特性的一种延伸,弄懂之后,并没有想象中的高大上或者跨时代飞跃的感觉。