孫添資 劉世民 肖海龍 張 影 馮 寶
1(國網(wǎng)內(nèi)蒙古東部電力有限公司信息通信分公司 內(nèi)蒙古 呼和浩特 010010) 2(南京南瑞國盾量子技術(shù)有限公司 江蘇 南京 211000) 3(南瑞集團(tuán)有限公司(國網(wǎng)電力科學(xué)研究院有限公司) 江蘇 南京 211000)
量子信息作為物理學(xué)和信息學(xué)的交叉學(xué)科,在過去近50年內(nèi)取得了迅猛的發(fā)展。其中量子算法、量子密鑰分配、量子糾錯(cuò)碼等都取得了突破性的成果[1-5],并且對一些傳統(tǒng)的信息技術(shù)產(chǎn)生了巨大的沖擊。例如Shor在1994年提出的因子分解算法[2],在時(shí)間效率上相比較于經(jīng)典算法有著指數(shù)級的加速,從而對經(jīng)典的公鑰密碼體制產(chǎn)生了巨大威脅。經(jīng)典信息論已經(jīng)證明,采用一次一密的加密方案,能夠?qū)崿F(xiàn)絕對的安全性[6-7]。該方案的關(guān)鍵在于密鑰傳輸?shù)陌踩?。量子密鑰分配(Quantum Key Distribution,QKD)以量子力學(xué)的基本理論為依據(jù)[8-9],其中最為著名的協(xié)議由Bennett和Brassard于1984年提出[10](后被稱為BB84協(xié)議) ,理論上可以證明在該協(xié)議中密鑰的分配過程具有無條件的安全性[11-12]。QKD協(xié)議的唯一要求是量子比特在信道上傳輸?shù)腻e(cuò)誤率低于某個(gè)閾值,然而在真實(shí)的量子信息傳輸過程中,量子比特并非處于完全孤立的量子系統(tǒng)中,會(huì)無可避免地受到噪聲干擾從而產(chǎn)生錯(cuò)誤[13-14],使得量子比特傳輸?shù)腻e(cuò)誤率大幅提高。其后果是通信雙方誤認(rèn)為有竊聽者的存在[15],從而使得協(xié)議終止,或者雙方的最終密鑰不一致。量子糾錯(cuò)碼的作用就是降低量子比特傳輸?shù)腻e(cuò)誤率[16],與經(jīng)典糾錯(cuò)碼類似,量子糾錯(cuò)碼通過引入冗余信息,使得編碼具有一定的糾錯(cuò)能力[17]。量子糾錯(cuò)碼的構(gòu)造方法也是近年來的熱點(diǎn)問題[18-20],目前常用的構(gòu)造方法之一是Calderbank-Shor-Steane(CSS)糾錯(cuò)碼[21-22],該方法能夠根據(jù)經(jīng)典的線性碼構(gòu)造出相應(yīng)的量子糾錯(cuò)碼。
本文首先介紹量子CSS糾錯(cuò)碼以及BB84協(xié)議的相關(guān)理論,之后介紹一種簡單的[7,1]CSS糾錯(cuò)碼的構(gòu)造方法,并在此基礎(chǔ)上提出一種基于[7,1]CSS糾錯(cuò)碼的量子密鑰分配協(xié)議。該方案能夠提高含噪聲量子信道中量子密鑰傳輸?shù)男省?/p>
在介紹量子CSS糾錯(cuò)碼之前,先介紹量子碼和量子錯(cuò)誤的基本概念。一個(gè)[n,k]量子碼Q是Hilbert空間(C2)?n=C2n的一個(gè)2k(0≤k≤n)維子空間,其中n稱為Q的碼長。量子錯(cuò)誤是Hilbert空間C2n中的一個(gè)酉算子,它使得量子態(tài)發(fā)生改變,由于量子錯(cuò)誤為連續(xù)錯(cuò)誤,因此相應(yīng)酉算子的形式有無窮多種可能。根據(jù)Shor和Steane的簡化模型,對于一個(gè)量子錯(cuò)誤,只需考慮在每個(gè)量子比特上獨(dú)立作用的錯(cuò)誤算子。作用于單個(gè)量子比特的酉算子可以表示為以下4個(gè)Pauli矩陣的線性組合形式。
(1)
式中:σx表示比特翻轉(zhuǎn)的錯(cuò)誤算子;σz是表示相位翻轉(zhuǎn)的錯(cuò)誤算子;σy表示同時(shí)發(fā)生比特翻轉(zhuǎn)和相位翻轉(zhuǎn)的錯(cuò)誤算子(σy=iσxσz);I表示不發(fā)生錯(cuò)誤的算子。對于一個(gè)量子碼,如果其能夠糾正比特翻轉(zhuǎn)和相位翻轉(zhuǎn)這兩種錯(cuò)誤,那么就能糾正任何一種錯(cuò)誤[16]。
(2)
式中:“+”表示模2加。不難得出量子態(tài)|x+C2〉僅取決于x屬于C2的哪一個(gè)陪集,對于C1中的兩個(gè)不同碼字x和y,如果兩者屬于同一個(gè)陪集,〈x+C2|y+C2〉=1;如果兩者屬于不同的陪集,〈x+C2|y+C2〉=0。因此所有的|x+C2〉是一組標(biāo)準(zhǔn)正交向量,它們生成的向量空間稱為量子碼CSS(C1,C2)。C1中C2的陪集數(shù)量為|C1|/|C2|=2k1-k2,即共有2k1-k2種不同的量子態(tài)|x+C2〉,因此CSS(C1,C2)是[n,k1-k2]的量子碼。
使用CSS(C1,C2)進(jìn)行量子糾錯(cuò)的原理如下。分別用長度為n的向量e1和e2表示比特翻轉(zhuǎn)錯(cuò)誤和相位翻轉(zhuǎn)錯(cuò)誤,假設(shè)初始量子態(tài)如式(2)所示,則發(fā)生錯(cuò)誤后的量子態(tài)為:
(3)
為了檢測比特翻轉(zhuǎn)錯(cuò)誤e1,引入處于全0狀態(tài)的長為n-k1的輔助量子比特串。設(shè)C1的校驗(yàn)矩陣為H1,則可以通過使用完全由受控非門(如圖1所示)組成的量子線路實(shí)現(xiàn)如下變換:
(4)
圖1 受控非門
通過測量輔助量子比特串可以得到結(jié)果H1e1。由于C1能夠糾正最多t比特的錯(cuò)誤,因此由H1e1可以推斷出不超過t量子比特的比特翻轉(zhuǎn)錯(cuò)誤e1,之后對發(fā)生錯(cuò)誤的量子比特使用非門糾正錯(cuò)誤。在糾正比特翻轉(zhuǎn)錯(cuò)誤后,對每個(gè)量子比特使用Hadamard門,可以得到量子態(tài):
(5)
Bennett等[5]于1984年提出了一種量子密鑰分配協(xié)議,即BB84協(xié)議。協(xié)議中使用了兩種不同的基{|0〉,|1〉}和{|+〉,|-〉},其中|+〉和|-〉按式(6)定義。
(6)
BB84協(xié)議中|0〉和|+〉代表經(jīng)典比特0;|1〉和|-〉代表經(jīng)典比特1,其具體流程如下[1]:
(1) Alice隨機(jī)生成一個(gè)長度為(4+δ)n的比特串a(chǎn)。
(2) Alice隨機(jī)生成一個(gè)長度為(4+δ)n的比特串b。如果b中某一位的比特是0,則將a中相應(yīng)位置的比特制備為|0〉或|1〉;如果b中某一位的比特是1,則將a中相應(yīng)位置的比特制備為|+〉或|-〉。
(3) Alice將制備的量子比特串發(fā)送給Bob。
(4) Bob收到長度為(4+δ)n的量子比特串,隨機(jī)生成一個(gè)長度為(4+δ)n的比特串b′。如果b′中某一位的比特是0,則用{|0〉,|1〉}基測量相應(yīng)位置的量子比特;如果b′中某一位的比特是1,則用{|+〉,|-〉}基測量相應(yīng)位置的量子比特。最后得到長度為(4+δ)n的比特串a(chǎn)′。
(5) Alice和Bob分別公布比特串b和b′的值。
(6) Alice和Bob對比b和b′,根據(jù)相同比特的位置保留a和a′中相應(yīng)的比特。如果留下多于2n個(gè)比特(高概率),則保留前2n個(gè)比特;否則協(xié)議終止。
(7) Alice選擇2n個(gè)比特中的n個(gè)作為校驗(yàn)比特,并告訴Bob選擇的結(jié)果。
(8) Alice和Bob公布并比較校驗(yàn)比特的值,如果不同比特的數(shù)量多于可接受的值,則協(xié)議終止。
(9) Alice和Bob利用剩下的n個(gè)比特獲得m個(gè)比特的共享密鑰。
(7)
以矩陣H為校驗(yàn)矩陣定義的線性碼C是[7,4]碼,其生成矩陣為:
(8)
以GT為校驗(yàn)矩陣定義的線性碼為C⊥,不難驗(yàn)證C⊥?C。因此,只要令C1≡C,C2≡C⊥,那么便滿足了CSS糾錯(cuò)碼的構(gòu)造條件。由于C1和C2分別為[7,4]線性碼和[7,3]線性碼,因此可以根據(jù)式(2)構(gòu)造[7,1]量子碼CSS(C1,C2):
(9)
(10)
按照以上方式構(gòu)造的CSS糾錯(cuò)碼又稱為Steane碼[1,23]。根據(jù)Hamming碼的性質(zhì),C1和C2的最小距離均為3,從而能夠糾正單個(gè)比特的錯(cuò)誤,因此由它們構(gòu)造的量子碼CSS(C1,C2)能夠糾正單個(gè)量子比特上的錯(cuò)誤。
BB84協(xié)議中Alice向Bob發(fā)送的量子比特未進(jìn)行糾錯(cuò)編碼,因此在含噪聲信道中的傳輸效率低。如果使用[7,1]CSS糾錯(cuò)碼將要發(fā)送的每個(gè)量子比特編碼成相應(yīng)的量子比特串,則可減小信道噪聲的干擾。將|+〉CSS和|-〉CSS定義為:
(11)
在新的協(xié)議中,Alice向Bob發(fā)送的量子比特串由若干個(gè)長度為7的量子比特子串組成,每個(gè)量子比特子串的狀態(tài)為{|0〉CSS,|1〉CSS,|+〉CSS,|-〉CSS}中的一種。將{|0〉CSS,|1〉CSS}擴(kuò)充成一組標(biāo)準(zhǔn)正交基,記為{|0〉CSS,|1〉CSS}+;將{|+〉CSS,|1〉CSS}擴(kuò)充成一組標(biāo)準(zhǔn)正交基,記為{|+〉CSS,|-〉CSS}+。易知若對量子比特子串在{|0〉CSS,|1〉CSS}+基下進(jìn)行測量,則可嚴(yán)格區(qū)分狀態(tài)|0〉CSS和|1〉CSS;若對量子比特子串在{|+〉CSS,|-〉CSS}+基下進(jìn)行測量,則可嚴(yán)格區(qū)分狀態(tài)|+〉CSS和|-〉CSS。
在以上定義的基礎(chǔ)上,可以得到一種基于[7,1]CSS糾錯(cuò)碼的量子密鑰分配協(xié)議。該協(xié)議中|0〉CSS和|1〉CSS代表經(jīng)典比特0;|1〉CSS和|-〉CSS代表經(jīng)典比特1,其具體流程如下:
(1) Alice隨機(jī)生成一個(gè)長度為(4+δ)n的比特串a(chǎn)。
(2) Alice隨機(jī)生成一個(gè)長度為(4+δ)n的比特串b。如果b中某一位的比特是0,則將a中相應(yīng)位置的比特制備為{|0〉CSS,|1〉CSS};如果b中某一位的比特是1,則將a中相應(yīng)位置的比特制備為{|+〉CSS,|-〉CSS}。
(3) Alice將制備的量子比特串發(fā)送給Bob。
(4) Bob收到量子比特串,先對每個(gè)量子比特子串進(jìn)行量子糾錯(cuò),然后隨機(jī)生成一個(gè)長度為(4+δ)n的比特串b′。如果b′中某一位的比特是0,則用{|0〉CSS,|1〉CSS}+基測量相應(yīng)位置的量子比特子串;如果b′中某一位的比特是1,則用{|+〉CSS,|-〉CSS}+基測量相應(yīng)位置的量子比特子串,最后通過譯碼得到長度為(4+δ)n的比特串a(chǎn)′。
(5) Alice和Bob分別公布比特串b和b′的值。
(6) Alice和Bob對比b和b′,根據(jù)相同比特的位置保留a和a′中相應(yīng)的比特,如果留下多于2n個(gè)比特(高概率),則保留前2n個(gè)比特,否則協(xié)議終止。
(7) Alice選擇2n個(gè)比特中的n個(gè)作為校驗(yàn)比特子串,并告訴Bob選擇的結(jié)果。
(8) Alice和Bob公布并比較校驗(yàn)比特的值,如果不同比特的數(shù)量多于可接受的值,則協(xié)議終止。
(9) Alice和Bob利用剩下的n個(gè)比特獲得m個(gè)比特的共享密鑰。
為了驗(yàn)證上述協(xié)議的安全性,假設(shè)在密鑰分配過程中存在竊聽者Eve。Eve要想進(jìn)行竊聽,必須對量子比特進(jìn)行測量。由于未知的量子態(tài)不可克隆,Eve只能對Alice發(fā)送的量子比特進(jìn)行測量而無法進(jìn)行大量備份。Alice發(fā)送的每個(gè)量子比特子串處于狀態(tài)|0〉CSS、|1〉CSS、|+〉CSS、|-〉CSS中的一種,由于這四個(gè)狀態(tài)并非兩兩正交,且Alice并未公布其在步驟(2)中隨機(jī)生成的比特串b,如果Eve使用了不同的基進(jìn)行測量,將有概率獲得錯(cuò)誤的結(jié)果。為了計(jì)算此時(shí)獲得錯(cuò)誤結(jié)果的概率,假設(shè)Alice發(fā)送的量子比特子串為|0〉CSS,而Eve使用的測量基為{|+〉CSS,|-〉CSS}+,則Eve能獲得正確結(jié)果的概率為:
(12)
即有一半的概率得到錯(cuò)誤的結(jié)果,此時(shí)量子比特子串|0〉CSS的狀態(tài)也必定發(fā)生改變。
綜上,Eve無法確定自己測量結(jié)果的正確性,并且以很高的概率改變了Alice發(fā)送的量子比特子串的狀態(tài)。這種改變可能導(dǎo)致Alice和Bob的校驗(yàn)比特產(chǎn)生差異,從而使他們發(fā)現(xiàn)竊聽者的存在。
為了說明基于[7,1]CSS糾錯(cuò)碼的量子密鑰分配協(xié)議相對于BB84協(xié)議的改進(jìn),下面通過理論分析與數(shù)值仿真來對比兩者密鑰傳輸?shù)腻e(cuò)誤率。由于相位翻轉(zhuǎn)錯(cuò)誤可以通過Hadamard門轉(zhuǎn)化為比特翻轉(zhuǎn)錯(cuò)誤,因此下面僅考慮信道中的比特翻轉(zhuǎn)錯(cuò)誤。假設(shè)信道中量子比特翻轉(zhuǎn)的概率為ε,若采用BB84協(xié)議,易知傳輸錯(cuò)誤率為e=ε。若使用2.2節(jié)介紹的基于[7,1]CSS糾錯(cuò)碼的量子密鑰分配協(xié)議,設(shè)一個(gè)量子比特子串中有i個(gè)量子比特發(fā)生錯(cuò)誤的概率為Pi(0≤i≤7),則:
(13)
由于每個(gè)量子比特子串可以糾正最多一個(gè)量子比特的錯(cuò)誤,因此傳輸錯(cuò)誤率等于量子比特子串中有2個(gè)及以上的量子比特發(fā)生錯(cuò)誤的概率,即:
e′=1-P0-P1=1-(1-ε)7-7ε(1-ε)6
(14)
對于上述兩種量子密鑰分配協(xié)議,繪制密鑰傳輸錯(cuò)誤率與信道中量子比特翻轉(zhuǎn)概率的關(guān)系曲線,如圖2所示。
圖2 兩種量子密鑰分配協(xié)議中傳輸錯(cuò)誤率與量子比特翻轉(zhuǎn)概率關(guān)系曲線
可以看出,當(dāng)量子比特的翻轉(zhuǎn)概率在0到0.05之間時(shí),使用基于[7,1]CSS糾錯(cuò)碼的量子密鑰分配協(xié)議時(shí)的密鑰傳輸錯(cuò)誤率低于使用BB84協(xié)議時(shí)的密鑰傳輸錯(cuò)誤率。這意味著當(dāng)量子信道受噪聲干擾且干擾程度在一定范圍之內(nèi)時(shí),基于[7,1]CSS糾錯(cuò)碼的量子密鑰分配協(xié)議能夠以更高的可靠性進(jìn)行密鑰傳輸。
糾錯(cuò)碼不論在經(jīng)典通信還是量子通信中都有廣泛的應(yīng)用,在提高通信可靠性上有著不可比擬的重要作用。本文利用CSS糾錯(cuò)碼糾正量子錯(cuò)誤的能力,對BB84協(xié)議進(jìn)行了改進(jìn),提出了一種基于[7,1]CSS糾錯(cuò)碼的量子密鑰分配協(xié)議,在保持密鑰分配安全性的同時(shí)使得密鑰在含噪聲量子信道中的傳輸效率得到了提高?,F(xiàn)有的量子密碼協(xié)議均涉及量子比特的傳輸,因此都需要考慮信道噪聲的問題,將量子糾錯(cuò)碼融入量子密碼協(xié)議的設(shè)計(jì)中是將來的一個(gè)研究方向。