簡體   English   中英

MD4和MD5加密之間的區別

[英]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有什么區別?

MD4和MD5都不加密,它們是一個哈希函數,可產生128位哈希值。 如果需要加密,請使用適當的加密技術,例如AES

並且添加到MD5的“安全性”方面,由於有多個漏洞可能導致哈希沖突 ,並且由於使用彩虹表將密文恢復為原始值,該漏洞已被宣布為不可用。 如果需要哈希,請使用SHA-2

MD5在1991年被設計為安全的替代品。 (后來Hans Dobbertin在MD4中確實發現了弱點

MD4的安全性已受到嚴重損害。 針對MD4的首次完全碰撞攻擊於1995年發布,此后又發布了幾種新的攻擊。 從2007年開始,攻擊可以在少於2個MD4哈希操作中生成沖突。

以下是MD4和MD5之間的區別:

  1. 增加了第四輪。

  2. 現在,每個步驟都有一個唯一的加性常數。

  3. 第2輪中的函數g從(XY v XZ v YZ)更改為(XZ v Y not(Z)),以使g的對稱性降低。

  4. 現在,每個步驟都會添加上一步的結果。 這促進了更快的“雪崩效應”。

  5. 在第2輪和第3輪中,更改輸入單詞的訪問順序,以使這些模式彼此之間的相似度降低。

  6. 每個回合中的偏移量已被近似優化,以產生更快的“雪崩效應”。 不同回合中的變化是不同的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM