Aes
AES 5輪Square攻擊,如何選擇明文?
我知道我們需要生成一個增量集(包含 256 個明文)。
在攻擊過程中,我們猜測第 5 輪密鑰的 4 個字節和第 4 輪密鑰的 1 個字節,這允許我們在第 3 輪結束時狀態的一個位置的字節。如果該位置是平衡的,那麼 4 字節預測是有效的,但有很多誤報。
我的問題是誤報太多了。無論我生成什麼增量集,所有剩餘的 4 字節組合都會導致誤報。
如何生成輸入明文以消除這些誤報?我在網上找不到 AES Square 攻擊的單一實現,所以如果有人能告訴我,我將非常感激。
謝謝你。
編輯:沒關係。平均需要 5 個或更少的增量集。我剛剛遇到了一個數據類型錯誤(char -> unsigned int),導致程序無法消除 delta-set
在統計攻擊(如平方)中,如果我們能減少密鑰空間,就認為是成功的。正如您所指出的,這裡存在誤報,應將它們視為正確的關鍵候選者。但重點是區分器去掉了一些不正確的鍵,減少了鍵搜尋空間。在找到正確密鑰的候選者後,您應該在它們之間進行詳盡的搜尋或嘗試其他攻擊,甚至進一步減少密鑰空間!在這裡,選擇明文對誤報沒有太大影響,因為不同的密鑰會以不同的方式改變選擇的集合。