一種用於量子保密通信的碼本校驗方法
2023-10-22 16:34:57 1
一種用於量子保密通信的碼本校驗方法
【專利摘要】本發明公開了一種用於量子保密通信的碼本校驗方法,該方法通過對ALC和BOB得到的生成碼本的原始信息進行多次篩選,包括碼本的多次分組運算和比對以及重排,獲得可信度較高的碼本,之後再對得到的篩選碼本進行整體運算,獲得一個監督碼,若雙方監督碼比對一致則此時的碼本為可靠碼本,否則碼本為不可靠,直接丟棄,重新生成下一組碼本。使用本發明,通信雙方不需要公開一段密鑰就可以得到安全可靠的密碼本,並具有穩定高效的特點。可用於解決量子保密通信中可信碼本的獲取問題,提升量子通信系統的加密可靠傳輸特性,且具有高效率和高穩定性的特點。
【專利說明】一種用於量子保密通信的碼本校驗方法
【技術領域】
[0001]本發明涉及量子保密通信【技術領域】,具體講的是一種在量子密鑰分發(QKD)系統中,對於由量子信道產生的初始密鑰,通過分組運算對其進行糾錯和校驗,最終得到可靠的密碼本的方法。
【背景技術】
[0002]科學家們利用「海森堡測不準原理」和「量子不可克隆原理」提出了量子密碼術的概念。量子密碼術以單量子態作為信息載體,由於單量子態無法被克隆,因此信息的合法接收者可以從量子態的改變得知信道中存在竊聽,從而確保信息安全。從上個世紀八十年代至今,量子保密通信已經歷了近30年發展,各種實用化設備和商用樣機相繼推出。目前對於初始密鑰的後續處理還沒有完全統一的標準,常規的做法是在糾錯後公布一段密鑰,雙方確認密鑰一致後再進行加密。
[0003]這種方式的弊端是用於校驗的密鑰公布之後即不能再被使用,只能丟棄。這樣就降低了密鑰的使用效率,此外在一些極端情況下,即便公布的部分一致也不能保證剩下的
密鑰一致。
【發明內容】
[0004]本發明的目的是針對現有技術的不足而提供的一種用於量子保密通信的新型碼本校驗方法,它在通信雙方(定義為BOB和ALC)得到初始碼本後對其進行校驗運算,丟棄錯誤的碼本,得到可靠的碼本。使用該方法,通信雙方不需要公開一段密鑰就可以得到安全可靠的密碼本,並具有穩定高效的特點。
[0005]本發明的目的是這樣實現的:
一種用於量子保密通信的碼本校驗方法,該方法包括以下具體步驟:
a、在收發兩端配置現場可編程門陣列(FPGA)邏輯晶片,通過FPGA建立起經典信道的同步,控制ALC和BOB得到生成碼本的原始信息;
b、碼本篩選:先對各自的原始信息按雙方約定的規則I進行分組運算,獲得的分組運算結果相互比對,篩選出正確的碼本信息;再按雙方約定的規則2進行重新排列,此為一次碼本篩選,如此反覆K次,則完成碼本篩選,得到可信度高的碼本;
C、碼本檢測:對步驟b得到的篩選碼本再次按照雙方約定的規則3整體運算,獲得一個監督碼,若雙方監督碼比對一致則此時的碼本為可靠碼本,否則碼本為不可靠,直接丟棄,重新生成下一組碼本。
[0006]所述雙方約定的規則I進行分組運算包括分組和運算兩步驟:
i)分組規則如下:
A)相鄰的a個bit分為I組,a>l的自然數;共分為b組,b≥I的自然數;重新排列b組序列如下:
第 I 組的序列為:{{bitO, bitl,...,bit (a-1)};第 2 組的序列為:{{bita, bit (a+1),..., bit (2a_l)};
第 3 組的序列為:{{bit2a, bit (2a+l),..., bit (3a_l)};
第 b 組的序列為:{{bit (a*b_a), bit (a*b_a+l),..., bit (a*b_l)};
B)偶數相鄰的a個bit分為一組,奇數相鄰的a個bit分為一組,a>l的自然數;共分為2b組,b≥2的自然數;重新排列後的2b組序列:
第 I 組的序列為:{{bitO, bit2,..., bit (2a_2)}
第 2 組的序列為:{bitl, bit3,..., bit (2a_l)}
第 3 組的序列為:{{bit2a, bit (2a+2),..., bit (4a_2)}
第 4 組的序列為:{bit (2a+l), bit (2a+3),..., bit (4a_l)}
第 5 組的序列為:{{bit4a, bit (4a+2),..., bit (6a_2)}
第 6 組的序列為:{bit (4a+l), bit (4a+3),..., bit (6a_l)}
第 2b_l 組的序列為:{{bit (2a*b_2a), bit (2a*b_2a+2),..., bit (2a*b_2)}
第 2b 組的序列為:{bit (2a*b_2a+l), bit (2a*b_2a+3),..., bit (2a*b_l)}。
[0007]ii)運算規則如下:
A)分為一組的a個bit進行相互異或,bitO^...^bita ;
B)分為一組的a個bit中0/1個數統計;
C)隨機擬定一個a-bit地址位的表格,然後以分為一組的a-bit信息為地址進行查
表;
D)按照CRC4、CRC8、CRC16、CRC32多項式進行運算。
[0008]所述雙方約定的規則2進行重新排列是:
A)篩選後的所有信息bit(Tbita首尾倒置,則重排之後為bita~bit0;
B)相鄰的a個bit高低位交互,a>l的自然數;共分為e次交互,重排後的序列為:
第 I 次交互的序列為:{bit (a-1),bit (a_2),...,bitl, bitO}
第 2 次交互的序列為:{bit (2a-l), bit (2a_2),...bit (a+1), bita}
第 3 次交互的序列為:{bit (3a-l), bit (3a_2),...bit (2a+l), bit2a}
第 e 次交互的序列為:{bit (e*a_l), bit (e*a_2),...bit (e*a_a+l), bit (e*a_a)};
C)偶數相鄰的a個bit分為一組,奇數相鄰的a個bit分為一組,a>l的自然數;共分為2b組,b≥2的自然數;組成後的完整序列為:
第 I 組的序列為:{{bitO, bit2,..., bit (2a_2)}
第 2 組的序列為:{bitl, bit3,..., bit (2a_l)}
第 3 組的序列為:{{bit2a, bit (2a+2),..., bit (4a_2)}
第 4 組的序列為:{bit (2a+l), bit (2a+3),..., bit (4a_l)}
第 5 組的序列為:{{bit4a, bit (4a+2),..., bit (6a_2)}
第 6 組的序列為:{bit (4a+l), bit (4a+3),..., bit (6a_l)}
第 2b_l 組的序列為:{{bit (2a*b_2a), bit (2a*b_2a+2),..., bit (2a*b_2)}
第 2b 組的序列為:{bit (2a*b_2a+l), bit (2a*b_2a+3),..., bit (2a*b_l)};
D)相鄰的a個bit分為一組,a>l的自然數;共可分為b個小組,b≥1的自然數;然後再把c個小組分為一個大組,共可分d個大組,d=b/c ;不夠一個大組的數據直接丟棄;之後再分別把一個大組中的c ≤b個小組間交叉重排,如此反覆,即得到最終的序列;每個大組重排後的交叉序列為:
第 1 組為:{bitO, bitb, bit2b..., bit (ab_b)}
第 2 組為:{bitl, bit (b+1), bit (2b+l)..., bit (ab-b+1)}
第 3 組為:{bit2, bit (b+2), bit (2b+2)..., bit (ab-b+2)}
第 c 組為:{bit (c_l), bit (2c_l), bit (3c_l)..., bit (ac_l)}。
[0009]所述雙方約定的規則3整體運算如下:
A)對所有篩選後的碼本進行異或運算產生監督碼或者按照CRC4、CRC8、CRC16、CRC32多項式進行運算產生監督碼。
[0010]本發明解決了在生成碼本過程中,碼本被截獲或者洩露的風險,實現了通信雙方密鑰的獨有性,從而保證了量子加密系統中加密系統的可靠傳輸。
【專利附圖】
【附圖說明】
[0011]圖1為碼本生成流程圖;
圖2為本發明流程圖。
【具體實施方式】
[0012]以下結合附圖通過實施例對本發明特徵及其它相關特徵作進一步詳細說明,以便於同行業技術人員的理解:
參閱圖1,BOB和ALC成碼部分分為邏輯層和物理層。邏輯層定義了成碼的協議和格式,負責成碼的整個過程,其可分為碼本篩選和碼本檢測兩部分。物理層描述了設備之間的接口協議,例如包傳輸裝置,流量控制,電特性以及低級錯誤管理等。虛線表示的邏輯通道僅表示BOB與ALC邏輯層之間的虛擬通道,實際數據傳輸需要經過物理層通過光纖通道傳輸。
[0013]參閱圖2,本發明應用於邏輯層,其具體流程如圖2所示。
[0014]邏輯層分為碼本篩選和碼本檢測兩部分。碼本篩選完成從碼本的原始信息中得到初始碼本。碼本檢測是把初始碼本中不可靠的碼本丟棄,得到最終可靠的碼本,供加密使用。
[0015]具體流程如下:
碼本篩選:碼本篩選具體又包括第一次分組運算、第二次分組運算、錯誤碼本丟棄以及碼本重排。
[0016]第一次分組運算:Β0Β和ALC分別把各自碼本原始信息按照a個bit —組,進行約定的多項式運算,運算結果進行比對。
[0017]第二次分組運算:Β0Β和ALC分別把第一次分組運算結果比對不一致abit信息進行第二次分組,每組Nbit (N<a),再進行約定的多項式運算,運算結果第二次比對。
[0018]錯誤碼本丟棄:把第二次分組運算結果比對不一致的信息直接丟棄,如果第一、二次分組運算沒有達到K次,則把剩餘信息送給碼本重排模塊,否則送給碼本檢測模塊。
[0019]碼本重排:將碼本重新排列,再返回第一次分組運算以再次篩選碼本。
[0020]碼本檢測:碼本檢測 的基本思想是利用線性編碼理論,在兩端根據各自的初始碼本,分別產生一個校驗用的監督碼r位,然後互發到對端進行校驗,以確定兩邊的初始碼本是否一致。
實施例
[0021]a、在收發兩端配置現場可編程門陣列(FPGA)邏輯晶片(EP4CGX50DF27C8),通過FPGA建立起經典信道的同步,控制ALC和BOB得到生成碼本的原始信息;
b、碼本篩選:先對各自的原始信息按雙方約定進行分組運算:
i)分組如下:
A)相鄰的8個bit為一個組,一共3個組,則 第 I 組序列:{bit(Tbit7}
第2組序列:{bit8~bit 15}
第3組序列:{bitl6~bit23};
B)偶數相鄰的4個bit為一組,奇數相鄰的4個bit分為一組,共分8組,則:
第 I 組序列:{bitO, bit2, bit4, bit6}
第 2 組序列:{bitl, bit3, bit5, bit7}
第 7 組序列:{bit24, bit26, bit28, bit30}
第 8 組序列:{bit25, bit27, bit29, bit31}}。
[0022]ii )運算如下:
A)分為一組的8個bit進行相互異或,bit0~...~bit7 ;
B)分為一組的8個bit(10001101)中O有4個,I有4個;
C)隨機擬定一個2-bit地址位的表格,然後以分為一組的2-bit信息為地址進行查
表;
【權利要求】
1.一種用於量子保密通信的碼本校驗方法,其特徵在於該方法包括以下具體步驟: a、在收發兩端配置現場可編程門陣列-FPGA邏輯晶片,通過FPGA建立起經典信道的同步,控制ALC和BOB得到生成碼本的原始信息; b、碼本篩選:先對各自的原始信息按雙方約定的規則I進行分組運算,獲得的分組運算結果相互比對,篩選出正確的碼本信息;再按雙方約定的規則2進行重新排列,此為一次碼本篩選,如此反覆K次,則完成碼本篩選,得到可信度高的碼本; C、碼本檢測:對步驟b得到的篩選碼本再次按照雙方約定的規則3整體運算,獲得一個監督碼,若雙方監督碼比對一致則此時的碼本為可靠碼本,否則碼本為不可靠,直接丟棄,重新生成下一組碼本。
2.根據權利要求1所述的碼本校驗方法,其特徵在於所述雙方約定的規則I進行分組運算包括分組和運算兩步驟: i)分組規則如下: A)相鄰的a個bit分為I組,a>l的自然數;共分為b組,b≥1的自然數;重新排列b組序列如下:
第 I 組的序列為:{{bitO, bitl,...,bit (a-1)};
第 2 組的序列為:{{bita, bit (a+1),..., bit (2a_l)};
第 3 組的序列為:{{bit2a, bit (2a+l),..., bit (3a_l)};
第 b 組的序列為:{{bit (a*b_a), bit (a*b_a+l),..., bit (a*b_l)}; B)偶數相鄰的a個bit分為一組,奇數相鄰的a個bit分為一組,a>l的自然數;共分為2b組,b≥2的自然數;重新排列後的2b組序列:
第 I 組的序列為:{{bitO, bit2,..., bit (2a_2)}
第 2 組的序列為:{bitl, bit3,..., bit (2a_l)}
第 3 組的序列為:{{bit2a, bit (2a+2),..., bit (4a_2)}
第 4 組的序列為:{bit (2a+l), bit (2a+3),..., bit (4a_l)}
第 5 組的序列為:{{bit4a, bit (4a+2),..., bit (6a_2)}
第 6 組的序列為:{bit (4a+l), bit (4a+3),..., bit (6a_l)}
第 2b_l 組的序列為:{{bit (2a*b_2a), bit (2a*b_2a+2),..., bit (2a*b_2)}
第 2b 組的序列為:{bit (2a*b_2a+l), bit (2a*b_2a+3),..., bit (2a*b_l)}; ii)運算規則如下: A)分為一組的a個bit進行相互異或,bitO"..."bita ; B)分為一組的a個bit中0/1個數統計; C)隨機擬定一個a-bit地址位的表格,然後以分為一組的a-bit信息為地址進行查表; D)按照CRC4、CRC8、CR C16或CRC32多項式進行運算。
3.根據權利要求1所述的碼本校驗方法,其特徵在於所述雙方約定的規則2進行重新排列是: 篩選後的所有信息bit(Tbita首尾倒置,則重排之後為bita~bit0 ;相鄰的a個bit高低位交互,a>l的自然數;共分為e次交互,重排後的序列為: 第 I 次交互的序列為:{bit (a-1),bit (a_2),...,bitl, bitO}
第 2 次交互的序列為:{bit (2a-l), bit (2a_2),...bit (a+1), bita}
第 3 次交互的序列為:{bit (3a-l), bit (3a_2),...bit (2a+l), bit2a}
第 e 次交互的序列為:{bit (e*a_l), bit (e*a_2),...bit (e*a_a+l), bit (e*a_a)}; C)偶數相鄰的a個bit分為一組,奇數相鄰的a個bit分為一組,a>l的自然數;共分為2b組,b≥2的自然數;組成後的完整序列為:
第 I 組的序列為:{{bitO, bit2,..., bit (2a_2)}
第 2 組的序列為:{bitl, bit3,..., bit (2a_l)}
第 3 組的序列為:{{bit2a, bit (2a+2),..., bit (4a_2)}
第 4 組的序列為:{bit (2a+l), bit (2a+3),..., bit (4a_l)}
第 5 組的序列為:{{bit4a, bit (4a+2),..., bit (6a_2)}
第 6 組的序列為:{bit (4a+l), bit (4a+3),..., bit (6a_l)}
第 2b_l 組的序列為:{{bit (2a*b_2a), bit (2a*b_2a+2),..., bit (2a*b_2)}
第 2b 組的序列為:{bit (2a*b_2a+l), bit (2a*b_2a+3),..., bit (2a*b_l)}; D)相鄰的a個bit分為一組,a>l的自然數;共可分為b個小組,b≥I的自然數;然後再把c個小組分為一個大組,共可分d個大組,d=b/c ;不夠一個大組的數據直接丟棄;之後再分別把一個大組中的c≤ b個小組間交叉重排,如此反覆,即得到最終的序列;每個大組重排後的交叉序列為:
第 I 組為:{bitO, bitb, bit2b..., bit (ab_b)}
第 2 組為:{bitl, bit (b+1), bit (2b+l)..., bit (ab-b+1)}
第 3 組為:{bit2, bit (b+2), bit (2b+2)..., bit (ab-b+2)}
第 c 組為:{bit (c_l), bit (2c_l), bit (3c_l)..., bit (ac_l)}。
4.根據權利要求1所述的碼本校驗方法,其特徵在於所述雙方約定的規則3整體運算如下: 對所有篩選後的碼本進行異或運算產生監督碼或者按照CRC4、CRC8、CRC16或CRC32多項式進行運算產生監督碼。
【文檔編號】H04L9/08GK103532705SQ201310523360
【公開日】2014年1月22日 申請日期:2013年10月30日 優先權日:2013年10月30日
【發明者】曾卓西, 陳杰, 張帥, 曾和平 申請人:上海朗研光電科技有限公司