一種基於極化碼糾錯的量子密鑰分發後處理系統和方法與流程
2023-05-26 17:29:01
本發明涉及通信與信息安全技術領域,尤其涉及一種基於極化碼糾錯的量子密鑰分發後處理系統和方法。
背景技術:
量子密鑰分發(Quantum Key Distribution,QKD)能夠以絕對安全的方式為通信雙方分發安全密鑰,與「一次一密」的加密方案相結合可以構建起量子計算機也不能攻破的保密系統,因此成為了後量子時代信息安全與量子物理交叉研究的一個重要方向。同時,量子密鑰分發也是量子信息科學第一個取得實用化的技術,其無條件安全性對於軍事、銀行、政府等方面的信息安全及防護具有非常重要的意義和作用,所以受到了世界各國政府的重視,我國在「十一五」、「十二五」規劃中都將實用化量子密碼技術列為重點發展內容。
雖然量子力學原理確保了量子密鑰分發的絕對安全性,但在實際系統中,量子信道中存在的物理缺陷、環境噪聲以及攻擊者的竊聽操作會導致原始密鑰(Raw key)存在一定比例的錯誤比特。為了消除誤碼,量子密鑰分發系統需要在公開信道上對完成基比對以後的篩後密鑰(Sifted key)進行一系列的後處理(包括:誤碼糾錯,數據校驗和密性放大)以得到最終安全密鑰(Final secret key)。現有的量子密鑰分發後處理在速度和效率上都存在著一定的局限,最主要的問題在於誤碼糾錯和數據校驗這兩部分處理所導致的時間延遲和比特開銷,降低了量子密鑰分發的密鑰生成速率,因此成為了發展下一代高速量子密鑰分發系統的「瓶頸」。
技術實現要素:
為了克服現有技術存在的缺點與不足,本發明提供一種基於極化碼糾錯的量子密鑰分發後處理系統和方法,以降低量子密鑰分發後處理過程引入的計算延時,從而提高量子安全密鑰的生成速率。
為解決上述技術問題,本發明提供如下技術方案:
本發明的一種基於極化碼糾錯的量子密鑰分發後處理系統,包括依次連接的密鑰篩選模塊、參數估計模塊、極化碼糾錯模塊、一致性校驗模塊以及密性放大模塊,其中
所述密鑰篩選模塊:在發送方和接收方完成量子信道上的量子比特信息傳輸之後,發送方和接收方分別公開調製基與測量基,剔除基選擇不同的原始密鑰,而保留基選擇相同的原始密鑰形成篩選密鑰;
所述參數估計模塊:發送方和接收方從保留下來的篩選密鑰中共同挑選一小部分密鑰比特進行公開比對,並由比對結果計算量子誤碼率;若量子誤碼率高於或等於閾值則捨棄本次傳輸的所有密鑰比特,若小於閾值則調用極化碼糾錯模塊進行誤碼糾錯;
所述極化碼糾錯模塊:發送方對篩選密鑰中的未公開部分密鑰比特採用系統極化碼算法進行編碼,並將校驗信息發送給接收方,接收方根據校驗信息對自己所擁有的對應密鑰比特採用極化碼解碼算法糾正誤碼比特;
所述一致性校驗模塊:發送方和接收方對糾錯後的量子密鑰比特採用密碼學算法校驗其一致性,如果校驗成功則進入密性放大模塊,否則捨棄本次傳輸的所有密鑰比特;
所述密性放大模塊:發送方和接收方根據參數估計中所得到的量子誤碼率計算安全信息熵,並根據熵值的下限採用密碼學算法對雙方共同持有的量子密鑰比特進行信息壓縮,得到最終的密鑰比特。
作為優選的技術方案,所述極化碼糾錯模塊包括極化碼構造模塊、極化碼編碼器以及極化碼解碼器;
所述極化碼構造模塊根據參數估計模塊得到的量子誤碼率評估信道性能並產生編碼結構;
所述極化碼編碼器根據編碼結構對密鑰比特進行編碼運算產生校驗比特;
所述極化碼解碼器將校驗比特與本地密鑰比特混合,並根據編碼結構進行解碼運算用來糾正本地密鑰比特中的誤碼比特。
本發明還提供了一種基於極化碼糾錯的量子密鑰分發後處理方法,包括以下步驟:
S1、發送方和接收方在量子信道上完成量子比特信息傳輸後,發送方與接收方各自擁有一串量子比特所對應的原始密鑰,然後發送方/接收方將其在量子傳輸過程中所選擇的一系列調製基/測量基公開發送給對方;
S2、接收方/發送方接收到發送方/接收方所公開的調製基/測量基以後,與自己在之前量子傳輸過程中所選擇的一系列測量基/調製基進行逐一比對,若相同,則保留與該相同基所對應位置的原始密鑰比特作為篩選密鑰比特;若不同,則與該相異基所對應位置的原始密鑰比特將被丟棄和剔除;經過這一過程所保留的篩選密鑰比特組成了篩選密鑰;
S3、發送方以及接收方從篩選密鑰中挑選一部分密鑰比特公開進行逐一0/1比對,且根據比對結果中比特差異數計算量子誤碼率,若量子誤碼率高於或等於安全閾值,則捨棄本次傳輸的所有密鑰比特;若量子誤碼率小於安全閾值,則調用糾錯模塊對密鑰比特進行誤碼糾錯;
S4、通過誤碼糾錯後,發送方和接收方各自採用哈希算法計算發送方密鑰比特與接收方糾錯後密鑰比特的哈希值,並公開比較是否一致;若哈希值一致,則進入密性放大模塊;若哈希值不一致,則捨棄本次傳輸的所有密鑰比特;
S5、對進入密性放大模塊的密鑰比特,將其進行信息壓縮,得到最終的安全密鑰比特。
作為優選的技術方案,所述步驟S3中進行誤碼糾錯,其具體過程為:
S31、發送方和接收方均使用極化碼構造模塊根據量子誤碼率產生編碼結構;
S32、發送方的極化碼編碼器模塊根據編碼結構對密鑰比特進行編碼運算,使其產生校驗比特,並發送給接收方;
S33、接收方收到校驗比特後,其極化碼解碼器將校驗比特與本地密鑰比特混合,並根據編碼結構進行解碼運算用來糾正本地密鑰比特中的誤碼比特。
作為優選的技術方案,所述步驟S31-S32,其具體為:
S311、發送方根據量子誤碼率估計信道參數,並根據信道參數從極化碼構造器中選擇對應的碼字結構,將碼字結構中的休眠比特位置的值設置為0,並將密鑰比特安排在碼字結構中的信息比特位置,產生N比特長的未編碼碼字;
S312、發送方對N比特長度的未編碼碼字進行n=log2N輪的奇偶位異或運算和模-2均勻洗牌置換,完成編碼過程。
作為優選的技術方案,所述步驟S31-S32中編碼過程,該過程的數學表述如下:
(a)給定參數N、K、A和來構造矩陣GN,其中,N為碼字長度,K為信息比特長度,A為信息比特位置,為休眠比特的設置值;
(b)矩陣GN為N維的位反向置換矩陣BN與2維Hadamard矩陣的n階克羅內克積的乘積:
<![CDATA[ G N = B N F n ]]>
<![CDATA[ B N = R N ( I 2 B N / 2 ) ]]>
RN為段長為N的模-2均勻洗牌置換矩陣;
(c)將N比特的未編碼碼字與構造矩陣相乘得到編碼碼字編碼公式如下:
作為優選的技術方案,所述步驟S33中進行解碼運算,其具體過程為:
S331、對編碼後的N位碼字,從中提取N-K位校驗比特通過經典信道發送給接收方;
S332、接收方將收到的N-K位校驗比特與本地的K位密鑰比特混合成為N位的接收碼字y,並進行解碼運算得到解碼結果值。
8.根據權利要求7所述的一種基於極化碼糾錯的量子密鑰分發後處理方法,其特徵在於,所述解碼運算使用SC解碼算法,其過程為:
(1)由接收到的編碼碼字,再根據似然比公式,算出最初始信道似然比值:
其中W(yi|0)為發送方發送0而接收方接收到yi的後驗概率,W(yi|1)為發送方發送1而接收方接收到yi的後驗概率;
(2)由當前信道似然比值,再結合有效信息位,由似然值遞歸公式,計算當前信道的似然值,似然值遞歸公式式如下:
<![CDATA[ L N 2 i - 1 ( y 1 N , u ^ 1 2 i - 2 ) = L N 2 i ( y 1 N 2 , u ^ 1 , o 2 i - 2 u ^ 1 , e 2 i - 2 ) L N 2 i ( y N 2 + 1 N , u ^ 1 , e 2 i - 2 ) + 1 L N 2 i ( y 1 N 2 , u ^ 1 , o 2 i - 2 u ^ 1 , e 2 i - 2 ) + L N 2 i ( y N 2 + 1 N , u ^ 1 , e 2 i - 2 ) ]]>
<![CDATA[ L N 2 i ( y 1 N , u ^ 1 2 i - 1 ) = L N 2 i ( y 1 N 2 , u ^ 1 , o 2 i - 2 u ^ 1 , e 2 i - 2 ) 1 - 2 u ^ 2 i - 1 L N 2 i ( y N 2 + 1 N , u ^ 1 , e 2 i - 2 ) ]]>
其中,表示奇數位似然值,表示為偶數位似然值,表示已經解碼序列估計值,表示已解碼序列中奇數位估計值,表示已解碼序列中偶數位估計值,表示為異或運算;
(3)結合編碼序列中有效信息位傳入零噪信道,休眠比特位傳入全噪噪聲的特徵,將計算的零噪信道的似然比值代入估計值判決公式,計算最終的解碼估計值,全噪信道上的解碼估計值則直接等於休眠比特位設置值0,本例休眠比特位設置值全為0,最後輸出最終解碼結果值,所述估計值判決公式為:
採用上述技術方案後,本發明至少具有如下有益效果:
本發明採用了極化碼糾錯的技術方案,解決了量子密鑰分發後處理過程中計算複雜、延時高、吞吐率低的技術問題,基於極化碼糾錯的量子密鑰分發後處理方法具有線性級的編碼複雜度和解碼複雜度,使得後處理糾錯算法延時隨處理密鑰長度的增加呈線性增長而非指數增長關係,有效降低了量子密鑰分發系統中由後處理過程所引入的計算延時,提高了後處理的速度,從而最終提高量子安全密鑰的生成速率。
附圖說明
圖1為本發明一種基於極化碼糾錯的量子密鑰分發後處理系統的結構模塊圖。
圖2為本發明一種基於極化碼糾錯的量子密鑰分發後處理系統的極化碼糾錯模塊的結構圖。
圖3為本發明一種基於極化碼糾錯的量子密鑰分發後處理方法的步驟流程圖。
具體實施方式
需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互結合,下面結合附圖和具體實施例對本申請作進一步詳細說明。
如圖1所示,本實施例提供的一種基於極化碼糾錯的量子密鑰分發後處理系統,包括:依次連接的密鑰篩選模塊、參數估計模塊、極化碼糾錯模塊、一致性校驗模塊以及密性放大模塊,其中
所述密鑰篩選模塊:在發送方和接收方完成量子信道上的量子比特信息傳輸之後,發送方和接收方分別公開調製基與測量基,剔除基選擇不同的原始密鑰,而保留基選擇相同的原始密鑰形成篩選密鑰;
所述參數估計模塊:發送方和接收方從保留下來的篩選密鑰中共同挑選一小部分密鑰比特進行公開比對,並由比對結果計算量子誤碼率;若量子誤碼率高於或等於閾值則捨棄本次傳輸的所有密鑰比特,若小於閾值則調用極化碼糾錯模塊進行誤碼糾錯;
所述極化碼糾錯模塊:發送方對篩選密鑰中的未公開部分密鑰比特採用系統極化碼算法進行編碼,並將校驗信息發送給接收方,接收方根據校驗信息對自己所擁有的對應密鑰比特採用極化碼解碼算法糾正誤碼比特;
所述一致性校驗模塊:發送方和接收方對糾錯後的量子密鑰比特採用密碼學算法校驗其一致性,如果校驗成功則進入密性放大模塊,否則捨棄本次傳輸的所有密鑰比特;
所述密性放大模塊:發送方和接收方根據參數估計中所得到的量子誤碼率計算安全信息熵,並根據熵值的下限採用密碼學算法對雙方共同持有的量子密鑰比特進行信息壓縮,得到絕對安全的密鑰比特。
如圖2所示,所述極化碼糾錯模塊包括極化碼構造模塊、極化碼編碼器以及極化碼解碼器;
所述極化碼構造模塊根據參數估計模塊得到的量子誤碼率評估信道性能並產生編碼結構;
所述極化碼編碼器根據編碼結構對密鑰比特進行編碼運算產生校驗比特;
所述極化碼解碼器將校驗比特與本地密鑰比特混合,並進行解碼運算用來糾正本地密鑰比特中的誤碼比特。
所述極化碼構造模塊針對不同的信道參數預置了極化碼編碼碼字結構;
所述極化碼解碼器可採用連續消除(SC,Successive Cancellation)、簡化連續消除(SSC,Simplified Successive Cancellation)、列表連續消除(SCL,Successive Cancellation List)或置信傳播(BP,Belief Propagation)解碼算法。
如圖3所示,本實施例還提供了一種基於極化碼糾錯的量子密鑰分發後處理方法,包括以下步驟:
S1、發送方和接收方在量子信道上完成量子比特信息傳輸後,發送方與接收方各自擁有一串量子比特所對應的原始密鑰,然後發送方/接收方將其在量子傳輸過程中所選擇的一系列調製基/測量基公開發送給對方;
S2、接收方/發送方接收到發送方/接收方所公開的調製基/測量基以後,與自己在之前量子傳輸過程中所選擇的一系列測量基/調製基進行逐一比對,若相同,則保留與該相同基所對應位置的原始密鑰比特作為篩選密鑰比特;若不同,則與該相異基所對應位置的原始密鑰比特將被丟棄和剔除;經過這一過程所保留的篩選密鑰比特組成了篩選密鑰;
S3、發送方以及接收方從篩選密鑰中挑選一部分密鑰比特公開進行逐一0/1比對,且根據比對結果中比特差異數計算量子誤碼率,若量子誤碼率高於或等於安全閾值,本實施例中所述安全閾值為11%,則捨棄本次傳輸的所有密鑰比特;若量子誤碼率小於安全閾值,則調用糾錯模塊對密鑰比特進行誤碼糾錯;
本步驟中進行誤碼糾錯的具體過程為:
S31、發送方和接收方均使用極化碼構造模塊根據量子誤碼率產生編碼結構;
S32、發送方的極化碼編碼器模塊根據編碼結構對密鑰比特進行編碼運算,使其產生校驗比特,並發送給接收方;
S33、接收方收到校驗比特後,其極化碼解碼器將校驗比特與本地密鑰比特混合,並進行解碼運算用來糾正本地密鑰比特中的誤碼比特。
所述步驟S31-S32,其具體為:
S311、發送方根據量子誤碼率估計信道參數,並根據信道參數從極化碼構造器中選擇對應的碼字結構,將碼字結構中的休眠比特位置的值設置為0,並將密鑰比特安排在碼字結構中的信息比特位置,產生N比特長的未編碼碼字;
S312、發送方對N比特長度的未編碼碼字進行n=log2N輪的奇偶位異或運算和模-2均勻洗牌置換,完成編碼過程。
所述步驟S31-S32中編碼過程,該過程的數學表述如下:
(a)給定參數N、K、A和來構造矩陣GN,其中,N為碼字長度,K為信息比特長度,A為信息比特位置,為休眠比特的設置值;
(b)矩陣GN為N維的位反向置換矩陣BN與2維Hadamard矩陣的n階克羅內克積的乘積:
<![CDATA[ G N = B N F n ]]>
<![CDATA[ B N = R N ( I 2 B N / 2 ) ]]>
RN為段長為N的模-2均勻洗牌置換矩陣;
(c)將N比特的未編碼碼字與構造矩陣相乘得到編碼碼字編碼公式如下:
所述步驟S33中進行解碼運算,其具體過程為:
S331、對編碼後的N位碼字,從中提取N-K位校驗比特通過經典信道發送給接收方;
S332、接收方將收到的N-K位校驗比特與本地的K位密鑰比特混合成為N位的接收碼字y,並進行解碼運算得到解碼結果值;
所述解碼運算使用SC解碼算法,其過程為:
(1)由接收到的編碼碼字,再根據似然比公式,算出最初始信道似然比值:
其中W(yi|0)為發送方發送0而接收方接收到yi的後驗概率,W(yi|1)為發送方發送1而接收方接收到yi的後驗概率;
(2)由當前信道似然比值,再結合有效信息位,由似然值遞歸公式,計算當前信道的似然值,似然值遞歸公式式如下:
<![CDATA[ L N 2 i - 1 ( y 1 N , u ^ 1 2 i - 2 ) = L N 2 i ( y 1 N 2 , u ^ 1 , o 2 i - 2 u ^ 1 , e 2 i - 2 ) L N 2 i ( y N 2 + 1 N , u ^ 1 , e 2 i - 2 ) + 1 L N 2 i ( y 1 N 2 , u ^ 1 , o 2 i - 2 u ^ 1 , e 2 i - 2 ) + L N 2 i ( y N 2 + 1 N , u ^ 1 , e 2 i - 2 ) ]]>
<![CDATA[ L N 2 i ( y 1 N , u ^ 1 2 i - 1 ) = L N 2 i ( y 1 N 2 , u ^ 1 , o 2 i - 2 u ^ 1 , e 2 i - 2 ) 1 - 2 u ^ 2 i - 1 L N 2 i ( y N 2 + 1 N , u ^ 1 , e 2 i - 2 ) ]]>
其中,表示奇數位似然值,表示為偶數位似然值,表示已經解碼序列估計值,表示已解碼序列中奇數位估計值,表示已解碼序列中偶數位估計值,表示為異或運算;
(3)結合編碼序列中有效信息位傳入零噪信道,休眠比特位傳入全噪噪聲的特徵,將計算的零噪信道的似然比值代入估計值判決公式,計算最終的解碼估計值,全噪信道上的解碼估計值則直接等於休眠比特位設置值0,本例休眠比特位設置值全為0,最後輸出最終解碼結果值,所述估計值判決公式為:
S4、通過誤碼糾錯後,發送方和接收方各自採用哈希算法計算發送方密鑰比特與接收方糾錯後密鑰比特的哈希值,並公開比較是否一致;若哈希值一致,則進入密性放大模塊;若哈希值不一致,則捨棄本次傳輸的所有密鑰比特;
S5、對進入密性放大模塊的密鑰比特,將其進行信息壓縮,得到最終的安全密鑰比特。
本實施例是對量子密鑰分發後處理系統的實用化技術進行了研究與攻關,提出了一種結合極化碼算法的新型量子密鑰分發後處理方法,對推進量子保密技術,信息安全技術以及網絡空間安全具有積極作用,預計未來在軍事,金融,政府等領域,具有廣闊的市場與積極的社會效益。儘管已經示出和描述了本發明的實施例,對於本領域的普通技術人員而言,可以理解的是,在不脫離本發明的原理和精神的情況下可以對這些實施例進行多種等效的變化、修改、替換和變型,本發明的範圍由所附權利要求及其等同範圍限定。