DES
DES(Data Encryption Standard)は 1977 年に標準化された対称ブロック暗号であり、56 ビット鍵と 64 ビットブロックを用いる。鍵長が短いため廃れている。
目的
銀行や政府向けに標準化された対称暗号を提供し、かつて事実上の標準であったが、現在は AES に置き換えられた。
メカニズム
16 ラウンドの Feistel 構造である。各ラウンドは 64 ビットブロックを左右に分割し、右半分は拡張置換、サブ鍵との XOR、S ボックス置換、P 置換を経て左半分と XOR される。鍵のうち有効なのは 56 ビットのみ(各バイトの 8 ビット目はパリティ)。
ユースケース
- レガシーな ATM・金融システム
- 暗号史のリサーチ
- Feistel 構造の教育用例
- 旧バージョンの Kerberos
例
- 入力
key=56bit, data=8bytesOutput8-byte ciphertextBroken by brute force
よくあるエラー
- Still using DES in new systems
- Migrate to AES-256
関連用語
AES
AES(Advanced Encryption Standard)は NIST が 2001 年に確立した対称ブロック暗号であり、128/192/256 ビット鍵をサポートし、現代暗号化の事実上の標準である。 用語集
3DES (Triple DES)
3DES は DES の拡張であり、同一データに 3 本の 56 ビット鍵で順に暗号化-復号-暗号化(EDE)を行う。有効鍵長 168 ビットで、DES から AES への移行案として用いられる。 用語集
Block Cipher
ブロック暗号は固定長のブロック(例: 128 ビット)を暗号化・復号する対称暗号であり、任意長のデータを扱うには運用モードが必要である。 用語集