量子密码技术简述
本文将从量子的特殊性质出发,以BB84协议为例,介绍量子物理在实际工程中的应用。
量子物理学基础
量子的特殊性质:叠加、测量和纠缠。
1.叠加
经典比特有两种状态: 0 1
量子比特有无数种状态:a|0> + b|1> (其中 a^2 + b^2 = 1)
量子比特有两种状基本状态:|0> |1>
两种基本状态可以线性叠加:a|0> + b|1> (其中 a^2 + b^2 = 1)
将量子比特的每个状态视为一个矢量:态矢量
以互相垂直的两单位矢量|0>和|1>为基底,这时量子的每个状态对应单位圆边缘上一点:
当然我们可以取任意两垂直矢量做基底,例如红点所代表的状态
以|0>和|1>为基底:(1/√2)|0> + (1/√2)|1>
以|->和|+>为基底:0|-> + 1|1>
一种常见的实现量子比特的方法,就是用光子的“偏振态”。光是一种电磁波,不断地产生电场和磁场。如果电场位于某个确定的方向,我们就说这个光子是偏振的。四个状态|0>、|1>、|+>和|->,分别对应光子的偏振处于0度、90度、45度和135度。
2.测量
在量子力学中,每一次测量都必须对应某个基组, 测量后原状态永远被改变
对于待测量的态,测量后有两种可能:
- 此态为基矢:结果为原状态
- 此态非基矢:结果为基组中的某个状态(坍缩)
坍缩是瞬间且不可预测的,有a^2概率为基矢1 有b^2概率为基矢2
当 以|0>和|1>为基底进行测量:
红点代表状态 (1/√2)|0> + (1/√2)|1> 测量结果: (1/√2)2的几率为|0>,(1/√2)2的几率为|1>
绿点代表状态 0|0> + 1|1> 测量结果: 1>
因此量子的状态只能转移,而不能克隆复制,即量子不可克隆定理
3.纠缠
BB84协议中未应用此性质,跳过此节并不影响后续理解
在量子力学中,体系的状态(态矢量)可以用一个函数来表示,称为“态函数”。单粒子体系的态函数是一元函数,多粒子体系的态函数是多元函数。如果这个多元函数可以分离变量,也就是可以写成多个一元函数直接的乘积,我们就把它称为“直积态”。如果它不能分离变量,我们就把它称为“纠缠态”
对于两个粒子的状态
如果|β00>= (|00> + |11> + |01> + |10>)/4 可以拆分为(0.5|0> + 0.5|1>)(0.5|0> + 0.5|1>) 所以是直积态
如果|β00>= (|00> + |11>)/√2 无法拆分 所以是纠缠态
对于纠缠态的两个粒子|β00>= (|00> + |11>)/√2 进行测量,无法预测单次测量的结果,但你可以确定,粒子1变成什么,粒子2也就同时变成了什么。当粒子1测得为|0>,就可以确定粒子2状态坍缩为|0>,反之当粒子1测得为|1>,就可以确定粒子2状态坍缩为|1>
这一现象不受空间限制且同步发生,但因为粒子1测量后的状态是随机的,不含有任何信息,所以无法利用它实现超光速通信。
密码学基础
密钥如果满足三个条件,那么通信就是“绝对安全”的
- 密钥是完全随机的字符串
- 密钥的长度跟明文一样
- 每传送一次密文就更换密钥,即“一次一密”
传统密码
- 非对称密码体制
可能被破解大因数分解问题 - 对称密码体制
需要信使在两方间传递密钥
量子密码
回归对称密码体制,但是不需要信使
量子密钥产生的过程既是密钥分发的过程
由于量子不可克隆定理,分发密钥的信道无法被窃听(但还是可能被破坏干扰阻断)
BB84协议
BB84协议是美国科学家Charles H. Bennett和加拿大科学家Gilles Brassard在1984年提出的
BB84协议中,用到光子的四个状态:|0>、|1>、|+>和|->,分别对应光子的偏振处于0度、90度、45度和135度。定义各基底中0,1状态如下:
|0> | |1> | |+> | |-> | |
---|---|---|---|---|
用|0>和|1>为基底进行测量 | 0 | 1 | 50%概率为0,50%概率为1 | 50%概率为0,50%概率为1 |
用|->和|+>为基底进行测量 | 50%概率为0,50%概率为1 | 50%概率为0,50%概率为1 | 0 | 1 |
当Alice发送信息给Bob时需要经过以下步骤
一. 分发密钥
- Alice随机01选择基底(记为a),再随机选择0或1(记为a’),双重随机后发射一个光子,
第一次随机 | 第二次随机 | 发射光子 |
---|---|---|
0 (|0>和|1>) | 0 | 0度 |
0 (|0>和|1>) | 1 | 90度 |
1 (|->和|+> ) | 0 | 45度 |
1 (|->和|+>) | 1 | 135度 |
- Bob随机01选择基底进行测量(记为b),得到结果0或1(记为b’)
- 若Bob恰好与Alice选择了同样的基底(即a=b),则测量后光子状态不会改变(即a’=b’)
- 若Bob使用了不同的基底(即a≠b),则测量后光子状态会突变,由Alice的基底所代表的0或1突变为Bob的基底所代表的0或1(即有50%的可能a’=b’,也有50%的可能a’≠b’)
- 重复步骤1.2.若干次,一次发送一个光子,共得到四串01字符串
第一次 | 第二次 | 第三次 | 第四次 | ··· | 第n次 | ||
---|---|---|---|---|---|---|---|
Alice选基底(a) | 0 \color{red}{0} 0 | 1 \color{green}{1} 1 | 1 \color{red}{1} 1 | 0 \color{green}{0} 0 | ··· | 0 \color{green}{0} 0 | 公开 |
Alice生成随机01(a’) | 1 | 0 | 1 | 1 | ··· | 1 | 保密 |
Bob选基底(b) | 1 \color{red}{1} 1 | 1 \color{green}{1} 1 | 0 \color{red}{0} 0 | 0 \color{green}{0} 0 | ··· | 0 \color{green}{0} 0 | 公开 |
Bob测量得01(b) | 1 | 0 | 0 | 1 | ··· | 1 | 保密 |
其中第2.4.n次两人恰好选取了同样的基底(即a=b),测量结果无变化 (即a’=b’)
其中第1.3次两人选取了不同的基底(即a≠b),则测量结果只有一半概率正确(即有50%的可能a’=b’,也有50%的可能a’≠b’)
- 双方公布自己的a和b随机数序列,保留基底相同时测量的数据(约占总数据50%),舍去基底不同时测量的数据,可以确定二者保留的两串数据必然相同。
保留上表中第2.4.n列的a’和b’
二. 检测窃听
- 对于保留的a’b’串,抽取其中的一部分进行公布并进行比对
- 如果没有窃听,保留的a’应该等于b’
- 如果存在窃听,保留的a’只有50%的可能等于b’
对于窃听者Eve来说,窃听的目的是从Alice读取字符,再将字符转发给 Bob,但由于量子的不可克隆定理,Eve在读取信息时可能会破坏量子的原有状态(取决于Eve所选择的基底),Eve所选基底有50%概率与Alice相同,所以量子有50%的可能发生状态突变,突变后即使Bob用和Alice的相同的基底测量,测量结果也有一半概率不同
如果比对后发现匹配率接近100%,则认为安全
如果比对后发现匹配率只有50%,则认为存在窃听,放弃本次通信
三. 传递密文
- 对于保留的a’b’串,将窃听检测后a’b’序列剩下的部分当作密钥
- Alice用m位密钥对m位明文做异或加密得到密文
- 密文在普通信道上传输
- Bob得到m位密文后用m位密钥再次异或得到明文
总结
量子信息现有四项应用
- 量子计算
- 量子因数分解
- 量子搜索
- 量子通信
- 量子隐形传态
- 量子密码术
大部分量子密码技术只利用了前两个性质,不涉及多粒子的纠缠态,所以是迄今唯一接近实用的量子信息应用
量子密码技术除了BB84协议,还有BBM92协议,以及诱骗态协议等
其中BBM92协议可以视为纠缠版本的BB84协议,在墨子号卫星上进行了实际应用
诱骗态协议可以使得实验等效于只用单光子脉冲。对于量子密码术的安全性而言,这相当于把实际的不完美的光源变成了完美的单光子源。
量子密码术的安全性表现在五个方面:
- 密文即使被截获了也不会被破译;
- 不会被计算技术的进步破解;
- 没有传递密钥的信使;
- 可以在每次使用前现场产生密钥,平时不需要保存密钥;
- 在密钥生成过程中如果有人窃听,会被通信方发现。
传统密码中对称密码体制只能满足1和2
非对称密码体制只能满足1.3.4(其中第一点依赖于数学复杂性,不是严格满足的)
而量子密码术是目前所知唯一的既不需要信使、也不惧怕算法进步的保密方法,更是唯一的能发现窃听的保密方法
参考资料
[1]袁岚峰的科技专栏《你完全可以理解量子信息 》
[2]Wikipedia
[3]Simple Proof of Security of the BB84 Quantum Key Distribution Protocol
[4]后量子密码算法的侧信道攻击与防御综述