加密和解密數據處理方法、裝置和系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明實施例涉及信息安全技術領域,尤其涉及一種加密和解密數據處理方法、 裝置和系統(tǒng)。
【背景技術】
[0002] 密碼學的目的是改變信息的原有形式使得局外人難以讀懂。早期的密碼研究主要 關注對稱加密體制,1976年Diffie和Heilman公開提出非對稱密碼體制的思想。
[0003] 量子密碼學是量子物理學和密碼學相結合的一門新興科學,它的安全性依賴于量 子系統(tǒng)的內稟屬性,如測不準和不可克隆。要攻破量子密碼方案就意味著否定量子力學定 律,因此量子密碼學有時被稱為是"更安全的密碼術"。經過二十余年的研究與發(fā)展,量子密 碼在密鑰分發(fā)協(xié)議方面形成了自身的框架體系。受到量子計算的制約,在密碼系統(tǒng)中扮演 重要角色的量子公鑰密碼方案的研究卻進展緩慢。目前量子公鑰密碼學的研究成果主要是 面向比特的加密方案,即每次只能加密一個比特信息。
[0004] 現有技術中,采用單比特的方式對明文加密,效率有待提高。
【發(fā)明內容】
[0005] 本發(fā)明實施例提供一種加密和解密數據處理方法、裝置和系統(tǒng),以克服現有技術 中,面向比特的加密方案效率低的問題。
[0006] 本發(fā)明實施例第一方面提供一種加密數據處理方法,包括:
[0007] 第一設備獲取第二設備生成的公鑰;
[0008] 所述第一設備選取一個隨機比特串;
[0009] 所述第一設備采用所述公鑰加密所述隨機比特串獲取第一密文;
[0010] 所述第一設備采用單向函數對所述隨機比特串進行映射;
[0011] 所述第一設備采用所述隨機比特串的十進制數值、所述隨機比特串的漢明重量以 及所述映射后的隨機比特串對明文進行加密,獲取第二密文;
[0012] 所述第一設備向所述第二設備發(fā)送密文,所述密文包括所述第一密文和所述第二 密文。
[0013] 在第一方面的第一種可能的實現方式中,所述第一設備采用所述公鑰加密所述隨 機比特串獲取第一密文,包括:
[0014] 若所述明文長度小于所述公鑰長度,則所述第一設備獲取一份所述公鑰并對所述 公鑰的每個量子比特旋轉,得到所述第一密文;
[0015] 或者,
[0016] 若所述明文長度大于所述公鑰長度,則所述第一設備獲取[t/N]+l份所述公鑰并 對所述公鑰的每個量子比特旋轉,得到所述第一密文,其中,所述N為公鑰長度,所述t為明 文長度。
[0017] 結合第一方面或第一方面的第一種可能的實現方式,在第一方面的第二種可能的 實現方式中,所述第一設備采用所述隨機比特串的十進制數值、所述隨機比特串的漢明重 量以及映射后的隨機比特串對明文進行加密,獲取第二密文,包括:
[0018] 第一設備將所述隨機比特串和所述明文M進行混合運算,得到中間狀態(tài)比特串, 記為m' "!!!'a"、!!!' t;
[0019] 若所述漢明重量為奇數,則所述第一設備確定量子比特|〇z>旋轉角度為
得到量子態(tài)
其中, l〈j〈t,所述|〇z>為希爾伯特空間H2的一組正交基{|〇z>,Ilz>}中的|〇z>,所述m'」為第j個中間狀態(tài)比特,所述d為隨機比特串的十進制數值,所述為明文加密后的量子比 特,所i
為旋轉后量子態(tài)的幅度,所述r' ^為映射后 的第j個隨機比特,所述I$>為量子比特;
[0020] 或者,
[0021] 若所述漢明重量為偶敝J丨丨所祙笛一沿夂施空所祙畏罕In、的晻轉角度為 ^y;r+ ?i,;r,l〈j〈t,得至IJ量子3
[0022] 所述第一設備得到所述第二密文量子比特串為>,其中,所述?為 直積操作,所述I〇>為量子比特串,所述r為隨機比特串。
[0023] 本發(fā)明實施例第二方面提供了一種解密數據處理方法,包括:
[0024] 第二設備接收第一設備發(fā)送的密文,所述密文包括第一密文和第二密文;
[0025] 所述第二設備對所述第一密文的量子比特逆旋轉,并對逆旋轉后的量子比特進行 測量,獲取所述第一密文對應的第一比特串;
[0026] 所述第二設備采用單向函數對所述第一比特串進行映射;
[0027] 所述第二設備采用所述第一比特串的十進制數值、所述第一比特串的漢明重量以 及所述映射后的第一比特串對所述第二密文進行解密,獲取明文。
[0028] 在第二方面的第一種可能的實現方式中,所述第二設備接收第一設備發(fā)送的密文 之前,還包括:
[0029] 第二設備根據整數集合選取一個大于安全參數的隨機整數,所述隨機整數作為模 數構成一個群,并選取單向函數G: {0,I}1 - {0, 1K,以使第一設備用于報文的加密以及所 述第二設備用于解密,其中,所述t為明文長度;
[0030] 所述第二設備根據安全策略確定公鑰長度;
[0031] 所述第二設備在所述群中隨機選取一個N維向量;
[0032] 所述第二設備根據所述隨機整數和所述N維向量生成私鑰;
[0033] 所述第二設備根據N維向量制備N個量子比特;
[0034] 所述第二設備將量子比特|〇z>旋轉&個單位旋轉角度en,生成公鑰 Y= {N,|ws (en) >}和私鑰D= {n,s},其中,所述單位旋轉角度為en= /2n'l〈=j〈=N,所述Sj 為N維向量第j分量,所述n為隨機整數,所述TP成,_?:Jr:、說)>為公鑰的量子態(tài),所述N 為公鑰的長度,所述S為N維向量,所述I 為量子態(tài),所述?為直積操作,所述1匕說》為 公鑰量子比特,所述Iws(en)>為公鑰量子比特串。
[0035] 結合第二方面或第二方面的第一種可能的實現方式,在第二方面的第二種可能的 實現方式中,所述第二設備對所述第一密文的量子比特進行逆旋轉,并對逆旋轉后的量子 比特進行測量,獲取所述第一密文對應的第一比特串,包括:
[0036] 若所述明文長度小于所述公鑰長度,則所述第二設備對所述第一密文的第i個量 子比特逆旋轉~個單位旋轉角度0n;
[0037]或者,
[0038] 若所述明文長度大于所述公鑰長度,則所述第二設備對所述第一密文的第i個量 子比特逆旋轉SinwdN個單位旋轉角度0n,其中,所述imodN為第[t/N]+l份公鑰的第 i模N個公鑰量子比特;
[0039] 所述第二設備采用基{|〇z>,|lz>}測量所述逆旋轉后的量子比特,獲取所述第一 密文對應的第一比特串,其中,所述{|〇z>,|lz>}為希爾伯特空間h2的一組正交基;
[0040] 所述第二設備采用單向函數對所述第一比特串進行映射,包括:
[0041] 所述第二設備通過單向函數G: {0,l}t- {0,l}t對所述第一比特串進行映射得到 第三比特串。
[0042] 結合第第二方面至二方面的第二種任一種可能的實現方式,在第二方面的第三種 可能的實現方式中,所述第二設備采用所述第一比特串的十進制數值、所述第一比特串的 漢明重量的奇偶性以及映射的第一比特串對所述第二密文進行解密,獲取明文,包括:
[0043] 第二設備對第二密文進行逆旋轉R 其中,所述e為第一比特串的十進制 數值;
[0044] 若所述第一比特串的所述漢明重量為偶數,則所述第二設備采用所述{|〇 z>,|lz>} 基測量所述逆旋轉操作的結果,獲取第二比特串;
[0045]或者,
[0046] 若所述漢明重量為奇數,則所述第二設備采用{|+z>,|_ z>}基測量所述逆旋轉操 作的結果,獲取第二比特串,其中,所述{|+z>,|_z>}為希爾伯特空間4的另一組正交基;[0047] 所述第二設備通過所述第三比特串與第二比特串逆混合獲取明文比特串。
[0048] 本發(fā)明實施例第三方面提供了一種加密數據處理裝置,包括:
[0049] 獲取模塊,用于獲取第二設備生成的公鑰;
[0050] 選取模塊,用于選取一個隨機比特串;
[0051] 第一加密模塊,用于采用所述公鑰加密所述隨機比特串獲取第一密文;
[0052] 映射模塊,用于采用單向函數對所述隨機比特串進行映射;
[0053] 第二加密模塊,用于采用所述隨機比特串的十進制數值、所述隨機比特串的漢明 重量的奇偶性以及所述映射的隨機比特串對明文進行加密,獲取第二密文;
[0054] 發(fā)送模塊,用于向所述第二設備發(fā)送密文,所述密文包括所述第一密文和所述第 二密文。
[0055] 在第三方面的第一種可能的實現方式中,所述第一加密模塊,具體用于:
[0056] 若所述明文長度小于所述公鑰長度,則獲取一份所述公鑰并對所述公鑰的每個量 子比特旋轉,得到所述第一密文;
[0057]或者,
[0058] 若所述明文長度大于所述公鑰長度,則獲取[t/N]+l份所述公鑰并對所述公鑰的 每個量子比特旋轉,得到所述第一密文,其中,所述N為公鑰長度,所述t為明文長度。
[0059] 結合第三方面或第三方面的第一種可能的實現方式,在第三方面的第二種可能的 實現方式中,所述第二加密模塊,具體用于:
[0060] 將所述隨機比特串和所述明文M進行混合運算,得到中間狀態(tài)比特串,記為 m' i, m' 2, t;
[0061] 若所述漢明重量為奇數,則確定量子比特|〇z>的旋轉角度為+f,得到 2 1 量子2
其中,所述(i〈j〈t)為 明文加密后的量子比特,所左
旋轉后量子態(tài)的幅 度,l〈j〈t,所述|〇z>為希爾伯特空間4的一組正交基{|〇z>,|lz>}中的|〇z>,所述m,J為 第j個中間狀態(tài)比特,所