対称暗号におけるPボックス(置換ボックス)
Pボックス(置換ボックス)は、ブロック暗号で入力ビットを出力全体に分散させるために用いられる、可逆的なビット置換コンポーネントです。拡散性を高め、平文と暗号文の関係を複雑にします。
概要
置換ボックスは一般にPボックスと呼ばれ、データブロック内のビットの順序を入れ替える決定論的な写像である。対称暗号では、混同と拡散を生み出すために置換コンポーネントと組み合わせて用いられる。Pボックスはビットを別の位置へ移動させるため、複数のラウンドを経ると1つの入力ビットが多数の出力に影響する。Pボックスは複数ビットの記号ではなく個々のビットを対象とし、通常は復号時に元の順序を復元できるよう可逆的である。
画像ギャラリー
1 画像設計と動作
PボックスはしばしばSボックスと組み合わせて使用される。Sボックスがビットパターンを非線形に変換するのに対し、Pボックスはその位置を変更する。両者を組み合わせることで、平文と暗号文の関係を追跡しにくくする。これはクロード・シャノンの拡散原理を実装するものであり、各入力ビットの影響を多数の出力ビットへ広げ、統計的攻撃への耐性を高める(拡散)。
Pボックスの設計で考慮される代表的な特性には、可逆性、バランス性(特定の出力ビットが少数の入力ビットに過度に依存しないこと)、および暗号方式のワード構造とラウンド構造との互換性がある。Pボックスは固定式、鍵付き、または置換スケジュールによって生成される方式をとり得る。
- 種類: 単純に位置を入れ替えるストレートPボックス、ビットを複製して幅を増やす拡張Pボックス、幅を減らす圧縮Pボックス。
- 粒度: ビット単位の置換と、バイトまたはワード単位の置換。
多くのブロック暗号では、設計者は置換層と置換層を交互に配置して、全体として置換・転置ネットワーク(SPN)を構成するか、Feistelラウンド内でPボックスを使用する。歴史的には、DESのような古典的暗号が拡散性の向上のためにPボックスを用いた。
Pボックス自体は線形であり、非線形性を導入しない。このため、線形解読法および差分解読法に耐えるには、Sボックスその他の非線形演算と組み合わせる必要がある。技術的な説明や例については、以下の入門資料および暗号仕様を参照されたい。
関連項目と参考資料:暗号学の概念、ビット演算(ビット)、置換ボックス(Sボックス)、拡散の理論、ブロック暗号の設計、平文と暗号文の関係。
関連項目
著者
AlegsaOnline.com 対称暗号におけるPボックス(置換ボックス) Leandro Alegsa
URL: https://ja.alegsaonline.com/art/75876
出典
- cs.chalmers.se : Cryptography 2007