量子密码
1. 概述1.1 量子密码学的物理学基础1.2 量子密码信息理论 2. 量子密码的实现2.1 量子密钥分配的基本原理2.2 BB84 协议
1. 概述
量子密码学是量子物理学和密码学相结合的一门新兴科学,量子密码通信不是用来传送密文或明文,而是用来建立和传送密钥的,这个密钥是绝对安全的。量子密码通信是目前科公认唯一能实现绝对安全的通信方式,能够保证合法的通信双方可觉察潜在的窃听者并采取相应的措施使窃听者无法破解量子密码,无论破译者有多么强大的计算能力。
量子密码的安全性基于量子力学的海森堡(Heisenberg)的测不准原理(Uncertainty Principle),因此要攻破量子密码协议就意味着必须否定量子力学定律,所以量子密码是理论上安全的密码技术。
1.1 量子密码学的物理学基础
(1)量子不可克隆定理
Wootters 和Zurek于1982 年在《Nature》杂志上撰文提出了如下问题:是否存一种物理过程,实现对一个未知量子态的精确复制,使得每个复制态与初始量子态完全相同?Wootters 和 Zurck 证明,量子力学的线性特性禁止这样的复制,这就是量子不可复制定理的最初表述。
(2)Heisenberg 测不准原理
测不准原理是量子力学的基础原理。微观世界的粒子有许多共轭量,比如位置和速度、时间和能量就是两对共轭量,当对其中任何一个进行测量时都不可避免地对另一个物理量产生于扰。
量子密码学便是利用量子的不确定性,构造安全的通信通道,使得通信双方能够检测到信息是否被窃听,这一性质为通信双方提供密钥协商或密钥交换时的绝对安全。量子加密学不依赖问题的计算难度,而使用基本的物理定律提供了可证的无条件安全。并且不同于一次一密的密钥,任何窃听量子密钥交换和复制密钥的人不可能不被检测到。
依据测不准原理,量子密码学的本质可理解为如下问题:给定用4个可能的极化状态( ↔ , ↕ \leftrightarrow, \updownarrow ↔,↕,⤢,⤡)之一来描述单个光子,人们是否能肯定地确定它的极化呢?答案是否定的。直线基( ↔ \leftrightarrow ↔和 ↕ \updownarrow ↕)与对角线基(⤢和⤡)是不相容的,因此测不准原理禁止同时度量两者,更一般地说,即使仅部分可靠,判别非正交状态的过程将干扰其状态。
1.2 量子密码信息理论
量子密码系统就是使得发送方用量子信道与接收方共享秘密信息,而未经授权的第三方无法窃取信息的密码系统。
一个量子密码系统由量子信源、量子信道、经典信道、发送方、接收方等部分组成。
量子信源是量子信道之源,主要提供信道中所需的量子态。在量子信源中选定一个量子码组后,量子码组中各个量子态出现的几率可以是各种情况,但量子密码系统中所选用的量子态都是等几率出现的。需要指出的是,量子信源与经典信源是完全不同的,因为在量子信源中,当量子码组确定后,量子信道也就确定了。
量子信道用于传输秘密信息。所谓量子信道就是将量子比特从一端传送到另一端的量子信息通道。量子信道可以有很多种形式,如自由空间、光纤等。经典信息论中的信道只是将信息从发送方传输到接收方,然而在量子信息论中,信道中的信息传递方式是很重要的,信息的传输受制于信息载体。
2. 量子密码的实现
到目前为止,主要有三大类量子密码实现方案:
基于单光子量子信道中海森堡测不准原理的基于量子相关信道中 Bell 原理的基于两个非正交量子态性质的2.1 量子密钥分配的基本原理
量子密码是利用质子的极化方式编排密码的,质子能以4种方式极化,水平和垂直互为一组,两条对角线也互为一组。
量子密钥分配经典密钥分配最本质的区别在于前者是运用量子态来表征随机数0和1的,而现有密钥分配是运用物理量来表征比特0和1的。
若采用光脉冲来传送比特,在经典信息中,光脉冲有光子代表1,无光子代表0;在量子信息中则是采用单个光子的量子态,如偏振态来表征比特信息,如圆偏光代表1,线偏光代表0,亦即每个光脉冲最多只能有一个光子这个光子所处的不同量子态表明它携带不同比特信息,由于单个光子作为整体不可分割,因此窃听者无法通过分波方法来获取信息。
量子信息中有个重要定理即量子不可克隆定理,它指出不存在任何真实的物理系统可以精确地复制(克隆)未知的量子态,因此窃听都无法经由复制光子的量子态来获取信息,这正是量子力学的基本原理确保了量子密钥分配的安全性,任何窃听过程都必然会留下痕迹被合法用户发现。只有当 Alice 和 Bob 确定他们共享的密钥未被窃听过,才可用来进行保密通信。
2.2 BB84 协议
BB84协议是第一个量子密码通信协议,1984年由Benntt和Brassard提出,该协议采用4个量子态(如右旋、左旋、水平和垂直偏振态)来实现量子密钥分配,事先约定:左旋和水平偏振态代表比特“0”,右旋和垂直偏振态代表比特“1””。
量子密钥分配的操作步骤如下。
(1)用户A向用户B发送多个光子,每个光子随机地选择右旋、左旋、水平或垂直4种偏振态中的任一种。(2)用户B随机地选择线偏振基或圆偏振基来测量光子的偏振态,并记录下他的测量结果。(3)用户B在公开信道上告诉用户A,他每次所选择的是哪种测量基,但不公布测量结果。(4)用户A在了解到用户B的测量基之后,便可确定用户B的测量基中哪些是选对的,哪些是选错的;他通过公开信道告诉用户B留下选对基的测量结果,这样用户A和用户B就可以 50 50% 50成功率建立完全相同的随机数序列。(5)用户B从已建立的随机比特序列中抽样部分比特,一般为 1 / 3 1/3 1/3,并发送给用户A。(6)用户A检查用户B发送来的比特与自己发出的比特是否一致,如果没有窃听行为发生,则它们应该是一致的;否则,肯定发生了窃听行为。(7)如果没有窃听行为发生,双方可以约定用剩余的 2 / 3 2/3 2/3比特作为共享的会话密钥,从而实现了密钥的分配。用户A和用户B依此办法可获得足够多的比特位。