DES(Data Encryption Standard)
DES(Data Encryption Standard) とは何ですか?
DES(Data Encryption Standard)1977 年に NBS が標準化した 64 ビットブロック暗号(実効鍵長 56 ビット)。鍵空間を数時間で総当たりできるため、現在は破られているとされる旧式アルゴリズム。
DES は 16 ラウンドの Feistel ネットワークに基づく対称ブロック暗号で、64 ビットブロックを実効鍵長 56 ビット(64 ビット中 8 ビットはパリティ)で暗号化します。IBM の Lucifer 暗号を起源とし、1977 年に米国国立標準局が FIPS PUB 46 として標準化、以後 20 年にわたり商用暗号の主役でした。その設計は差分解読法に対して S ボックスを意図的に強化しており、この技術は Biham と Shamir が 1980 年代末に公開再発見する数年前から NSA と IBM が把握していました。
致命的な弱点は鍵長です。56 ビット空間の鍵数はおよそ 7.2×10¹⁶ にすぎません。1998 年、EFF が専用に製作した Deep Crack(費用約 25 万ドル)は約 56 時間で DES 鍵を復元し、1999 年には distributed.net と協力して 22 時間に短縮しました。今日では控えめな GPU/FPGA クラスターやクラウド利用で数時間のうちに DES を総当たりできます。差分・線形解読という近道は存在しますが、実運用では依然として総当たりより遅い状況です。
したがって DES は破られたと見なされ、NIST(SP 800-131A)、PCI DSS をはじめほぼすべての現代標準で禁止されています。Triple DES(3DES) は DES を 3 回適用して約 112 ビット強度を得る橋渡しでしたが、64 ビットブロックゆえ誕生日攻撃 Sweet32(CVE-2016-2183)に脆弱で、NIST は 2023 年以降を全面禁止として 3DES を廃止しました。強制的な後継は AES です。DES はレガシー系統(Kerberos v4、旧式決済ハードウェア)にのみ残存します。
flowchart TD P[64 ビット平文ブロック] --> IP[初期置換] IP --> S[L0 と R0 に分割] S --> F[16 ラウンドの Feistel<br/>各: 拡大, サブ鍵と XOR,<br/>S ボックス置換, 置換] K[56 ビット鍵] --> KS[鍵スケジュール<br/>16 個のラウンド鍵] KS --> F F --> FP[最終置換] FP --> C[64 ビット暗号文] C -.->|56 ビット鍵は短すぎ| B[総当たり<br/>Deep Crack: 1998 年 約 56 時間] B --> R[破られた - AES が後継;<br/>3DES 橋渡しも 2023 年に廃止]
● 例
- 01
DES は初期の Kerberos v4 プロトコルで使用されていた。
- 02
初期の ATM の PIN 暗号化パッドはシングル DES を用い、後に 3DES、AES へ移行した。
● よくある質問
DES(Data Encryption Standard) とは何ですか?
1977 年に NBS が標準化した 64 ビットブロック暗号(実効鍵長 56 ビット)。鍵空間を数時間で総当たりできるため、現在は破られているとされる旧式アルゴリズム。 サイバーセキュリティの 暗号 カテゴリに属します。
DES(Data Encryption Standard) とはどういう意味ですか?
1977 年に NBS が標準化した 64 ビットブロック暗号(実効鍵長 56 ビット)。鍵空間を数時間で総当たりできるため、現在は破られているとされる旧式アルゴリズム。
DES(Data Encryption Standard) からどのように防御しますか?
DES(Data Encryption Standard) に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。