量子密码学泛指利用量子力学的特性来加密的科学。目前所使用的公开密钥加密与数位签章(如RSA加密算法或ElGamal)在具规模的量子电脑出现后,都会在短时间内被破解。量子密码学的优势在于,除了古典密码学上的数学难题之外,再加上某些量子力学的特性,可达成古典密码学无法企及的效果。例如,以量子态加密的资讯无法被复制。又例如,任何试图尝试读取量子态的行动,都会改变量子态本身。这使得任何窃听量子态的行动会被发现。量子密码学最著名的例子是量子密钥分发,而量子密钥分发提供了通讯两方安全传递密钥的方法,且该方法的安全性可被信息论所证明。
因为具规模的量子计算机在未来可能出现,所以研究可抵抗量子攻击的密码架构更显重要,这类的研究常被归类为“后量子密码学”。对后量子密码学的需求,始于现今许多公钥加密和签章(如RSA和楕圆曲线)将会被量子电脑上的秀尔算法所破解。
秀尔算法(Shor算法),以数学家彼得·秀尔命名,是一个在1994年发现的,针对整数分解这题目的的量子算法(在量子计算机上面运作的算法)。比较不正式的说,它解决题目如下:给定一个整数N,找出他的质因数。
在一个量子计算机上面,要分解整数N,秀尔算法的运作需要多项式时间(时间是log N的某个多项式这么长,log N在这里的意义是输入的档案长度)。更精确的说,这个算法花费O((log N)3)的时间,展示出质因数分解问题可以使用量子计算机以多项式时间解出,因此在复杂度类BQP里面。这比起传统已知最快的因数分解算法,普通数域筛选法,其花费次指数时间 -- 大约O(e1.9 (log N)1/3 (log log N)2/3),还要快了一个指数的差异。
秀尔算法非常重要,因为它代表使用量子计算机的话,我们可以用来破解已被广泛使用的公开密钥加密方法,也就是RSA加密算法。RSA算法的基础在于假设了我们不能很有效率的分解一个已知的整数。就目前所知,这假设对传统的(也就是非量子)电脑为真;没有已知传统的算法可以在多项式时间内解决这个问题。然而,秀尔算法展示了因数分解这问题在量子计算机上可以很有效率的解决,所以一个足够大的量子计算机可以破解RSA。这对于建立量子计算机和研究新的量子计算机算法,是一个非常大的动力。
在2001年,IBM的一个小组展示了秀尔算法的实例,使用NMR实验的量子计算机,以及7个量子位元,将15分解成3×5。然而,对IBM的实验的是否是量子计算的真实展示,则有一些疑虑出现,因为没有缠结现象被发现。在IBM的实验之后,有其他的团队以光学量子位元实验秀尔算法,并强调其缠结现象可被观察到。
量子密钥分发(英语:quantum key distribution,简称QKD),是利用量子力学特性来保证通信安全性。它使通信的双方能够产生并分享一个随机的、安全的密钥,来加密和解密消息。
量子密钥分发的一个最重要的,也是最独特的性质是:如果有第三方试图窃听密码,则通信的双方便会察觉。这种性质基于量子力学的基本原理:任何对量子系统的测量都会对系统产生干扰。第三方试图窃听密码,必须用某种方式测量它,而这些测量就会带来可察觉的异常。通过量子叠加态或量子纠缠态来传输信息,通信系统便可以检测是否存在窃听。当窃听低于一定标准,一个有安全保障的密钥就可以产生了。
量子密钥分发的安全性基于量子力学的基本原理,而传统密码学是基于某些数学算法的计算复杂度。传统密码学无法察觉窃听,也就无法保证密钥的安全性。
量子密钥分发只用于产生和分发密钥,并没有传输任何实质的消息。密钥可用于某些加密算法来加密消息,加密过的消息可以在标准信道中传输。跟量子密钥分发最常见的相关算法就是一次性密码本,如果使用保密而随机的密钥,这种算法是具可证明的安全性[。再实际的运用上,量子密钥分发常常被拿来与对称密钥加密的加密方式,像是高级加密标准这类算法一同使用。