【摘 要】文章介绍了量子密码术的工作原理、研究的历史和进展,以及当前实际应用的情况。
【关键词】通讯安全;密码学;量子密码
一、引言
随着计算机网络技术的持续、快速发展,网络通讯、电子商务、电子政务、电子金融等应用使我们越来越多地依赖网络进行工作和生活,大量敏感信息需要通过网络传输,人们需要对自己的信息进行保护以免被窃取或篡改,密码学(cryptog?鄄raphy)为我们提供了有力的保证。用户用一个加密密钥对要保护的数据进行加密,加密后的数据只能被相应的解密密钥恢复,非法用户则因为没有解密密钥而无法取得真实数据。只要通信双方事先协商好密钥就可以在开放的通讯环境中进行秘密通信了。但如果解密密钥被窃取或破译,那么信息的安全就失去保障,而密钥的安全传送正是问题的关键。
在现行的密码体制中只有美国数学家吉尔伯特·维那姆(gillbert vernam)提出的一次性密码具有无条件安全性,它要求密钥是随机的,并且其长度至少要与被加密数据的长度相同,但实际应用中却由于它的一些缺陷而无法得到真正的实现。目前,我们通常用一种称为“公钥加密”(public-key cryp?鄄tography)的方法对传送的信息进行加密或解密。在“公钥加密”法中,最广泛使用的是rsa算法,它是应用因数分解的原理。在发送与接收者之间传递的秘密信息,是以“公开密钥”(简称公钥)加密的,这个公钥是一个很大的数n,例如408508091(实际上用的数会远大于此,普遍要达到1024位以上,这数越大破译的难度就越大)。wWw.133229.cOm数据只能以接收者握有的私钥解开,这把私钥是公钥的两个因数p和q,即n=p?q,而在这个例子里就是18313与22307。这种技术之所以安全,是因为应用了因数分解或其它困难的数学问题。要计算两个大质数的乘积很容易,但要将乘积分解回质数却极为困难。由于破解“公钥加密”很困难,因此在未来10年甚至更久,密钥的安全性仍然很高。但是随着科学技术的发展,计算机计算速度不断的增长,人们对大合数因子分解能力不断提高,破译密码的难度也在不断降低。特别是对于未来的量子计算机(quantum computer)(它可以快速算出吓人的高难度因素分解),预示了rsa及其它密码技术终将失效。
因应这种情况,科学家们想到利用量子物理学的特性用于密码学的研究,发展起一种无法被窃听的密码技术———量子密码术(quantum cryptography)。
二、 量子密码术
(一) 工作原理
量子密码术是密码学与量子力学结合的产物,这种加密方法是用量子状态来作为信息加密和解密的密钥。量子的一些神奇性质是量子密码安全性的根本保证。“海森堡测不准原理”是量子力学的基本原理,指在同一时刻以相同精度测定量子的位置与动量是不可能的,只能精确测定两者之一。“单量子不可复制定理”是“海森堡(heisenberg)测不准原理”的推论,它指在不知道量子状态的情况下复制单个量子是不可能的,因为要复制单个量子就只能先作测量,而测量必然改变量子的状态。量子态通常用dirac符号“|·>”表示。一个二维量子态就是一个量子比特,“态叠加原理”表明一个量子比特可以是两个计算基态|0>和|1>的任意线性叠加。量子纠缠是量子力学最奇妙的现象。如果alice沿某方向测量自己的粒子,她的测量结果将完全随机,即以1/2的概率得到1,1/2的概率得到0。但如果此时bob也沿相同的方向测量自己的粒子,他一定会得到与a1ice相反的结果。即不管他们相距多远,alice的测量结果都会使得bob的粒子态唯一确定,这就是爱因斯坦所说的神秘的“超距”现象。利用这一现象,科学家们首先发现了量子远程传态,即通信双方可以利用一对共享的纠缠态(en?鄄tangled state)瞬间传送一个任意量子态。著名的epr协议、bbm92协议和密集编码等都是基于量子纠缠性质提出的。纠缠还有一个非常有趣的性质就是纠缠交换,它是指当对不同纠缠态中的部分粒子做联合测量时,会使得其余粒子也纠缠在一起。近年来人们利用纠缠交换设计了各种各样的密钥分发方案。
到目前为止,主要有三大类量子密码实现方案:一是基于单光子量子信道中海森堡测不准原理的;二是基于量子相关信道中bell原理的;三是基于两个非正交量子态性质的。“量子密码”是利用质子的极化方式编排密码。质子能以四种方式极化;水平的和垂直的,而且互为一组,两条对角线的也是互为一组。
要在两端传递量子密钥,其中一种方法就是以激光发出单一光子,光子会以两种模式中的其中一种偏振。光子的第一种偏振方向是垂直或平行(直线模式);第二种则是与垂直呈45度角(对角模式)。不管是哪一种模式,光子的不同指向分别代表0或1这两个数字。依惯例,密码学者通常称发送者为alice,她随机地以直线或对角模式送出光子,发射出一串位。至于接收者则称为bob,他也随机决定以两种模式之一来测量射入的光子。根据海森堡的测不准原理,他只能以一种模式来测量位,而不能用两种。如果 bob所使用的测量方法和alice相同,那么他会得到alice所送的值;如果bob所使用的测量方法与alice的不同,所得到的值就不一定和alice的相同,应该舍弃该位,重新再作,整个步骤如下:
1.alice任选一个<state, basis>=<s,b>,然后送该光子给 bob。
2.bob任选一个测量方法b’来测量送来的光子。
3.alice和bob都公开宣布他们所用的测量方法b和b’(而不是测量的结果)。
4.如果 b=b’,则和bob共有一个值;如果b≠b’,则舍弃该位。
重复上述步骤多次,可以得到一个n位的共同密钥k,用以对信息加密或解密。
如果窃听者(称为eve)想拦截这道光子流,由于海森堡原理的关系,她无法两种模式都测。如果她以错误的模式进行测量,即使她将该位依照测到的结果重传给bob,都一定会有1/2机会出错。alice和bob可以随机选择一些位进行比较,如果比较值有误,就可以知道eve进行了拦截,从而舍弃这次的密钥,再建立新的密钥;如果比较值一致,则可以认为密钥是安全的,舍弃这些用于比较的位后,密钥就可以用于以后信息的加密了。
另外一种方法是,bob先准备一对光子,或者是一对在纠缠态中共同地半自转的粒子,然后储存其中一个粒子,并将另外一个传送至alice。alice在收到的粒子上执行了其中一个特别的操作(操作1对半自转的粒子不做任何动作;操作2沿着x,y或z以180度做自旋,对光子来说,做与偏极值一致的旋转)。这些操作,虽然只对其中一个粒子执行,却会影响两个联合粒子的量子状态(分开地量测这两个粒子并不能够证实)。alice传回粒子与bob,bob可以共同测量传回的粒子与储存的粒子,从而判定alice使用了四种操作中的那一种操作,也即代表了两比特数据的0、1组合。如此一来,这个技术有效的加倍了信息频道的最高容量。