本發(fā)明屬于量子密鑰分發(fā),具體涉及一種提升糾錯效率的方法及系統(tǒng)。
背景技術(shù):
1、本部分的陳述僅僅是提供了與本發(fā)明相關(guān)的背景技術(shù)信息,不必然構(gòu)成在先技術(shù)。
2、量子密鑰分發(fā)(quantum?key?di?str?ibut?ion,qkd)利用量子的物理基本特性來實現(xiàn)安全的密鑰分發(fā)。發(fā)送端將待分發(fā)密鑰信息制備為不同量子態(tài)的光子,利用量子力學(xué)的基本原理保證了信息傳輸過程中的竊聽和破譯均可被接收端感知和處理,從而提供了一種更為可靠的密鑰分發(fā)方式,如圖1所示,為完整的qkd實現(xiàn)流程。
3、量子密鑰分發(fā)過程中,糾錯目的是對兩端存在一定差異的篩選后密鑰(siftedkey)通過公布部分信息完成糾正,確保兩端密鑰能夠保持一致的過程。
4、目前,量子密鑰提取過程中進行糾錯的算法主要包括兩種:wi?nnow算法和ldpc算法。wi?nnow算法資源消耗低,實現(xiàn)簡單,但糾錯效率較差;ldpc算法實現(xiàn)過程復(fù)雜,算法復(fù)雜度較高,造成糾錯處理帶寬較低,但糾錯效率較高。wi?nnow糾錯使用奇偶校驗碼來發(fā)現(xiàn)錯誤,使用漢明碼來糾正單b?it錯誤,經(jīng)過多輪交織和迭代后,從而實現(xiàn)兩端原始密鑰一致,每輪奇偶校驗一致時,認(rèn)為糾錯完成,計算兩端密鑰的雜湊值或crc值,若雜湊值或crc值不一樣則拋棄該批次密鑰;若雜湊值或crc值一樣則輸出糾錯后密鑰,主要交互流程如圖2所示。
5、糾錯過程中,碼長n包括信息位和校驗位,信息位為k,則校驗位為m=n-k,碼率為r=k/n。糾錯效率是用來衡量糾錯性能的參量,也稱作f因子。糾錯效率的物理意義是糾錯帶來的冗余信息量iredundancy與信道轉(zhuǎn)移概率引起損失的信息量ilose的比值,即:
6、
7、在一般情況下f>1,只有在理想情況下,f=1,即糾錯帶來的冗余信息量正好彌補信道轉(zhuǎn)移概率引起損失的信息量。
8、假設(shè)在gf(2)域上的碼元0、1等概率分布,原始消息序列為c,長度為k,信道轉(zhuǎn)移概率為e;用于糾錯過程中泄露的序列p,長度為n-k。為糾錯帶來的冗余信息即是序列p,因此有:
9、iredundancy=n-k
10、假如這樣定義a系統(tǒng):c和p都通過信道轉(zhuǎn)移概率為e的bsc信道傳輸,那么a系統(tǒng)的損失信息量表達如下:
11、ilose=[-elog2e-(1-e)log2(1-e)]n
12、此時有下列方程成立:
13、
14、
15、可得到a系統(tǒng)的f因子計算公式如下:
16、
17、假如這樣定義b系統(tǒng):c通過信道轉(zhuǎn)移概率為e的bsc信道傳輸,p通過無差錯信道傳輸,那么b系統(tǒng)的損失信息量表達如下:
18、ilose=[-e?log2e-(1-e)log2(1-e)]k
19、此時有下列方程成立:
20、
21、可得到b系統(tǒng)的f因子計算公式如下:
22、
23、用于qkd系統(tǒng)的糾錯與傳統(tǒng)的糾錯存在些差異,傳統(tǒng)的糾錯只注重原始消息序列為c能否在bsc信道傳輸過程中到達目的后被正確修正。qkd系統(tǒng)的糾錯用于糾正密鑰分發(fā)設(shè)備兩端所產(chǎn)生的對稱密鑰,通過bsc信道或無差錯信道將一端的密鑰校驗序列傳遞到另一端完成糾錯。由于qkd系統(tǒng)模型以糾錯密鑰損失量來構(gòu)建模型,所以按a系統(tǒng)計算。
24、如圖3所示,目前采用的糾錯算法實測效率和對應(yīng)誤碼率關(guān)系圖,可以看出,糾錯效率在誤碼率<2%的情況下,甚至達到了4.0以上,與目標(biāo)糾錯效率f=1.5左右,差別甚大。糾錯效率較差影響隱私放大因子,從而影響最終的密鑰生成量。
技術(shù)實現(xiàn)思路
1、本發(fā)明為了解決上述問題,提出了一種提升糾錯效率的方法及系統(tǒng),本發(fā)明通過建模,根據(jù)不同碼長、誤碼率范圍的密鑰,選取對應(yīng)的合適段長完成糾錯,從而有效提高系統(tǒng)的糾錯效率。
2、根據(jù)一些實施例,本發(fā)明采用如下技術(shù)方案:
3、一種提升糾錯效率的方法,包括以下步驟:
4、在糾錯過程中,計算密鑰真實錯誤率,在每一次糾錯成功時根據(jù)計算的真實錯誤率,確定下一次糾錯段長;
5、所述糾錯段長根據(jù)預(yù)先分析的段長、真實錯誤率與誤碼率之間關(guān)系確定。
6、作為可選擇的實施方式,當(dāng)?shù)谝淮螌螽a(chǎn)生篩選后密鑰時,按照原始糾錯段長進行處理。
7、作為可選擇的實施方式,當(dāng)某次糾錯成功時,根據(jù)真實錯誤率選擇下一次糾錯段長處理方式,當(dāng)某次糾錯失敗時,下一次糾錯按最大誤碼率范圍選取段長。
8、作為可選擇的實施方式,根據(jù)碼長、錯誤率和分段策略的要求,計算總段數(shù)、每次糾錯后泄露的密鑰量、每次糾錯后的碼率、糾錯成功的概率和每次糾錯后的總密鑰的錯誤率。
9、作為可選擇的實施方式,在錯誤率小于等于設(shè)定值時,繪制出不同誤碼率區(qū)間、選擇段長、迭代概率和對應(yīng)的糾錯效率的圖表,依據(jù)所述圖表進行確定糾錯段長。
10、作為進一步的實施方式,選擇所有分段策略中,能夠完成糾錯,且糾錯效率最好的分段策略。
11、作為進一步的實施方式,選擇糾錯后錯誤率低于初始錯誤率,且能夠兼顧密鑰泄露量的段長。
12、作為可選擇的實施方式,在錯誤率大于設(shè)定值時,增加段長后,繪制出不同誤碼率區(qū)間、選擇段長、迭代概率和對應(yīng)的糾錯效率的圖表,依據(jù)所述圖表進行確定糾錯段長。
13、作為可選擇的實施方式,所述糾錯段長預(yù)先配置,進行動態(tài)調(diào)節(jié)。
14、一種提升糾錯效率的系統(tǒng),包括:
15、選擇模塊,被配置為在糾錯過程中,計算密鑰真實錯誤率,在每一次糾錯成功時根據(jù)計算的真實錯誤率,確定下一次糾錯段長;
16、存儲模塊,被配置為存儲糾錯段長和真實錯誤率與誤碼率之間關(guān)系。
17、一種計算機可讀存儲介質(zhì),用于存儲計算機指令,所述計算機指令被處理器執(zhí)行時,完成上述方法中的步驟。
18、一種電子設(shè)備,包括存儲器和處理器以及存儲在存儲器上并在處理器上運行的計算機指令,所述計算機指令被處理器運行時,完成上述方法中的步驟。
19、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
20、本發(fā)明采用數(shù)學(xué)建模的方式,判斷不同誤碼率情況下應(yīng)使用的糾錯段長,從而根據(jù)誤碼率選取合適的段長來完成糾錯,有效提高系統(tǒng)糾錯效率。
21、本發(fā)明的糾錯段長可采用預(yù)置的方式或由軟件進行配置,動態(tài)調(diào)節(jié)以達到算法最優(yōu)。
22、本發(fā)明通過降低糾錯碼長,允許一定的糾錯失敗概率,理論上可以輔助提升糾錯效率。對于量子密鑰分發(fā)系統(tǒng),首次糾錯可以按最大誤碼率范圍選取段長,糾錯過程中統(tǒng)計真實錯誤率信息,使用每次統(tǒng)計的真實錯誤率信息指導(dǎo)下一次糾錯段長選擇。當(dāng)前次糾錯失敗時,立即按最大誤碼率范圍選取段長,后續(xù)繼續(xù)使用統(tǒng)計的真實錯誤率信息指導(dǎo)下一次糾錯段長選擇。
23、為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。