2 回答

TA貢獻1828條經驗 獲得超3個贊
MD5 和SHA-1 是目前使用比較廣泛的散列(Hash)函數,也是在消息認證和數字簽名中普遍使用的兩種加密算法。本文基于AVR
高速嵌入式單片機,實現了MD5和SHA-1
兩種加密算法的比較,并對算法進行了匯編語言的優化和改進。根據實驗結果,對兩種算法的優缺點進行了比較和分析。
0 引言
隨著信息技術和Internet
的迅速發展,信息安全和可靠性問題越來越重要?,F在信息安全面臨兩大基本攻擊:被動式攻擊(獲取消息的內容、業務流分析)和主動攻擊(假冒、消息的篡改、業務拒絕)。前者主要靠加密和解密技術進行有效處理,而后者就要靠消息認證來處理。在金融交易、電子商務、電子信件、手機用戶信息的確認等領域,數據完整性確認和數據來源的真偽鑒定都是很重要的安全服務。實現這些安全服務的最好方法就是使用加密函數中的單項散列(Hash)函數。單項散列(Hash)函數是一種單項密碼體制,它是一個從明文到密文的不可逆函數,也就是說,是無法解密的。通常應用在只需要加密、不需要解密的特殊應用場合。單項散列(Hash)函數H(M)作用于一任意長度的消息M,它返回一固定長度的散列值h:h=H(M)作為初始消息的獨一無二的“數字指紋”,從而能保證數據的完整性和惟一性。
3.1 MD5 與SHA-1 的比較
由于MD5 與SHA-1均是從MD4 發展而來,它們的結構和強度等特性有很多相似之處,表(1)是對MD5 與SHA-1
的結構比較。SHA-1與MD5 的最大區別在于其摘要比MD5 摘要長 32
比特。對于強行攻擊,產生任何一個報文使之摘要等于給定報文摘要的難度:MD5 是2128 數量級的操作,SHA-1 是2160
數量級的操作。產生具有相同摘要的兩個報文的難度:MD5是 264 是數量級的操作,SHA-1 是280 數量級的操作。因而,SHA-1
對強行攻擊的強度更大。但由于SHA-1 的循環步驟比MD5 多(80:64)且要處理的緩存大(160 比特:128 比特),SHA-1
的運行速度比MD5 慢。
5 結束語
MD5 和SHA-1 是單項散列函數的典型代表,它們廣泛地應用在信息安全和數字簽名等各個領域。從而有效地抗擊了信息的主動式攻擊,本文基于AVR
單片機實現了這兩種算法,并結合匯編語言盡心了優化,取得了較好的效果。根據信息安全的要求的不同層次可以靈活選擇這兩種算法從而達到實際目的。
添加回答
舉報