DES(Data Encryption Standard)は、米国標準技術局(NIST)によって発表された対称鍵ブロック暗号です。
データ暗号化規格(DES)は、米国国立標準技術研究所(NIST)が発表した対称鍵ブロック暗号です。
DESは、Feistel暗号の実装です。 16ラウンドのFeistel構造を採用しています。 ブロックサイズは64ビットです。 鍵長は64ビットですが、鍵の64ビットのうち8ビットは暗号化アルゴリズムで使用されない(チェックビットとしてのみ機能する)ため、DESの実効鍵長は56ビットとなります。 DESの一般的な構造は以下の図のようになっています –
DESはFeistel Cipherをベースにしているので、DESを指定するために必要なのは以下のようになります。
- ラウンド関数
- キースケジュール
- その他の処理 – 初期順列と最終順列
初期順列と最終順列
初期順列と最終順列は、互いに逆の直線的なPermutation box (P-box)です。 これらはDESでは暗号上の意味を持ちません。
Round Function
この暗号の中心はDES関数fです。
-
Expansion Permutation Box – 右の入力が32ビット、ラウンドキーが48ビットなので、まず右の入力を48ビットに拡張する必要があります。
-
図示された順列論理は、一般的に次のように記述されます。
-
XOR(ホワイトナー)。 – DESは展開順列の後、展開された右部とラウンド鍵のXOR演算を行います。 ラウンド鍵はこの演算でのみ使用されます。
-
Substitution Boxes(置換ボックス)。 – S-boxは本当の意味でのミキシング(混同)を行います。 DESでは、それぞれが6ビットの入力と4ビットの出力を持つ8つのS-boxを使用します。
-
S-boxルールは以下のように示されています
-
S-boxテーブルは全部で8つあります。 そして、8つのS-boxの出力を32ビットセクションにまとめます。
-
ストレートパーミュテーション – S-boxの32ビットの出力は、次の図に示すルールでストレートパーミュテーションにかけられます
Key Generation
ラウンドキージェネレータは、56ビットの暗号鍵から16個の48ビットの鍵を作成します。
Parity Drop、Shifting、Compression P-boxのロジックはDESの説明に記載されています。
DES Analysis
DESはブロック暗号に求められる両方の特性を満たしています。
-
雪崩効果 – 平文の小さな変化が、暗号文の非常に大きな変化をもたらす。
-
完全性 – 暗号文の各ビットは、平文の多くのビットに依存する。
DES は非常によく設計されたブロック暗号であることが証明されています。
Advertisements