DES (Data Encryption Standard, 1976)(デス)
IBM・NSA が共同開発し 1976 年に米国 NIST が連邦標準 (FIPS 46) として採用した世界初の商用ブロック暗号。56-bit 鍵・64-bit ブロック・Feistel 構造 16 ラウンドの設計で、1977-1998 年の商用暗号の世界標準として君臨、銀行 ATM・SSL 初期実装・UNIX crypt 関数で広く採用された歴史的暗号。
概要
DES (Data Encryption Standard、データ暗号化標準) は、IBM と NSA が共同開発し 1976 年に米国 NIST が連邦標準 (FIPS 46) として採用した世界初の商用ブロック暗号で、56-bit 鍵・64-bit ブロック・Feistel 構造 16 ラウンドの設計で、1977-1998 年の商用暗号の世界標準として君臨した歴史的アルゴリズムです。IBM の Horst Feistel が 1971 年に設計した Lucifer (128-bit 鍵) を基盤として、NSA との調整で鍵長を 128-bit から 56-bit に短縮された経緯があり、NSA バックドア論争の歴史的元凶として知られています。銀行 ATM (1980 年代から世界中の銀行で採用)・SSL 初期実装・UNIX crypt 関数 (1970-1990 年代のパスワードハッシュ)・PGP (1991 年初期実装) で広く採用、商用暗号の事実上世界標準となりました。1998 年 EFF (Electronic Frontier Foundation) の DES Cracker (専用 ASIC・$250,000 で構築) が 56-bit DES を 22 時間で総当たり破ったことで事実上消滅、後継 3DES (Triple DES、112 / 168-bit 実効) を経て AES (2001) に完全置換されました。
主な特徴・仕組み
- 発表: 1976 年 NIST 採択・1977 年連邦標準 FIPS 46 公布
- 基盤: IBM Lucifer (Horst Feistel 設計、1971)
- 鍵長: 56-bit (NSA 調整で 128 → 56-bit 短縮)
- ブロックサイズ: 64-bit
- 構造: Feistel 構造 16 ラウンド
- S-box: 8 個の非線形置換テーブル、NSA 設計 (差分暗号解読耐性のため)
- 総当たり: 2^56 = 72 千兆通り、1998 年 EFF DES Cracker で 22 時間
- 後継: 3DES (Triple DES、112 / 168-bit 実効)・AES (2001)
- 特許: なし、自由利用可
- 採用: 銀行 ATM・SSL・UNIX crypt・PGP 初期
- 廃止: 2005 年 NIST が DES を撤回、3DES も 2024 年に撤回予定
スペック比較表 (ブロック暗号史)
| 暗号 | 年 | 鍵長 | ブロック | 状態 |
|---|---|---|---|---|
| Lucifer | 1971 | 128-bit | 128-bit | DES の前身 |
| DES | 1976 | 56-bit | 64-bit | 1998 廃止 |
| 3DES | 1998 | 112/168-bit | 64-bit | 2024 廃止予定 |
| AES-128 | 2001 | 128-bit | 128-bit | 現代主流 |
| AES-256 | 2001 | 256-bit | 128-bit | 高セキュリティ |
具体例・対応技術 / 歴史的影響
- FIPS 46 (1977): 米国連邦標準採択、商用暗号の起点
- UNIX crypt(3) (1979): パスワードハッシュ、DES + salt
- ATM 銀行端末 (1980s-1990s): PIN 暗号化・取引データ保護
- EFF DES Cracker (1998): 22 時間で DES 破断、商業利用終焉の引き金
- distributed.net DES Challenge (1997-1999): ボランティア分散計算で DES 破断
自作PCでの選び方・注意点
DES は 2026 年現在、新規利用は完全に推奨されません (NIST 公式廃止、2005 年)。レガシーシステム保守・古い ATM 端末互換性確保・1990 年代以前の UNIX バックアップデータ復号で意識する技術。OpenSSL・libgcrypt などのライブラリでは依然 DES 関数が残されていますが (openssl enc -des-cbc 等)、新規暗号化用途では完全に AES-256-GCM を選択推奨。古い PGP 鍵 (1991-1995 年作成) の解読では IDEA / DES 系統が使われた可能性あり、現代の GnuPG で読み込み可能ですが暗号として安全ではない。Linux の UNIX crypt(3) 旧パスワードハッシュ (8 文字制限・DES 系) は 1990 年代以降 MD5crypt → bcrypt → Argon2 と進化済、新規システムでは Argon2id が推奨。歴史的価値の高い暗号として、暗号学・情報セキュリティの教科書で必ず学ぶ基礎技術として位置付けられます。
関連用語との違い
- 3DES: DES を 3 段適用、112/168-bit 実効
- AES: 2001 年標準化、DES の完全後継
- RSA: 公開鍵暗号、DES (共通鍵) と異なる系統
よくある質問(FAQ)
Q1: なぜ DES は破られた? A: 56-bit 鍵 (2^56 = 72 千兆) が現代計算機で総当たり可能、1998 年 EFF DES Cracker (専用 ASIC) で 22 時間・現代の GPU クラスタなら数分で破断可能。
Q2: NSA バックドア論争とは? A: NSA が IBM Lucifer の鍵長を 128 → 56-bit に短縮したことで、NSA だけが解読できるバックドアを仕込んだという論争。S-box の意図的弱体化説もあるが、実際は差分暗号解読への耐性向上だった (1990 年に判明)。
Q3: 現代でも使う場面は? A: 完全になし、新規システムは AES-256-GCM 推奨。レガシーシステム互換性確保のみで稀に利用される歴史的暗号。
まとめ
- DES = 1976 年 NIST 採択、世界初の商用ブロック暗号
- 56-bit 鍵・64-bit ブロック・Feistel 16 ラウンド
- 1998 年 EFF DES Cracker で 22 時間破断、事実上消滅
- 3DES → AES (2001) へ置換、現代は歴史的価値のみ