遼寧對外經(jīng)貿(mào)學院信息管理系 任華新
信息加密算法的分析比較
遼寧對外經(jīng)貿(mào)學院信息管理系 任華新
隨著信息大爆炸的時代的到來,信息的安全成了人們最關心的問題。因而信息的加密和解密的方法就顯得尤為重要。本文針對現(xiàn)有的加密算法進行了分析和比較,以方便更多的人選擇自己需要的加密算法。
加密算法;秘鑰;分析比較
在計算機網(wǎng)絡日益普及和擴展的今天,人們正逐步走進在一個“信息爆炸”的社會。通過網(wǎng)絡,人們可以方便地傳遞數(shù)據(jù)和信息、共享各種數(shù)據(jù)和信息。與此同時網(wǎng)絡中的黑客給人們帶來了不安,于是對網(wǎng)絡的安全要求也更高,涉及的方面也更廣。因此不僅要防治病毒,還應具有較高的抵抗黑客入侵的能力,提高數(shù)據(jù)遠程傳輸?shù)陌踩裕苊庠趥鬏數(shù)倪^程中遭受非法讀取,數(shù)據(jù)加密技術正是為了保證這些信息的安全而采取的非常重要的方法。加密算法大致分為對稱密鑰算法和公鑰算法(非對稱密鑰算法)兩大類。
對稱加密算法又稱為傳統(tǒng)密碼算法是相對比較早期的加密算法,相應的技術也比較成熟。在對稱加密算法中,數(shù)據(jù)傳送方將原文和加密所用的密鑰一起經(jīng)過一定的加密算法轉換后,使其變成更為復雜的加密后的密文傳送出去。接收方收到加密了的密文后,若想讀懂原文,則必須要使用密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成原文。在對稱加密算法中,接收方和發(fā)送發(fā)只有一個密鑰,發(fā)送方和接收方雙方都使用這個密鑰對數(shù)據(jù)進行加密和解密,這就要求接收方想獲得原文必須知道密鑰。對稱加密算法因大都使用混沌可擴散的思想,因此對稱加密算法在加密和解密的過程中會有很多相似之處。
對稱密鑰算法目前比較流行的算法有:
DES(Data Encryption Standard):為密碼體制中的對稱密碼體制。原文每64位分為一組,密鑰長64位,密鑰事實上是56位參與DES運算(第8、16、24、32、40、48、56、64位是校驗位,使得每個密鑰都有奇數(shù)個1)分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法。DES加密算法具有數(shù)據(jù)加密比較標準,速度相對較快,適用于加密數(shù)據(jù)量較大的場合;
3DES(Triple DES):是基于DES的對稱算法,是DES加密算法其中的一種模式,它使用3條56位的密鑰對3DES 數(shù)據(jù)進行三次加密。DES使用56位密碼塊的方法,在密碼塊的方法中,文本每64位分為一塊,每塊文本塊再進行加密。比起最初的DES,3DES安全性更高。對一塊數(shù)據(jù)用不同的三個密鑰進行加密三次,安全性更高;
BLOWFISH:是一種對稱的分組加密算法,每次加密一個64位分組,使用32位~448位的可變長度密鑰,應用于內(nèi)部加密。加密過程分為兩個階段:密鑰預處理和信息加密。blowfish加密算法中使用兩個盒key—pbox[18]和key—sbox[4][256],以及一個核心的加密函數(shù)blowfish—encrypt()。這兩個盒所占存儲空間為(18×32 +4×256×32)字節(jié),即4186字節(jié)。加密函數(shù)blowfish—encrypt()輸入64位明文,輸出64位的密文。
不足之處是,發(fā)送和接收雙方都使用同一鑰匙,因此比較容易破解,安全性較差。除此以外,發(fā)送和接收雙方每次使用對稱加密算法時,都要使用一個新的密鑰,因此發(fā)收信雙方所擁有的密鑰數(shù)量將快速增長,管理眾多的密鑰成為了用戶的負擔。對稱加密算法在分布式網(wǎng)絡系統(tǒng)上使用較為困難,主要是因為管理密鑰困難,促使成本較高。而與公開密鑰加密算法比起來,對稱加密算法能夠提供加密和認證卻缺乏了簽名功能,使得使用范圍有所縮小。在計算機專網(wǎng)系統(tǒng)中廣泛使用的對稱加密算法有DES和IDEA等。美國國家標準局倡導的AES即將作為新標準取代DES。
公鑰算法又經(jīng)常被稱為“非對稱加密算法”,使用兩個不同但又可以完全匹配的—把公鑰和一把私鑰。在使用公鑰加密算法加密原文時,只有使用匹配的公鑰和私鑰,才能完成對原文的加密和解密過程。加密原文時采用公鑰加密,解密密文時使用私鑰解密,而且發(fā)信方知道收信方的公鑰,只有收信方是唯一知道私鑰的人。公鑰加密算法的基本原理是:如果發(fā)信方想發(fā)送只有收信方才能解讀的加密信息,發(fā)信者使用收信者的公鑰加密信件,收信者使用自己的私鑰鑰解密信件。顯然,采用不對稱加密算法,收發(fā)信雙方在通信之前,收信方必須將自己早已隨機生成的公鑰送給發(fā)信方,而自己保留私鑰。由于不對稱算法擁有兩個密鑰,因而特別適用于分布式系統(tǒng)中的數(shù)據(jù)加密。廣泛應用的不對稱加密算法有RSA算法和美國國家標準局提出的DSA。以不對稱加密算法為基礎的加密技術應用非常廣泛。
公鑰算法主要有如下算法:
IDEA(International Data Encryption Algorithm),使用 128 位密鑰提供非常強的安全性。算法用了52個子密鑰(8輪中的每一輪需要6個,其他4個用于輸出變換)。首先,將128位密鑰分成8個16位子密鑰。這是算法的第一批8個子密鑰(第一輪6個,第二輪2個)。然后,密鑰向左環(huán)移動x位后再分成8個子密鑰。開始4個用在第二輪,后面4個用在第三輪。密鑰再次向左環(huán)移動25位,產(chǎn)生另外8個子密鑰,如此進行指導算法結束。該算法是基于“相異代數(shù)群上的混合運算”設計思想,算法運用硬件與軟件實現(xiàn)都很容易,而且比DES算法在實現(xiàn)上快的多。
RSA:是一個支持變長密鑰的公共密鑰算法,需要加密的文件塊的長度也是可變的,非對稱算法;
DSA(Digital Signature Algorithm):又稱為數(shù)字簽名算法,是一種標準的 DSS(數(shù)字簽名標準),嚴格來說不算加密算法;
AES(Advanced Encryption Standard):高級加密標準對稱算法,是下一代的加密算法標準,安全級別高,速度快,現(xiàn)在 AES標準的一個實現(xiàn)是 Rijndael 算法;
公鑰加密算法的缺點,就是效率相對非常低,比常用的單密鑰算法慢,甚至慢上一兩個數(shù)量級都有可能,因此它不適合經(jīng)常為大量的原始信息進行加密,而使用單密碼鑰機制對原始信息進行加密碼,然后這個單密鑰,我們可以通過公鑰機制進行加密。
在對稱密鑰體制中,接收方和發(fā)送發(fā)使用的密鑰相同,且收發(fā)雙方必須共同使用同一密鑰,因此對稱密碼的密鑰是保密的,沒有密鑰,就不能還原原文,僅僅知道算法和部分密文不足以確定密鑰。
對稱加密算法的優(yōu)點是計算量較小、算法是公開的、加密效率較高、加密和解密的速度比較快。對稱密碼技術進行安全通信前需要以安全方式進行密鑰交換,且它的規(guī)模復雜。公鑰密鑰算法具有加解密速度慢的特點,密鑰尺寸大,發(fā)展歷史較短等特點。
公鑰加密體制中,它使用不同的加密密鑰和解密密鑰,且加密密鑰是向公眾公開的,而解密密鑰是需要保密的,發(fā)送方擁有加密或者解密密鑰,而接收方擁有另一個密鑰。兩個密鑰之一也是保密的,無解密密鑰,解密不可行,知道算法和其中一個密鑰以及若干密文不能確定另一個密鑰。
[1]葉建龍.RSA 加密中大素數(shù)的生成方法及其改進[J].廊坊師范學院學報(自然科學),2010,10(2):55-57.
[2]Sutter G D,Deschamps J P,Imana J L.Modular multiplication and exponentiation architectures for fast RSA cryptosystem based on digit serial computation[J]. Industrial Electronics,2011,58(7): 3101-3109.
[3]胡美燕,劉然慧.DES算法安全性的分析與研究[J].內(nèi)蒙古大學學報,2005,36(6):694-697.
[4]王琴琴,陳相寧. Montgomery 算法在RSA 中的應用及其優(yōu)化[J].計算機技術與發(fā)展,2007,17(6):145-148.
[5]崔鈺.關于計算機網(wǎng)絡安全中的應用信息加密技術[J].山西電子技術,2012(5).
任華新(1977-),女,遼寧大連人,副教授,主要研究方向:計算機軟件。