Cryptanalysis

如何將差分密碼分析應用於分組密碼?

  • December 14, 2015

我已經閱讀了很多關於分組密碼的摘要,特別是關於 NIST 競賽的內容,指出縮減輪分組密碼——例如——容易受到差分密碼分析的影響。

我有一個普遍的想法,即差分密碼分析的應用是查看輸入之間的差異;維基百科說得很清楚。但是,對於任何給定的分組密碼,我可以採用任意兩個輸入,而且我很確定我會盯著隨機差異。

  • 我知道這是編寫良好的分組密碼的想法;但是,假設密碼損壞或易受攻擊(請隨意提供簡單的範例),我該如何選擇差異進行嘗試?
  • 算法設計中是否有任何線索可以決定選擇哪些值?
  • 容易受到差分密碼分析的影響如何影響野外密碼?
  • 如果我所擁有的只是已知純文字和已知密鑰之間的差異作為我的分析和擷取的密文作為我要利用的數據,那麼我實際上能推斷出什麼?

基本上,它是通過查找輸入數據和輸出數據的差異之間的關係來分析密碼。理想情況下,輸入數據(明文)的最輕微差異,即使是一個位,也應該產生完全不同的密文。但是,如果密碼設計不當,則可能會觀察到兩個結果密文之間的相關性。反過來,可以利用這種相關性來找出關鍵。這顯然需要選擇明文攻擊;這意味著攻擊者應該有權訪問加密機制,從而使用它來加密他或她選擇的任意數量的明文。因此,這種攻擊通常適用於可以使用但無法獲得密鑰本身的防篡改硬體。

根據 AES,請參閱維基百科關於差分密碼分析的文章的摘錄:

例如,如果 1 => 1 的微分(意味著輸入的 LSB 的差異導致 LSB 的輸出差異)以 4/256 的機率發生(可能與 AES 密碼中的非線性函式為例如),那麼只有 4 個輸入值(或 2 對)的輸入是可能的。假設我們有一個非線性函式,其中鍵在求值之前進行了異或運算,允許微分的值是 {2,3} 和 {4,5}。如果攻擊者發送 {6, 7} 的值並觀察到正確的輸出差異,則意味著密鑰是 6 xor K = 2 或 6 xor K = 4,這意味著密鑰是 K = {2,4}。本質上,對於 n 位非線性函式,理想情況下會尋求盡可能接近 2-(n-1) 以實現差分均勻性。當這件事發生時,

以下是一些熱身連結:

這裡有幾篇關於這個主題的更好的文章:

不是高質量的連結,尤其是不像您所尋找的那樣以實踐為導向,但我認為最後兩個可以讓您對這個主題有所了解。

引用自:https://crypto.stackexchange.com/questions/27