適合連續(xù)變量量子密鑰分發(fā)的高速秘密協(xié)商方法
【專利摘要】本發(fā)明提供了一種適合連續(xù)變量量子密鑰分發(fā)的高速秘密協(xié)商方法,包括:步驟A:變量一維化處理步驟,是指對譯碼過程中的二維矩陣一維化處理;步驟B:多幀數(shù)據(jù)并行處理步驟,是指在變量一維化處理的基礎上,將多個數(shù)據(jù)幀并列后實現(xiàn)并行處理;本發(fā)明具有如下的有益效果:1、變量一維化處理以及多幀數(shù)據(jù)并行化處理。其中變量一維化處理是指將校驗矩陣、原始信息、譯碼中間變量等需要用二維矩陣表示的變量使用一維向量表示。多幀數(shù)據(jù)并行化處理是指在變量一維化處理的基礎上對多幀數(shù)據(jù)同時處理。2、本發(fā)明能夠大幅度節(jié)省運算資源和存儲資源,并最終大幅提高譯碼速度和系統(tǒng)密鑰率。
【專利說明】適合連續(xù)變量量子密鑰分發(fā)的高速秘密協(xié)商方法
【技術領域】
[0001] 本發(fā)明涉及高速秘密協(xié)商方法,具體地,涉及適合連續(xù)變量量子密鑰分發(fā) (CV-QKD,Continuous Variable-Quantum Key Distribution)的高速秘密協(xié)商方法,尤其 是通過優(yōu)化現(xiàn)有的CV-QKD數(shù)據(jù)協(xié)商階段的LDPC譯碼算法從而大幅提高協(xié)商速率的方法。
【背景技術】
[0002] 在計算機信息技術迅速發(fā)展的背景下,信息技術對信息安全性的要求日益增加。 其中,連續(xù)變量量子密鑰分發(fā)因其具有物理的無條件安全性而成為通信技術的一個重要分 支,進而,連續(xù)變量量子密鑰分發(fā)技術引起了廣泛關注,因為其既能在物理上保證通信的無 條件安全性,又相比與離散變量量子密鑰分發(fā)技術在理論上具有更高的通信速率和效率。 目前連續(xù)變量量子密鑰分發(fā)吸引了世界上許多研究機構對其理論和應用技術進行了深入 的研究。
[0003] 然而,CV-QKD系統(tǒng)的主要瓶頸在于數(shù)據(jù)后處理階段:一方面數(shù)據(jù)協(xié)商時的協(xié)商效 率限制了 CV-QKD系統(tǒng)的通信距離,另一方面由于協(xié)商算法計算量巨大而計算緩慢從而限 制了 CV-QKD系統(tǒng)的密鑰速率。
[0004] 在連續(xù)變量量子密鑰分發(fā)系統(tǒng)中,由于量子信號十分微弱,在經(jīng)過長距離的傳統(tǒng) 光纖傳輸后,其信噪比通常處于很低的水平。為了在極低的信噪比環(huán)境中從原始信息中提 取密鑰,必須采用性能逼近香農(nóng)限的譯碼算法。出于這種考慮,人們通常采用低密度奇偶校 驗碼(LDPC)來進行數(shù)據(jù)協(xié)商。
[0005] 在傳統(tǒng)的LDPC碼應用中,LDPC具有多種譯碼方式,如置信轉播(BP,Belief Propagation)算法、最小和(Min-Sum BP)算法、歸一化最小和(Normalized Min-Sum)算法 以及偏置最小和(Offset Min-Sum)算法。這些算法性能各異,復雜度也不同,BP算法具有 較高的復雜度但性能最佳,而簡化的BP算法則通過一些近似操作降低復雜度,但也犧牲了 部分性能。而在CV-QKD系統(tǒng)中,用于協(xié)商的LDPC編譯碼方法與傳統(tǒng)LDPC編譯碼原理并不 完全一樣:傳統(tǒng)LDPC碼在發(fā)送端使用生成矩陣在原始信息中增加校驗節(jié)點,并在譯碼階段 根據(jù)變量節(jié)點和校驗節(jié)點之間反復的信息傳遞實現(xiàn)糾錯譯碼;而在CV-QKD系統(tǒng)中,發(fā)送端 并不會對原始信息進行編碼,即接收端的接收數(shù)據(jù)各點之間相互獨立,并不存在校驗節(jié)點。 為實現(xiàn)糾錯譯碼功能,發(fā)送端還需要發(fā)送一串用于校驗的校驗信息(Syndrome,通常由隨機 密鑰串與校驗矩陣相乘產(chǎn)生)。接收端根據(jù)接收到的連續(xù)變量,使用BP算法使接受信息的 Syndrome根據(jù)發(fā)送端的Syndrome進行糾錯,并最終提取密鑰。
[0006] 盡管編譯碼原理不同,譯碼器的譯碼結構確是類似的,傳統(tǒng)LDPC譯碼是在校驗節(jié) 點和變量節(jié)點之間不斷傳遞信息進而實現(xiàn)糾錯,CV-QKD中的LDPC譯碼也是通過在接收數(shù) 據(jù)的不同節(jié)點之間不斷傳遞信息進而提取密鑰,因此譯碼過程比較類似。
[0007] 在傳統(tǒng)的譯碼方式實現(xiàn)上,對于Η矩陣的運算主要有兩種方式:一種是不改變Η矩 陣的結構,每次運算均使用矩陣運算。另一種是先記錄Η矩陣中元素" 1"的位置,在運算過 程中只遍歷元素"1"的位置。前一種方法實現(xiàn)簡單,但是運算量大,因為Η矩陣是稀疏矩 陣,其中元素"1"所占的比例往往小于1%。而后一種方法雖然運算量小,但是每次根據(jù)所 記錄的元素" 1"的位置來遍歷參與運算的其它變量的值引入了更多循環(huán)操作,使得算法復 雜度提1?。
[0008] 另一方面,傳統(tǒng)的譯碼方式在譯碼過程中將Η矩陣和其它中間變量都按照二維矩 陣的形式來處理,兩個維度不僅浪費存儲空間,也不利于并行計算。
[0009] 為了進一步減少譯碼過程中不必要的計算量和其它操作,我們將譯碼過程中的所 有變量都使用一維數(shù)組表示,其中Η矩陣用一個一維數(shù)組表示其中元素" 1"的位置。進一 步,將譯碼過程用一維數(shù)組實現(xiàn)后,可以很方便地將不同的譯碼過程并行處理,即:將不同 的列重新組成一個矩陣,其中每一列代表一次譯碼,從而進一步提高譯碼速率。
【發(fā)明內(nèi)容】
[0010] 針對現(xiàn)有技術中的缺陷,本發(fā)明的目的是提供一種連續(xù)變量量子密鑰分發(fā)系統(tǒng)中 的高速數(shù)據(jù)協(xié)商方法,是一種通過優(yōu)化現(xiàn)有的CV-QKD系統(tǒng)中數(shù)據(jù)協(xié)商階段的LDPC譯碼算 法從而大幅提高協(xié)商速率的方法。
[0011] 根據(jù)本發(fā)明提供的一種適合連續(xù)變量量子密鑰分發(fā)的高速秘密協(xié)商方法,包括:
[0012] 步驟A :變量一維化處理步驟;
[0013] 步驟B :多幀數(shù)據(jù)并行處理步驟;
[0014] 其中:
[0015] 所述變量一維化處理步驟,是指對譯碼過程中的二維矩陣一維化處理;
[0016] 所述多幀數(shù)據(jù)并行處理步驟,是指在變量一維化處理的基礎上,將多個數(shù)據(jù)幀并 列后實現(xiàn)并行處理。
[0017] 優(yōu)選地,所述步驟A包括如下步驟:
[0018] 步驟A1 :在譯碼開始前對校驗矩陣H、譯碼初始信息L(Ci)、校驗子Syn進行一維化 處理;
[0019] 步驟A2 :譯碼(指傳統(tǒng)譯碼方法)中所涉及的矩陣運算均通過一維的下標調用實 現(xiàn);
[0020] 其中,所述下標調用的過程為:根據(jù)當前運算所對應的原二維矩陣的行、列位置取 出對應的操作數(shù),并將運算結果根據(jù)下標值保存在一維向量的相應位置。
[0021] 所述步驟B包括如下步驟:
[0022] 步驟B1 :通過步驟A -維化處理后通過將不同數(shù)據(jù)幀并排來實現(xiàn)并行譯碼,以提 高譯碼速度。
[0023] 優(yōu)選地,在所述矩陣運算過程中的下標調用無需循環(huán)判斷來確定位置,而是通過 順序存儲使二維矩陣中的行列位置與一維數(shù)組中的保存位置一一對應。
[0024] 優(yōu)選地,通過各幀并排實現(xiàn)的并行計算為單線程并行計算,而非利用多線程實現(xiàn) 的并行計算。
[0025] 優(yōu)選地,所述步驟A2包括如下步驟:
[0026] 步驟A201 :首先將Η矩陣向量化,使用一維向量來記錄Η矩陣中元素1的位置,其 中,一維向量第i位的數(shù)字k表示從Η矩陣中的左上角開始按列順序計數(shù),數(shù)到第i個元素 1時計數(shù)為k ;同時用另外兩個一維向量R和C分別記錄Η矩陣中對應的第i個元素1所在 的行和列;
[0027] 步驟A202 :對于譯碼過程中所涉及的中間變量也用一維向量表示,其中,由于事 先已經(jīng)記錄Η矩陣中每個元素1的行列位置,這樣在中間變量運算時,根據(jù)此次運算是與Η 矩陣行相關的運算或者是與Η矩陣列相關的運算而分別調用坐標向量R和C進行運算。
[0028] 優(yōu)選地,為了實現(xiàn)多幀數(shù)據(jù)并行處理,所述適合連續(xù)變量量子密鑰分發(fā)的高速秘 密協(xié)商方法包括如下步驟:
[0029] 首先將譯碼初始信息L(Ci)用一維向量表示(假設用行向量表示);
[0030] 在開始譯碼前,連續(xù)讀取S幀L (Ci)數(shù)據(jù)并按行并列,組成一個尺寸為S*N的矩陣, N為每幀L(Ci)數(shù)據(jù)的長度;
[0031] 在譯碼過程中,由于Η矩陣的結構對于每次譯碼過程是相同的,對一維向量第i位 的操作能夠擴展到對尺寸為S*N的矩陣第i列的操作,即每一個操作的操作對象由單幀譯 碼時的一個元素變成多幀譯碼時的同一列元素;其中,Η矩陣是指LDPC碼的校驗矩陣。
[0032] 其次,在譯碼過程中,需要對每一個中間變量進行相同操作,即都使用S行的矩陣 表示,每次操作也都以列為最小單位,由此即可實現(xiàn)多幀并行的譯碼操作。
[0033] 與現(xiàn)有技術相比,本發(fā)明具有如下的有益效果:
[0034] 1、變量一維化處理以及多幀數(shù)據(jù)并行化處理。其中變量一維化處理是指將校驗矩 陣、原始信息、譯碼中間變量等需要用二維矩陣表示的變量使用一維向量表示。多幀數(shù)據(jù)并 行化處理是指在變量一維化處理的基礎上對多幀數(shù)據(jù)同時處理。
[0035] 2、本發(fā)明能夠大幅度節(jié)省運算資源和存儲資源,并最終大幅提高譯碼速度和系統(tǒng) 密鑰率。
【專利附圖】
【附圖說明】
[0036] 通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、 目的和優(yōu)點將會變得更明顯:
[0037] 圖1為傳統(tǒng)譯碼圖。
[0038] 圖2為一維化譯碼流程圖。
[0039] 圖3為一維化S幀并行譯碼流程圖。
【具體實施方式】
[0040] 下面結合具體實施例對本發(fā)明進行詳細說明。以下實施例將有助于本領域的技術 人員進一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應當指出的是,對本領域的普通技術 人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進。這些都屬于本發(fā)明 的保護范圍。
[0041] 本發(fā)明通過調整CV-QKD系統(tǒng)中數(shù)據(jù)后處理階段LDPC譯碼器的譯碼結構實現(xiàn)了高 速的LDPC譯碼,從而提高了系統(tǒng)的密鑰率,在使用GPU (Graphic Processing Unit)做運算 的情況下能夠達到25Mbit/s的密鑰率,所使用的譯碼算法為BP(Belief poporgation,置 信傳播)算法。
[0042] 為實現(xiàn)上述目的,本發(fā)明采用的技術方案如下:
[0043] 首先將Η矩陣向量化,使用一維向量來記錄Η矩陣中元素" 1"的位置,其中,一維 向量第i位的數(shù)字k表示從Η矩陣中的左上角開始按列順序計數(shù),數(shù)到第i個元素" 1"時 計數(shù)為k。因此表示Η矩陣的一維數(shù)組中數(shù)字是遞增的。同時用另外兩個一維向量R和C 記錄Η矩陣中對應的第i個"1"所在的行和列,如假設一個碼率R = 0.5的(6, 3) LDPC碼 的Η矩陣為:
[0044]
【權利要求】
1. 一種適合連續(xù)變量量子密鑰分發(fā)的高速秘密協(xié)商方法,其特征在于,包括: 步驟A :變量一維化處理步驟; 步驟B :多幀數(shù)據(jù)并行處理步驟; 其中: 所述變量一維化處理步驟,是指對譯碼過程中的二維矩陣一維化處理; 所述多幀數(shù)據(jù)并行處理步驟,是指在變量一維化處理的基礎上,將多個數(shù)據(jù)幀并列后 實現(xiàn)并行處理。
2. 根據(jù)權利要求1所述的適合連續(xù)變量量子密鑰分發(fā)的高速秘密協(xié)商方法,其特征在 于,所述步驟A包括如下步驟: 步驟A1 :在譯碼開始前對校驗矩陣H、譯碼初始信息UQ)、校驗子Syn進行一維化處 理; 步驟A2 :譯碼中所涉及的矩陣運算均通過一維的下標調用實現(xiàn); 其中,所述下標調用的過程為:根據(jù)當前運算所對應的原二維矩陣的行、列位置取出對 應的操作數(shù),并將運算結果根據(jù)下標值保存在一維向量的相應位置; 所述步驟B包括如下步驟: 步驟B1 :通過步驟A-維化處理后通過將不同數(shù)據(jù)幀并排來實現(xiàn)并行譯碼,以提高譯 碼速度。
3. 根據(jù)權利要求2所述的適合連續(xù)變量量子密鑰分發(fā)的高速秘密協(xié)商方法,其特征在 于,在所述矩陣運算過程中的下標調用無需利用循環(huán)判斷來確定位置,而是通過順序存儲 使二維矩陣中的行列位置與一維數(shù)組中的保存位置一一對應。
4. 根據(jù)權利要求3所述的適合連續(xù)變量量子密鑰分發(fā)的高速秘密協(xié)商方法,其特征在 于,通過各幀并排實現(xiàn)的并行計算為單線程并行計算,而非利用多線程實現(xiàn)的并行計算。
5. 根據(jù)權利要求3所述的適合連續(xù)變量量子密鑰分發(fā)的高速秘密協(xié)商方法,其特征在 于,所述步驟A2包括如下步驟: 步驟A201 :首先將Η矩陣向量化,使用一維向量來記錄Η矩陣中元素1的位置,其中,一 維向量第i位的數(shù)字k表示從Η矩陣中的左上角開始按列順序計數(shù),數(shù)到第i個元素1時 計數(shù)為k ;同時用另外兩個一維向量R和C分別記錄Η矩陣中對應的第i個元素1所在的 行和列;其中,Η矩陣是指LDPC碼的校驗矩陣; 步驟Α202 :對于譯碼過程中所涉及的中間變量也用一維向量表示,其中,由于事先已 經(jīng)記錄Η矩陣中每個元素1的行列位置,這樣在中間變量運算時,根據(jù)此次運算是與Η矩陣 行相關的運算或者是與Η矩陣列相關的運算而分別調用坐標向量R和C進行運算。
6. 根據(jù)權利要求1所述的適合連續(xù)變量量子密鑰分發(fā)的高速秘密協(xié)商方法,其特征在 于,為了實現(xiàn)多幀數(shù)據(jù)并行處理,所述適合連續(xù)變量量子密鑰分發(fā)的高速秘密協(xié)商方法包 括如下步驟: 首先將譯碼初始信息UQ)用一維向量表示; 在開始譯碼前,連續(xù)讀取S幀L (CJ數(shù)據(jù)并按行并列,組成一個尺寸為S*N的矩陣,N為 每幀UQ)數(shù)據(jù)的長度; 在譯碼過程中,由于Η矩陣的結構對于每次譯碼過程是相同的,對一維向量第i位的操 作能夠擴展到對尺寸為S*N的矩陣第i列的操作,即每一個操作的操作對象由單幀譯碼時 的一個元素變成多幀譯碼時的同一列元素;其中,Η矩陣是指LDPC碼的校驗矩陣; 其次,在譯碼過程中,需要對每一個中間變量進行相同操作,即都使用S行的矩陣表 示,每次操作也都以列為最小單位,由此即可實現(xiàn)多幀并行的譯碼操作。
【文檔編號】H03M13/11GK104124980SQ201410338823
【公開日】2014年10月29日 申請日期:2014年7月16日 優(yōu)先權日:2014年7月16日
【發(fā)明者】林大凱, 黃端, 劉友明, 汪超, 黃鵬, 曾貴華 申請人:上海交通大學