周鑫 姜明華
【摘要】 本論文作者以千年“密碼”難題為切入點(diǎn),以當(dāng)代嚴(yán)酷的計(jì)算機(jī)網(wǎng)絡(luò)安全問題為背景,以構(gòu)造絕對不可破譯的“密碼”為主線,圍繞一次一密與引子密鑰展開討論。通過對密碼體制的深入研究,發(fā)現(xiàn)了一次一密悖論;為解決一次一密悖論問題,引入“引子密鑰”生成器,并采集引子密鑰進(jìn)行隨機(jī)性檢測。檢測結(jié)果隨機(jī)性很好,適合構(gòu)造不可破譯密碼系統(tǒng)。
【關(guān)鍵詞】 一次一密 引子密鑰 不可破譯密碼 量子破密機(jī) 隨機(jī)性檢測
一、引言
一道古老的“密碼”難題,困擾人類幾千年。從公元前一世紀(jì)古羅馬凱撒大帝,到當(dāng)代信息安全科學(xué)工作者,無不為“密碼”而絞盡腦汁,費(fèi)盡心機(jī)。在古代為國家存亡而研究密碼;在現(xiàn)代為兩次世界大戰(zhàn)而研究密碼;在當(dāng)代為潛在的信息世界大戰(zhàn)而研究密碼。一句話,人類社會(huì)似乎與“密碼”結(jié)下了不解之緣。
“密碼”技術(shù)是實(shí)現(xiàn)信息安全的核心技術(shù)、關(guān)鍵技術(shù),在保障信息機(jī)密性、完整性、可用性和支持瀆職責(zé)任追究的可鑒別性、抗抵賴性等方面是不可或缺的技術(shù)。
二、現(xiàn)代密碼系統(tǒng)的安全隱患
現(xiàn)代密碼編碼系統(tǒng)類型雖多(DES、AES、RSA、Rabin、ECC等等),不一而足,但幾乎都存在不同程度這樣或那樣的安全隱患,對密碼攻擊防不勝防?,F(xiàn)代密碼攻擊方法倒也不少(窮舉攻擊法、線性攻擊法[1][2]、差分攻擊法、滑動(dòng)攻擊法、側(cè)信道攻擊法等等),表面上看,好像無堅(jiān)不摧,其實(shí),就總體效果而言,缺乏足夠計(jì)算能力和計(jì)算資源支撐的這些手段基本上都屬于“小打小鬧”,翻不起大浪。然而,有一種手段絕對不可等閑視之。請看:
2014年1月3日,美國國家安全局(NSA)宣布,正在研發(fā)一款用于破解密碼技術(shù)的量子計(jì)算機(jī)(以下簡稱量子破密機(jī)),旨在破解幾乎所有類型的加密技術(shù)。
眾所周知,“窮舉攻擊法”是密碼編碼系統(tǒng)的克星。一般來說,只要對密鑰空間進(jìn)行遍歷,任何密文都有被破譯的一天。只是由于時(shí)效問題,有些密文破譯失去意義,也就沒人去破譯罷了。但是,時(shí)效問題對于量子破密機(jī)而言,將不再是問題。因?yàn)榱孔悠泼軝C(jī)極其強(qiáng)大的并行計(jì)算能力,對現(xiàn)行密碼系統(tǒng)實(shí)施攻擊,將不費(fèi)吹灰之力就能得手。然而,有一個(gè)例外,那就是一次一密密碼體制(以下簡稱一次一密)。一次一密對于量子破密機(jī),具有先天免疫力;對“窮舉攻擊法”具有與生俱來的抵抗力。就算宇宙間所有原子,個(gè)個(gè)都是一臺(tái)量子破密機(jī),也奈何不了它,破譯不了它。
三、一次一密悖論的困惑
一次一密是絕對不可破譯的密碼體制,為業(yè)內(nèi)人士所共識(shí)。然而百年來,一次一密還停留在理論證明層面上,沒有大發(fā)展。這讓人匪夷所思。經(jīng)研究發(fā)現(xiàn)“一次一密悖論[3]”。只有解決了一次一密悖論問題,一次一密系統(tǒng)才能大發(fā)展。
為了解決一次一密悖論問題,引入“引子密鑰”理論。“引子密鑰”是一種無窮隨機(jī)序列,是由引子密鑰生成器生成的。其具有真隨機(jī)數(shù)的一切特征:隨機(jī)性、不可預(yù)測性、不可重現(xiàn)性。為了保證一次一密系統(tǒng)不可破譯的特性,需要對“引子密鑰”進(jìn)行隨機(jī)性檢測。
四、引子密鑰隨機(jī)性檢測
引子密鑰隨機(jī)性檢測,采用美國國家標(biāo)準(zhǔn)與技術(shù)研究院發(fā)布的《Special Publication 800-22》統(tǒng)計(jì)檢驗(yàn)包進(jìn)行的。
檢測采用STS 2.1.2版本,在windows平臺(tái)下安裝cygwin來實(shí)現(xiàn)。具體方法如下:采集引子密鑰生成器生成的引子密鑰長度為1 Gbit,提供給NIST Special Publication 800-22統(tǒng)計(jì)檢驗(yàn)包檢測。統(tǒng)計(jì)檢驗(yàn)包將引子密鑰分成樣本數(shù)量1000,樣本長度1Mbit的子密鑰序列進(jìn)行檢測,因此對于每一項(xiàng)檢測都會(huì)得到1000個(gè)p值,進(jìn)一步采用統(tǒng)計(jì)學(xué)中的KolmogorovSmirnov(KS)檢驗(yàn)方法來求得最終的p值。當(dāng)p≥α?xí)r,認(rèn)為該次檢驗(yàn)通過;當(dāng)p<α?xí)r,認(rèn)為該次檢驗(yàn)不通過(其中α為顯著性水平,一般選擇α=0.01)。特別的當(dāng)p=1時(shí),認(rèn)為該序列為完美真隨機(jī)序列;當(dāng)p=0時(shí),認(rèn)為該序列為完全不隨機(jī)序列。
五、檢測結(jié)果綜合分析
長度為1Gbit的引子密鑰,經(jīng)NIST Special Publication 800-22檢測的STS檢測結(jié)果圖,如圖所示。以下14項(xiàng)檢測中,不包括離散傅里葉變換檢測。因檢測程序存在漏洞,故放棄檢測,因此該項(xiàng)不予考察。
由STS檢測結(jié)果圖可以看出:一方面,引子密鑰序列P值全部大于0.01,也就是說引子密鑰序列,14項(xiàng)隨機(jī)性檢測結(jié)果全部“通過”檢測;另一方面,通過率全部大于98.1%,表明通過率全部“通過”。綜合分析檢測結(jié)果表明:引子密鑰隨機(jī)性全部通過了檢測,說明引子密鑰隨機(jī)性非常好,可以作為一次一密中密鑰使用。
六、結(jié)論
一次一密中密鑰必需是隨機(jī)性非常好的密鑰,引子密鑰的隨機(jī)性很好,適合用在一次一密系統(tǒng)中。因此,由引子密鑰構(gòu)成的一次一密系統(tǒng),是不可破譯密碼系統(tǒng)。
參 考 文 獻(xiàn)
[1] Matsui M, Yamagishi A. A new method for known plaintext attack of FEALcipher[C].In:Advances in Cryptology—Eurocrypt92. Berlin Heidelberg :Springer, 1992.81-91.
[2] Matsui M. Linear cryptanalysis method for DES cipher[C].In:Advances in Cryptology—EUROCRYPT93. Berlin Heidelberg: Springer, 1993. 386-397.
[3]陳世清:用對稱邏輯解悖 [EB/OL] http://finance.takungpao.com/hgjj/q/2015/0708/3043893.html 2015-07-08.