「Sボックス」の版間の差分
削除された内容 追加された内容
m Bot: DES改名によるリンク修正 |
|||
4行目:
S-boxは、m ビットの入力を n ビット出力に変換する関数であり、2<sup>m</sup> のルックアップテーブルによって実装できる。
通常は、[[
1970年代に設計されたDESでは6ビット入力 4ビット出力の S-box を8種類使用しているが、2000年代に設計された[[AES暗号|AES]]や[[Camellia]]では8ビット入出力のS-boxを1種類使用している(Camelliaでは4種の S-box を持つが、三つのS-boxは一つのS-boxの単純な変換となっている)。これはソフトウェアやハードウェアでの実装時に、スピード優先だけではなく、サイズ縮小を優先させた実装も考慮したためである。
S-boxの設計は、[[
1990年代前半に[[差分解読法]]・[[線形解読法]]が見つかり、これらの解読法に耐性を持つことが安全なS-boxの必要条件と認識された。(証明されていないが)nビット入出力のS-boxの場合、2の拡大体 GF(2<sup>m</sup>)での逆変換が差分・線形解読に対して最も強いテーブルと考えられている。このとき、差分確率及び線形確率は、 n が奇数の場合 2<sup>-n+1</sup> 、偶数の場合 2<sup>-n+2</sup> となる。AESやCamelliaではそれを線形変換したものが採用されており、差分確率及び線形確率は、 2<sup>-6</sup> である。
|