MD5 和SHA-1 是目前使用比較廣泛的散列(Hash)函數,也是在消息認證和數字簽名中普遍使用的兩種加密算法。
本文基於AVR 高速嵌入式單片機,實現了MD5和SHA-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 慢。
總結:
MD5 和SHA-1 是單項散列函數的典型代表,它們廣泛地應用在信息安全和數字簽名等各個領域。從而有效地抗擊了信息的主動式攻擊,本文基於AVR 單片機實現了這兩種算法,並結合匯編語言盡心了優化,取得了較好的效果。根據信息安全的要求的不同層次可以靈活選擇這兩種算法從而達到實際目的。