0 引言
隨着信息技術和Internet 的迅速發展,信息安全和可靠性問題越來越重要。現在信息安全面臨兩大基本攻擊:被動式攻擊(獲取消息的內容、業務流分析)和主動攻擊(假冒、消息的篡改、業務拒絕)。前者主要靠加密和解密技術進行有效處理,而后者就要靠消息認證來處理。在金融交易、電子商務、電子信件、手機用戶信息的確認等領域,數據完整性確認和數據來源的真偽鑒定都是很重要的安全服務。實現這些安全服務的最好方法就是使用加密函數中的單項散列(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 是單項散列函數的典型代表,它們廣泛地應用在信息安全和數字簽名等各個領域。
原文:
http://hi.baidu.com/hzsvsmwyqtbabxq/item/7020c24c0731760be935045e
http://stark-summer.iteye.com/blog/1313884

