偽阿達瑪變換
外觀
偽阿達馬變換是一個可逆的變換,對於一個二元字串提供混淆與擴散,見阿達馬變換。
這個二元字串長度需是偶數,可以拆成兩個長度相等的二元字串a 和b,各有n位。計算轉換 a' and b',我們使用下面的式子:
而要回復 a 與 b 只需:
一般化
[編輯]上面的式子可以透過矩陣來表示,考慮 a 和 b 是一個向量的兩個元素,那麼上面的變換就是單純把自己乘上一個矩陣:
而透過求得矩陣的反矩陣就可以得到這個變換的反函式。
這個矩陣能被推廣到更高的維度,允許任何長度是2的次方的向量被轉換,透過以下的遞迴定律:
舉例而言:
密碼學性質
[編輯]- 偽阿達馬變換有兩個非常好的密碼學性質,首先,由於兩個元素的時候,這個變換是可逆的,因此更高維度也能由此重建。在密碼學中,可逆的加密是必要的,單純阿達馬變換(a' = a+b, b' = a-b)並沒有這個性質,當我們使用模的時候,但偽阿達馬變換有。
- 另外,對於任何轉換,可以知道所有的輸出數值都和所有的輸入數值有關,這在混淆與擴散是一個相當有用的性質。
相關條目
[編輯]參考資料
[編輯]- James Massey, "On the Optimality of SAFER+ Diffusion", 2nd AES Conference, 1999. [1](頁面存檔備份,存於網際網路檔案館)
- Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, "Twofish: A 128-Bit Block Cipher", 1998. [2] (頁面存檔備份,存於網際網路檔案館)
- Helger Lipmaa. On Differential Properties of Pseudo-Hadamard Transform and Related Mappings. INDOCRYPT 2002, LNCS 2551, pp 48-61, 2002.[3]
這是一篇與密碼學相關的小作品。您可以透過編輯或修訂擴充其內容。 |