トリプルDES(TDES/TDEA)とは?定義・仕組み・セキュリティ解説
トリプルDES(TDES/TDEA)の定義・仕組み、鍵長や攻撃耐性、実用例とセキュリティ評価を分かりやすく解説。金融分野での現状も紹介。
暗号学におけるトリプルDES(通称 TDES、より正式には TDEA:Triple Data Encryption Algorithm)は、もともと単一のデータ暗号化標準(DES)をそのまま置き換えずに安全性を高めるために考案されたブロック暗号スキームです。TDES は DES を3回組み合わせて適用することで、鍵空間を拡張し、単純なブルートフォース攻撃に対する耐性を高めることを目的としています。
仕組み(EDE モード)
TDES では一般に「EDE(Encrypt–Decrypt–Encrypt)」方式が用いられます。平文 M に対する暗号化は次の順序で行います。
- 暗号化:C1 = E(k1, M)
- 復号化:C2 = D(k2, C1)
- 暗号化:C = E(k3, C2)
復号は上記の逆順(D(k3), E(k2), D(k1))で行います。EDE を採ることで、単一の DES との互換性を保つ(例えば k1=k2=k3 とすると単一 DES と同等になる)一方、2 段階や 3 段階の鍵構成によりセキュリティを増強できます。
鍵サイズと記憶長
DES の鍵は1鍵あたり 64 ビットで、そのうち 8 ビットはパリティ(エラー検出用)に充てられ、実効鍵長は 56 ビットです。これを踏まえると:
- 3-key TDES({k1, k2, k3})の名目上の鍵長は 168 ビット(3×56)。パリティビットを含む記憶長は 192 ビットになりますが、実効的な攻撃耐性は後述の通り限定されます。
- 2-key TDES(一般的に k1 = k3 を使用)では名目上の鍵長は 112 ビット、パリティ含みで 128 ビットとなります。
セキュリティと主な攻撃
TDES は DES 単体よりは強いものの、完全な 168 ビット強度を持つわけではありません。主な理由は「ミートインザミドル攻撃(meet-in-the-middle)」で、2 段階の探索を組み合わせることで探索空間を大幅に削減できます。結果として 3-key TDES の実効的な耐力は約 112 ビット相当と見なされます。
2-key TDES については、NIST が実効セキュリティを約 80 ビットと評価しており、新規用途での採用は推奨されていません。また、選択平文攻撃や既知の平文攻撃が成り立つ状況ではさらなる弱点が生じる可能性があります(本文中にある 選択平文、既知の平文 の記述参照)。
さらに、TDES は 64 ビットのブロック長を持つため、十分に大量のデータを暗号化するとブロック再利用(いわゆる「誕生日攻撃」)に起因する問題が発生します。実運用上この弱点を悪用した攻撃(例:Sweet32 として知られる手法に類似する攻撃)が報告されており、大量トラフィックのある TLS セッションなどでは利用制限が必要となります。
実装上の注意と性能
DES 系暗号は設計当初からハードウェア向けに最適化されており、ソフトウェア実装では比較的遅い傾向があります。TDES も同様で、ハードウェア実装(専用チップ、HSM、決済端末など)において効率的に動作します。そのため、金融決済分野などハードウェアベースの既存インフラが多い領域では長く使われてきました。
利用例・互換性と移行
TDES は AES(Advanced Encryption Standard)の登場後、一般的用途では徐々に置き換えられています。ただし、電子決済業界や既存のICカード相互運用基準(例:EMV、ICカード・IC対応POS端末やATM 関連規格)では依然として 2TDES が広く用いられており、規格上の互換性維持のために当面存続するケースが多いです。このため、TDES は短期的には「現役の暗号規格」として残りますが、長期的には AES へ移行することが強く推奨されています。
ベストプラクティス(推奨事項)
- 新規システム・新規プロジェクトでは TDES の採用を避け、AES(128/192/256 ビット、可能なら AEAD モード)を選択する。
- 既存の TDES を使用するシステムは、可能な限り早期に AES へ移行する計画を立てる。特に 2-key TDES はセキュリティ上の理由から優先的に置換する。
- 64 ビットブロック長に起因する問題を緩和するため、長時間・大量データの一意鍵利用を避ける(セッション単位で鍵をローテーションする等)。
- ハードウェア実装(HSM 等)に依存した決済系などの例外的な用途では、関連する業界標準・規格の指針に従いつつ、移行計画を検討する。
まとめると、TDES は歴史的に重要かつ互換性確保のために広く使われてきた技術ですが、実効的な鍵強度やブロック長の制約のため、現在は AES への移行が推奨されています。金融分野など特定の業界では依然として利用されているため、運用上はリスク評価と段階的な移行計画が重要です。


Mを平文、Cを暗号文、{k1,k2,k3}を3つの暗号鍵の集合とするトリプルDESの動作。
関連ページ
- デスエックス
- データ暗号化規格(DES)
- アドバンスドエンクリプションきかくきじゅん(AES)
質問と回答
Q:Triple DESとは何ですか?
A:Triple DES(TDESまたはTDEA)は、Data Encryption Standard(DES)暗号を3回使って作成したブロック暗号です。鍵空間を拡大し、ダブルDES暗号に有効なミート・イン・ザ・ミドル攻撃を防ぐために考案されました。
Q: 3-key TDESの鍵長はどのくらいか?
A: 3-key TDESの鍵長は168ビットで、56ビットのDES鍵3つとパリティビットで合計192ビットの記憶長になります。
Q: 2-key TDESの鍵長は何ビットですか?
A: 2鍵TDESの鍵長は112ビットで、56ビットのDES鍵2個とパリティビットの合計で128ビットの記憶長になります。
Q: 2TDESに対してどのような攻撃が可能か?
A:2TDESは、ある種の選択平文攻撃や既知の平文攻撃によって利用される可能性があります。そのため、NISTでは80ビットのセキュリティしか持たないものとして扱われています。
Q: Triple DESはソフトウェアとハードウェアのどちらで実装するのが良いのでしょうか?
A: 設計上、Triple DESはソフトウェアではパフォーマンスが低下するため、ハードウェアの実装に適しています。
Q: Triple DESは現在も広く使われているのですか?
A: Triple DESはAdvanced Encryption Standard (AES)に大きく取って代わられましたが、電子決済業界では現在も活発な暗号規格であり、これをベースにした規格の開発と普及が続けられています。
Q: EMVはTriple DESに関連して何を意味するのですか?
A: EMVはEuropay Mastercard Visaの略で、ICカード(チップカード)とIC対応POS端末・ATM間の相互運用のための規格で、2TDESを多用しています。
百科事典を検索する