コンテンツへスキップ
uencoder

Feistel Network

ファイステル構造はブロック暗号の対称構造である。入力を左右の半分に分割し、各ラウンドで片方をラウンド関数 F によって変換して交換する。暗号化と復号が同じ構造を共有する。

目的

ラウンド関数 F を全単射でない任意の写像にしても全体は可逆のままになり、設計と実装が簡単で、暗号化と復号がコードを共有できる。

メカニズム

各ラウンド:L_{i+1} = R_i、R_{i+1} = L_i XOR F(R_i, K_i)。復号は同じ構造をラウンド鍵の逆順で実行する。DES、3DES、Blowfish、Twofish はすべて Feistel 暗号である。

ユースケース

  • DES/3DES の構造
  • Blowfish/Twofish の設計
  • ブロック暗号の一般枠組み

関連ツール

References