S盒

密码学中,一个S盒Substitution-box替换盒)是對稱密鑰加密算法执行替换计算的基本结构。在块密码中,它们通常用于模糊密钥与密文之间的关系——香农混淆理论[1]

通常,S-Box接受特定数量的输入比特m,并将其转换为特定数量的输出比特n,其中n 不一定等于m[1]。一个m×n的S盒可以通过包含2m条目,每条目n比特的查找表实现。S盒通常是固定的(例如DESAES加密算法), 也有一些加密算法的S盒是基于密钥动态生成的(例如Blowfish双鱼算法加密算法)。

DES的6×4位S盒(S5)是一个很好的例子:

S5中间四个比特
0000000100100011010001010110011110001001101010111100110111101111
首尾比特 00 0010110001000001011110101011011010000101001111111101000011101001
01 1110101100101100010001111101000101010000111110100011100110000110
10 0100001000011011101011010111100011111001110001010110001100001110
11 1011100011000111000111100010110101101111000010011010010001010011

给定6比特输入,将首尾两个比特作为行条件、中间四个比特(inner four bits)作为列条件进行查表,最终获得4比特输出。例如,输入“011011”,通过首尾两个比特“01”和中间的比特“1101”进行查表,最终的输出应该是“1001”[2]

参见

参考文献

  1. Chandrasekaran, J. 等. . Meghanathan, N. et al. (编). . Springer. 2011: 516 [2013-03-23]. ISBN 978-3-642-17877-1. (原始内容存档于2016-05-11).
  2. Buchmann, Johannes A. . Corr. 2. print. New York, NY [u.a.]: Springer. 2001: 119–120. ISBN 0-387-95034-6.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.