[英]Difference Between MD4 and MD5 encryption
在編碼過程中,我同時使用了MD4和MD5加密技術。 但是兩者之間沒有明顯的安全性區別。 但是,實際上,大多數人都喜歡MD5,請指定它。 MD5:
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();
byte[] TDESKey = null;
TDESKey = HashProvider.ComputeHash(UTF8.GetBytes("CXPUB001")); // ASYNC PRIVATE KEY CODE FOR DATA ENCRYPTION
//DATA ENCRYPTION
TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();
TDESAlgorithm.Key = TDESKey; //SENDER KEY APPENDED
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
byte[] DataToEncrypt = UTF8.GetBytes(Message);
那么,在安全方面,使用MD4和MD5有什么區別?
MD5在1991年被設計為安全的替代品。 (后來Hans Dobbertin在MD4中確實發現了弱點
MD4的安全性已受到嚴重損害。 針對MD4的首次完全碰撞攻擊於1995年發布,此后又發布了幾種新的攻擊。 從2007年開始,攻擊可以在少於2個MD4哈希操作中生成沖突。
以下是MD4和MD5之間的區別:
增加了第四輪。
現在,每個步驟都有一個唯一的加性常數。
第2輪中的函數g從(XY v XZ v YZ)更改為(XZ v Y not(Z)),以使g的對稱性降低。
現在,每個步驟都會添加上一步的結果。 這促進了更快的“雪崩效應”。
在第2輪和第3輪中,更改輸入單詞的訪問順序,以使這些模式彼此之間的相似度降低。
每個回合中的偏移量已被近似優化,以產生更快的“雪崩效應”。 不同回合中的變化是不同的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.