Aes
用一個例子解釋混合雙射
我正在閱讀白盒 AES。“混合雙射”是重要的定義之一。例如,我在這裡複製一段:
包含輪密鑰字節的查找表可以被認為是微型分組密碼。正如香農所定義的,級聯輸入和輸出編碼的應用有助於這些組件實現混淆。為了幫助它們實現擴散,還在它們的輸入和輸出處組合線性變換(這些組合是在應用級聯輸入和輸出編碼之前完成的)。可逆線性變換稱為混合雙射。
我在網上看過雙射的定義,很容易理解。什麼是混合雙射?用“簡單”的英語解釋,最好用一個例子來解釋。
他們所說的混合雙射是 AES 輪函式的MixColumns步驟。它通過可逆地擾亂每列的狀態來改善擴散。回想一下,塊狀態由字節大小的元素(總共 16 個字節或 128 位)組成的 4x4 矩陣組成,因此四列中的每一列都由四個垂直元素組成。MixColumns 轉換並行應用於每一列。這只是幾個步驟中的一步。它與 AddRoundKey、ShiftRows 和 SubBytes 一起構成了一個 AES 輪。每個塊應用十到十四輪。
它被稱為混合雙射,而不僅僅是暗示輸出是隨機的雙射。當然,並非所有雙射都是隨機的。這不是標準術語,它解釋了混亂。只要把它想像成一個雙射,它的輸出看起來相當隨機,使它對擴散有用。
我強烈建議您閱讀A Stick Figure Guide to the Advanced Encryption Standard (AES)。這是對 AES 內部結構的精彩解釋,包括 MixColumns。