
信息安全技術論文
密碼學密碼算法概述
摘要:密碼學是研究編制密碼和破譯密碼的技術科學。研究密碼變化的客觀規律,應用于編制密碼以保守
通信秘密的,稱為編碼學;應用于破譯密碼以獲取通信情報的,稱為破譯學。總稱密碼學。密碼是通信雙
方按約定的法則進行明密特殊變換的一種重要保密手段。依照這些法則,變明文為密文,稱為加密變換;
變密文為明文,稱為脫密變換。密碼在早期僅對文字或數碼進行加、脫密變換,隨著通信技術的發展,對
語音、圖像、數據等都可實施加、脫密變換。
關鍵字:密碼學對稱密碼學密鑰
密碼學[1](在西歐語文中之源于希臘語kryptós,“隱藏的”,和gráphein,“書寫”)是研
究如何隱密地傳遞信息的學科。在現代特別指對信息以及其傳輸的數學性研究,常被認為是
數學和計算機科學的分支,和信息論也密切相關。著名的密碼學者RonRivest解釋道:“密
碼學是關于如何在敵人存在的環境中通訊”,自工程學的角度,這相當于密碼學與純數學的
異同。密碼學是信息安全等相關議題,如認證、訪問控制的核心。密碼學的首要目的是隱藏
信息的涵義,并不是隱藏信息的存在。密碼學也促進了計算機科學,特別是在于電腦與網絡
安全所使用的技術,如訪問控制與信息的機密性。密碼學已被應用在日常生活:包括自動柜
員機的芯片卡、電腦使用者存取密碼、電子商務等等。
直到現代以前,密碼學幾乎專指加密(encryption)算法:將普通信息(明文,plaintext)轉
換成難以理解的資料(密文,ciphertext)的過程;解密(decryption)算法則是其相反的過程:
由密文轉換回明文;加解密包含了這兩種算法,一般加密即同時指稱加密(encrypt或encipher)
與解密(decrypt或decipher)的技術。
加解密的具體運作由兩部分決定:一個是算法,另一個是密鑰。密鑰是一個用于加解密
算法的秘密參數,通常只有通訊者擁有。歷史上,密鑰通常未經認證或完整性測試而被直接
使用在密碼機上。
密碼協議(cryptographicprotocol)是使用密碼技術的通信協議(communicationprotocol)。
近代密碼學者多認為除了傳統上的加解密算法,密碼協議也一樣重要,兩者為密碼學研究的
兩大課題。在英文中,cryptography和cryptology都可代表密碼學,前者又稱密碼術。但更
嚴謹地說,前者(cryptography)指密碼技術的使用,而后者(cryptology)指研究密碼的學
科,包含密碼術與密碼分析。密碼分析(cryptanalysis)是研究如何破解密碼學的學科。但
在實際使用中,通常都稱密碼學(英文通常稱cryptography),而不具體區分其含義。
口語上,編碼(code)常意指加密或隱藏信息的各種方法。然而,在密碼學中,編碼有更特
定的意義:它意指以碼字(codeword)取代特定的明文。例如,以?蘋果派?(applepie)替
換?拂曉攻擊?(attackatdawn)。編碼已經不再被使用在嚴謹的密碼學,它在信息論或通訊原
理上有更明確的意義。在漢語口語中,電腦系統或網絡使用的個人帳戶口令(password)
也常被以密碼代稱,雖然口令亦屬密碼學研究的范圍,但學術上口令與密碼學中所稱的鑰匙
(key)并不相同,即使兩者間常有密切的關連。
對稱鑰匙密碼學指的是傳送方與接收方都擁有相同的鑰匙。直到1976年這都還是唯一
的公開加密法。
現代的研究主要在分組密碼(blockcipher)與流密碼(streamcipher)及其應用。分組
密碼在某種意義上是阿伯提的多字符加密法的現代化。分組密碼取用明文的一個區塊和鑰
匙,輸出相同大小的密文區塊。由于信息通常比單一區塊還長,因此有了各種方式將連續的
區塊編織在一起。DES和AES是美國聯邦政府核定的分組密碼標準(AES將取代DES)。
盡管將從標準上廢除,DES依然很流行(triple-DES變形仍然相當安全),被使用在非常多
的應用上,從自動交易機、電子郵件到遠端存取。也有許多其他的區塊加密被發明、釋出,
品質與應用上各有不同,其中不乏被破解者。
流密碼,相對于區塊加密,制造一段任意長的鑰匙原料,與明文依位元或字符結合,有
點類似一次一密密碼本(one-timepad)。輸出的串流根據加密時的內部狀態而定。在一些流
密碼上由鑰匙控制狀態的變化。RC4是相當有名的流密碼。
密碼雜湊函數(有時稱作消息摘要函數,雜湊函數又稱散列函數或哈希函數)不一定使
用到鑰匙,但和許多重要的密碼算法相關。它將輸入資料(通常是一整份文件)輸出成較短
的固定長度雜湊值,這個過程是單向的,逆向操作難以完成,而且碰撞(兩個不同的輸入產
生相同的雜湊值)發生的機率非常小。
信息認證碼或押碼(Messageauthenticationcodes,MACs)很類似密碼雜湊函數,除了
接收方額外使用秘密鑰匙來認證雜湊值。
數據加密標準(DES)[2]是一種加密算法(一種加密信息的方法),1976年被美國聯邦政
府的聯邦信息處理標準(FIPS)所選中,隨后既在國際上廣泛流傳開來。這個算法因為包含
一些機密設計元素,相關的短密鑰長度以及被懷疑內含美國國家安全局(NSA)的后門而在
開始是有爭議的,DES因此收到強烈的學院派式的審查,并以此推動了現代的分組密碼及
其密碼分析。
DES現在已經不視為一種安全的加密算法,因為它使用的56位秘鑰過短,以現代計算
能力,24小時內即可能被破解。也有一些分析報告提出了該算法的理論上的弱點,雖然實
際情況未必出現。該標準在最近已經被高級加密標準(AES)所取代。
高級加密標準(AdvancedEncryptionStandard,AES)[3],又稱Rijndael加密法,是
美國聯邦政府采用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析
且廣為全世界所使用。經過五年的甄選流程,高級加密標準由美國國家標準與技術研究院
(NIST)于2001年11月26日發布于FIPSPUB197,并在2002年5月26日成為有效的標
準。2006年,高級加密標準已然成為對稱密鑰加密中最流行的算法之一。
該算法為比利時密碼學家JoanDaemen和VincentRijmen所設計,結合兩位作者的名字,
以Rijndael之命名之,投稿高級加密標準的甄選流程。(Rijndael的發音近于"Rhinedoll")
AES加密算法(使用128,192,和256位元密鑰的版本)的安全性,在設計結構及密鑰的
長度上俱已到達保護機密資訊的標準。最高機密資訊的傳遞,則至少需要192或256位元的
密鑰長度。用以傳遞國家安全資訊的AES實作產品,必須先由國家安全局審核認證,方能
被發放使用。)
AES與3DES的比較[4]
公開鑰匙密碼學,簡稱公鑰密碼學[5],又稱非對稱鑰匙密碼學,相對于對稱鑰匙密碼學,
最大的特點在于加密和解密使用不同的鑰匙。
在對稱鑰匙密碼學中,加密和解密使用相同的鑰匙,也許對不同的信息使用不同的鑰匙,
但都面臨鑰匙管理的難題。由于每對通訊方都必須使用異于他組的鑰匙,當網絡成員的數量
增加時,鑰匙數量成二次方增加。更尷尬的難題是:當安全的通道不存在于雙方時,如何建
立一個共有的鑰匙以利安全的通訊?如果有通道可以安全地建立鑰匙,何不使用現有的通
道。這個“雞生蛋、蛋生雞”的矛盾是長年以來密碼學無法在真實世界應用的阻礙。
1976年,WhitfieldDiffie與MartinHellman發表開創性的論文,提出公開鑰匙密碼學
的概念:一對不同值但數學相關的鑰匙,公開鑰匙(公鑰,publickey)與私密鑰匙(私鑰,private
keyorcretkey)。在公鑰系統中,由公開鑰匙推算出配對的私密鑰匙于計算上是不可行的。
歷史學者DavidKahn這樣描述公開鑰匙密碼學;“從文藝復興的多字符取代法后最革命性的
概念。”
在公鑰系統中,公鑰可以隨意流傳,但私鑰只有該人擁有。典型的用法是,其他人用公
鑰來加密給該接受者,接受者使用自己的私鑰解密。Diffie與Hellman也展示了如何利用公
開鑰匙密碼學來達成Diffie-Hellman鑰匙交換協定。
1978年,MIT的RonRivest、AdiShamir和LenAdleman發明另一個公開鑰匙系統,RSA。
直到1997年的公開文件中大眾才知道,早在1970年代早期,英國情報機構GCHQ的數學
家便已發明非對稱鑰匙密碼學,而且Diffie-Hellman與RSA都曾被MalcolmJ.
Williamson與CliffordCocks分別發明于前。這兩個最早的公鑰系統提供優良的加密法基礎,
因而被大量使用。其他公鑰系統還有Cramer-Shoup、Elgamal、以及橢圓曲線密碼學等等。
除了加密外,公開鑰匙密碼學最顯著的成就是實現了數字簽名。數字簽名名符其實是普通簽
章的數字化,他們的特性都是某人可以輕易制造簽章,但他人卻難以仿冒。數字簽名可以永
久地與被簽署信息結合,無法自信息上移除。數字簽名大致包含兩個算法:一個是簽署,使
用私密鑰匙處理信息或信息的雜湊值而產生簽章;另一個是驗證,使用公開鑰匙驗證簽章的
真實性。RSA和DSA是兩種最流行的數字簽名機制。數字簽名是公開鑰匙基礎建設(public
keyinfranstructures,PKI)以及許多網絡安全機制(SSL/TLS,VPNs等)的基礎。
公開鑰匙算法大多基于計算復雜度上的難題,通常來自于數論。例如,RSA源于整數
因子分解問題;DSA源于離散對數問題。近年發展快速的橢圓曲線密碼學則基于和橢圓曲
線相關的數學難題,與離散對數相當。由于這些底層的問題多涉及模數乘法或指數運算,相
對于分組密碼需要更多計算資源。因此,公開鑰匙系統通常是復合式的,內含一個高效率的
對稱鑰匙算法,用以加密信息,再以公開鑰匙加密對稱鑰匙系統所使用的鑰匙,以增進效率。
公鑰的形式就是數字證書。
優點:與對稱密鑰加密相比,優點在于無需共享的通用密鑰,解密的私鑰不發往任何用
戶。即使公鑰在網上被截獲,如果沒有與其匹配的私鑰,也無法解密,所截獲的公鑰是沒有
任何用處的。
RSA加密算法[6]在公鑰加密標準和電子商業中RSA被廣泛使用。RSA是1977年由羅
納德·李維斯特(RonRivest)、阿迪·薩莫爾(AdiShamir)和倫納德·阿德曼(LeonardAdleman)
一起提出的。當時他們三人都在麻省理工學院工作。RSA就是他們三人姓氏開頭字母拼在
一起組成的。
分解極大整數的難度決定了RSA算法的可靠性。換言之,分解極大整數愈困難,RSA算法
愈可靠。假如有人找到一種很快的分解因子的算法的話,那么用RSA加密的信息的可靠性
就肯定會極度下降。但找到這樣的算法的可能性是非常小的。今天只有短的RSA鑰匙才可
能被強力方式解破。到2008年為止,世界上還沒有任何可靠的攻擊RSA算法的方式。只要
其鑰匙的長度足夠長,用RSA加密的信息實際上是不能被解破的。
1983年麻省理工學院在美國為RSA算法申請了專利。其已于2000年9月21日失效。
在速度上,比起DES和其它對稱算法來RSA要慢得多。實際上甲一般使用一種對稱算法來
加密他的信息,然后用RSA來加密他的比較短的對稱密碼,然后將用RSA加密的對稱密碼
和用對稱算法加密的消息送給乙。
這樣一來對隨機數的要求就更高了,尤其對產生對稱密碼的要求非常高,因為否則的話
可以越過RSA來直接攻擊對稱密碼。
U盾(USBKey)是中國工商銀行推出的一種用于在網絡上以客戶端的形式識別客戶身份
的數字證書。它結合IC卡與數字證書、數字簽名等技術。U盾采用1024位的非對稱RSA
加密算法【7】。U盾的私鑰(唯一序列號)直接在IC卡中產生,將CA中心頒發的安全數
字證書下載到卡中與私鑰相對應。用戶在使用網上銀行系統時,通過U盾的加密通道確認
客戶身份。在進行網上交易時,數據先送入插入電腦USB接口的U盾,并使用私鑰進行數
字簽名,然后再傳送到網上銀行進行驗證。
NTRU(NumberTheoryRearchUnit)公鑰密碼算法[9]是在20世紀90年代中期,由數
學家小組JeffreyHoffstein、JillPipher和JophSilverman設計的[12]。NTRU已被接受
為IEEEP1363標準,被標準化在文檔WorkingGroupforStandardsinPublicKey
Cryptography中。
NTRU算法使用多項式代數及兩個不同數的模。它的安全性基于多項式、不同模混合
運算的相互作用,也依賴于最大格及尋找最短向量的困難性。
NTRU性能分析如下:
(1)效率較RSA為高。NTRU加密、解密一個長度為N的信息分組需要O(N2)次操作。
RSA需要O(N3)操作。所以,NTRU比RSA快至少100倍。
(2)安全性介于RSA和ECC之間(表2中同一行表示相同的安全水平)
NTRU與ECC、RSA的安全性比較
RSANTRUECC
512167113
1024263160
2048503282
(3)NTRU的密鑰生成速度比RSA快300倍;加密代碼只須20行C代碼,解密代碼只須52
行C代碼。但NTRU也有缺點,解密可能失敗,但通過對系統參數仔細選擇,解密失效的概率
可小于5×105。
NTRU算法的安全性是基于數論中在一個非常大的維效格中尋找一個很短向量的數學
難題。NTRU算法與RSA等算法相比具有更高的運算速度,更快的密鑰生成速度和更少的
存儲空間,盡管在安全性方面與RSA相比有一些缺陷,但也有彌補的方法,因此NTRU算法將
會有更廣闊的應用前景。[8]
橢圓曲線密碼學[10](Ellipticcurvecryptography,縮寫為ECC)是基于橢圓曲線數學的
一種公鑰密碼的方法。橢圓曲線在密碼學中的使用是在1985年由NealKoblitz和VictorMiller
分別獨立提出的。
ECC的主要優勢是在某些情況下它比其他的方法使用更小的密鑰——比如RSA——提
供相當的或更高等級的安全。ECC的另一個優勢是可以定義群之間的雙線性映射,基于Weil
對或是Tate對;雙線性映射已經在密碼學中發現了大量的應用,例如基于身份的加密。不
過一個缺點是加密和解密操作的實現比其他機制花費的時間長。
在2005年2月16日,NSA宣布決定采用橢圓曲線密碼的戰略作為美國政府標準的一
部分,用來保護敏感但不保密的信息。NSA推薦了一組被稱為SuitB的算法,包括用來密
鑰交換的Menezes-Qu-Vanstone橢圓曲線和Diffie-Hellman橢圓曲線,用來數字簽名的橢圓
曲線數字簽名算法。這一組中也包括AES和SHA。
RSA和ECC的安全性和速度的比較[11]
在十九世紀九十年代發生了數件挑戰美國出口規范的事件[1]。其中一件是Phillip
Zimmermann的PGP加密程式,于1991年6月在美國連源代碼一并釋出于互聯網。在RSA
Security公司提出抗議后,Zimmermann被商務部和聯邦調查局偵訊達數年。接著,柏克萊
加州大學的研究生DanielBernstein發起了對美國政府的法律訴訟,以言論自由挑戰禁令的
某些觀點。1995年的States案例促成了在1999年判決印出密碼算法的源
代碼屬美國憲法言論自由保障范圍內。在1996年,39個國家簽訂處理軍武出口的華沙公
約。該公約約定使用短鑰匙長度(對稱鑰匙56位元;RSA512位元)的密碼學不再受到出
口管制。從2000年后,美國出口密碼學已經寬松許多。現在,幾乎所有的互聯網使用者都
可存取到優良的密碼學,就在瀏覽器內建的傳輸層安全性(TLS)或安全接口層(SSL)。
MozillaThunderbird和微軟Outlook電子郵件用戶端程式可以用TLS連結至IMAP或POP
服務器,并以S/MIME收送加密的電子郵件。許多網絡用戶并不知曉他們的基本應用內含
大量的密碼系統。
我們說數據的安全是相對的,可以說在一定時期一定條件下是安全的,隨著硬件和網絡
的發展,或者是另一個王小云的出現,目前的常用加密算法都有可能在短時間內被破解,那
時我們不得不使用更長的密鑰或更加先進的算法,才能保證數據的安全,因此加密算法依然
需要不斷發展和完善,提供更高的加密安全強度和運算速度。
縱觀這兩種算法一個從DES到3DES再到AES,一個從RSA到ECC。其發展角度無
不是從密鑰的簡單性,成本的低廉性,管理的簡易性,算法的復雜性,保密的安全性以及計
算的快速性這幾個方面去考慮。因此,未來算法的發展也必定是從這幾個角度出發的,而且
在實際操作中往往把這兩種算法結合起來,也需將來一種集兩種算法優點于一身的新型算法
將會出現,到那個時候,電子商務的實現必將更加的快捷和安全。
參考文獻:
[1]密碼學/zh-cn/%E5%AF%86%E7%A0%81%E5%AD%A6
[2]DES/zh-cn/DES
[3]AES/zh-cn/AES
[4]AES與3DES的比較/s/blog_
[5]公開密鑰加密
/zh-cn/%E5%85%AC%E9%92%A5%E5%AF%86%E7%A
0%81
[6]RSA加密算法/zh-cn/RSA%E7%AE%97%E6%B3%95
[7]U盾/zh-cn/U%E7%9B%BE
[8]NTRU算法的分
/paper/NTRU%E7%AE%97%E6%B3%95%E7%9A%84%E5
%88%86%E6%9E%90/
[9]密碼算法的現狀和發展研究,計算機應用,2004年2期
[10]橢圓曲線密碼學/zh-cn/%E6%A4%AD%E5%9C%86%E6%9B%B2
%E7%BA%BF%E5%AF%86%E7%A0%81%E5%AD%A6
[11]RSA和ECC的安全性和速度的比較/s/blog_621417860100
本文發布于:2023-03-07 07:41:00,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/167814606016038.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:密碼學論文.doc
本文 PDF 下載地址:密碼學論文.pdf
| 留言與評論(共有 0 條評論) |