量子密码为什么比经典密码算法更加安全在未来?
因为经典的密码算法的安全性都是依靠于数学难题,例如:大素数难分解问题、LWE问题、近似最大公约数问题等等,但量子加密算法不是依靠这个数学难题,而是量子力学的基本原理,未来不再受量子计算的威胁了。
一个n量子比特的存储器同时存储这2^n个数据状态,使得量子计算具有并行性。同时量子计算机对一个n量子比特的数据进行处理时,量子计算机实际上是同时对2^n个数据状态进行了处理。正是这种并行性使得原来在电子计算机环境下的一些难于计算的困难问题,在量子计算机环境下却很容易。量子计算机具有超强的计算能力。使得基于计算复杂性的现有公钥密码的安全受到威胁。根据估算,1448量子位的量子计算机可以公婆256位椭圆曲线密码,2048量子位的量子计算机可以攻破1024位的RSA密码。
下面记录一些量子密码的基础知识
符号介绍
量子力学的基本假设
假设1:任何一个孤立的物理系统都有一个和它相联系的复向量空间,这个空间称为系统的状态空间。状态向量是该系统状态空间的单位向量,该物理系统可以完全用状态向量来描述。
量子比特是最简单,也是最常用的量子系统。一个量子比特有一个二维状态空间。设这个状态空间的标准正交基由|0?和|1?构成,那么该状态空间的所有状态向量都可以表示成
|??? = ??|0? + ??|1? (2.1)
其中,??,??均为复数。???|??? = 1即 |??|2+ |??|2= 1是|???为单位向量的必要条件。
假设2:酉变换可以用来刻画一个封闭的量子系统的演化。即系统在??1和??2时刻的状态分别为|???和|??′?,则可以用酉算子??使之相联系:
|??′? = ??|??? (2.2)
常被称作量子非门的??矩阵,和经典的非门相似。其作用是把|0?变成|1?,而把|1?变成|0?,因此有时也会称为比特翻转矩阵。??矩阵的作用是保持|0?不变,将|1?变成?|1?,由于?1常被称为相移因子,因此??矩阵有时也被称为相位翻转矩阵。Hadamard门也是一个比较常用的单量子比特的酉算子,记作??。它的作用是??|0? = (|0? + |1?)/√2,??|1? =(|0? ? |1?)/√2。
通过假设2可以知道封闭的量子系统可以通过酉算子来演化。封闭性是指演化过程中不与外界发生相互作用,但当外界要了解系统的演化情况时,需要对系统进行观测,会破坏系统的封闭性,系统将不再满足酉变换。为解释这一作用,引入假设3,来说明对系统进行测量时,会带来哪些变化。
假设3:量子测量用测量算子的集合{????}描述,对量子系统进行测量时,测量算子会作用在相应的状态向量上。??表示可能出现的测量结果。若要测量的系统状态为|???,则测量得到??的概率为:
系统的状态在测量后将变为:
需要注意的是,对于任意的|???均有方程成立
假设3给出的测量又叫一般测量,量子计算中还有两种常用的量子测量称为投影测量和POVM测量。
投影测量:投影测量由一个可观测量Hermite算子M描述,可以将其谱分解为?? =,其中????表示特征值??的本征空间 M上的投影。测量的可能结果和测量算子的特征值??相对应。对状态|???进行投影测量时,测量结果得到??的概率为??(??) = ???|????|???。对于给定测量结果为??的情况,测量后量子系统的状态变为
量子比特
量子比特(qubit)是量子计算和量子信息的基本概念,与经典的比特(bit)类似。量子比特有两种可能得状态|0>和|1>,与经典的比特状态0和1相对应。量子比特与比特之间的区别只要在量子比特除了可以处于|0>和|1>外,还可以落在|0>和|1>的线性叠加态,称为叠加态。例如:
其中a和b为复数,且
满足。当对其执行测量操作时,得到|0>态的概率为,得到|1>态的概率。从几何的角度看,由于,等式(2.12)可以改写为:其中??,??和??均为实数。由于
不影响测量结果,因此可以将其省略。那么单量子比特的状态就可以表示成:
在知道??和??的情况下,就可以确定三维单位球上的一点。如图 2.1 所示:
该球被称为 Bloch 球,只要??和??确定,就可以确定|???的状态。上面描述的是单量子比特,下面介绍多量子比特。
两个量子比特有四种基态,分别是|00?,|01?,|10?和|11?。任意双量子比特的态都可以表示成为,其中为复数,测量结果为??的概率是,并且满足
Bell 态是双量子态的典型范例,有时也称为 EPR 对,在 2.6 节会对其进行详细的介绍。更一般的情况,考虑??量子比特的系统,其基态应该形如,并且其量子状态应该由个概率幅确定。
算子
一般来说,算子(operator)是作用到态矢上的一种运算或操作
在量子力学中用到的算子都是线性的在 Hilbert 空间中,一个算子对应一个矩阵。算子作用到态矢上定义为用其对应矩阵F 去乘该态矢,即。
量子门
量子计算模型的基本单元是量子逻辑门。下面来介绍本文可能使用的量子门。Pauli 算子的矩阵表示如下:
??类似于经典状态下的非门,其作用是将|0?态变为|1?态,而将|1?态变成|0?态。??门作用于|0?态时保持其状态不变,作用于|1?态时翻转其相位,将|1?变为?|1?。下面给出的是除 Pauli 矩阵外,本文会用到的单量子比特门的矩阵表示,分别是Hadamard门(记作??),相位门??
量子门之间满足除单量子比特门外,两量子比特的受控非门(CNOT或写作 CX),受控 Z 门(CZ),交换门(SWAP),以及三量子比特的受控受控非门(Toffoli)都是经常会用到的量子门,下面简单介绍一下:
CNOT门
受控非门 CNOT是具有双量子比特的门,分别将其称为控制量子比特以及目标量子比特。其作用是在控制量子比特为|1?时,翻转目标量子比特。当控制量子比特为|0?时,不会对目标量子比特产生任何影响。其矩阵表示如下:
受控 Z 门(CZ)和受控非门的结构类似,也是分为控制量子比特和目标量子比特。其作用是在控制量子比特为|1?时,如果目标量子比特为|1?,在经过 CZ 门的作用后,会将其变为?|1?,其他情况都不会产生任何影响。其矩阵表示如(2.21)所示:
交换门(SWAP)也是具有双量子比特的门,其作用是交换量子比特的状态,其矩阵表示如下:
三量子比特的受控受控非门(Toffoli)也是在量子计算中常用的量子门,其可以由 H门,S 门,CNOT 门以及 T 门组合实现。Toffoli 门包括三个量子比特,两个控制量子比特和一个目标量子比特。其作用是当两个控制量子比特同时为|1?时,翻转目标量子比特。
Bell态
一个复合物理系统由其子物理系统的张量积构成。将子系统由1到??进行编号,将系统的状 态 表 示 为,那 么 整 个 复 合 系 统 的 状 态 可 以 表 示 为 。对于两个量子系统组成的复合系统,如果两个量子态分别表示为那么可以将复合系统表示为,如果一个复合量子系统中的量子态|???,不能将其表示为单量子系统|???和|???的张量积的形式,则可将|???称为量子纠缠态,Bell 态就是典型的量子纠缠态。
在介绍多量子比特时,有提到 Bell 态是双量子比特的范例。下面考虑这样一个线路,一个双量子比特的线路,首先对第一个量子比特作用 H 门,然后第一个量子比特作为控制量子比特,在两个量子比特上应用 CNOT 门,量子线路如图 2.8 所示:
根据??,??输入的不同,可以得到四种不同的输出结果,输出状态将其称之为 Bell 态,或者EPR 对。输入与输出的关系如表 2.2 所示:
在此将输出状态分别记作,可将其记作如下公式:
注意???表示??的非。
量子隐形传态
量子隐形传态(quantum teleportation)是一种在发送者和接收者在没有量子通信信道的情况下,传送量子状态的技术。其工作原理是假设 Alice 和 Bob 两人共有一个 EPR 对(每人拥有其中的一个量子比特),在他们之间的距离较远时,如果 Alice 想要给 Bob 发送一个未知量子态,并且只能发送经典消息给 Bob,此时可以采用量子隐形传态技术来完成这项工作。
概括的说,依次执行以下步骤:设 Alice 的未知量子态为|???,Alice 首先对|???和她拥有的 EPR 对中的量子态执行 CNOT 操作,再让|???通过H门。然后对她拥有的两个量子比特执行测量操作,测量结果可能为00,01,10,11中的一个,并将测量结果发送个Bob。Bob根据 Alice 的测量结果,对她拥有的 EPR 对中的量子态执行相应的操作,即可得到未知的量子态|???。
图 2.9 是量子隐形传态的线路图,假设未知量子态|??? = ??|0? + ??|1?,其中??,??为未知幅度。
量子门的隐形传态
根据 2.6 节可知,Bell态的四种状态分别为
结合 2.4 节给出的 Pauli 算子,容易得到
在量子隐形传态的基础上,文献[40]的作者给出了“旋转 Bell 态(rotated Bell basis)”的概念。对于任意的单量子比特门??有下式成立:
对于单量子比特状态|???,有如下公式成立
公式 2.32 是量子隐形传态的数学描述,可以将其扩展为:
其中??为任意的单量子比特门。根据公式 2.33 可知。如果Alice 想要传送??|???给 Bob,在线路模型上,她可以在量子比特|???上作用??门,然后将??|???看作一个整体,执行测量后 Bob 的量子态会变为,此时 Bob 只需在该量子态上执行相应的 Pauli操作就可还原得到??|???。量子线路如图 2.10 所示:
其中??, ?? ∈ {0,1},图中上面两个量子比特属于 Alice,而下面的量子比特属于Bob。
参考
1、基于量子同态加密的密文搜索研究-杜娟