伪阿达玛变换

伪阿达马变换是一个可逆的变换,对于一个二元字串提供混淆与扩散,见阿达马变换

这个二元字串长度需是偶数,可以拆成两个长度相等的二元字串ab,各有n位。计算转换 a' and b',我们使用下面的式子:

而要回复 a 与 b 只需:

一般化

上面的式子可以透过矩阵来表示,考虑 ab 是一个向量的两个元素,那么上面的变换就是单纯把自己乘上一个矩阵:

 

而透过求得矩阵的反矩阵就可以得到这个变换的反函式。

这个矩阵能被推广到更高的维度,允许任何长度是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]

外部链接