トリプルDES
暗号学では、トリプルDESとは、データ暗号化標準(DES)暗号を3回使用して作成されたブロック暗号である。トリプルDESはTDESとも呼ばれ、より標準的にはTDEA(Triple Data Encryption Algorithm)とも呼ばれています。
DESの56ビットの鍵ではブルートフォース攻撃からの防御が不十分であることが判明した際に、新たなアルゴリズムに切り替えることなく、簡単に鍵空間を拡大する方法としてTDESが選ばれました。ダブルDES暗号化に対して有効なミートインザミドル攻撃を防ぐためには、3つのステップの使用が不可欠です。
一般的に3つの異なる鍵を持つTDES(3-key {k1, k2, k3} TDES)は168ビットの鍵長を持ちます。3つの56ビットのDES鍵(パリティビットを持つ3-key TDESは合計192ビットの記憶長を持ちます)ですが、ミートインザミドル攻撃のため、有効なセキュリティは112ビットしかありません。2-key TDES(2-key TDES)と呼ばれる別のバージョンでは、k1 = k3を使用するため、鍵サイズは112ビット、記憶長は128ビットに短縮されます。しかし、このモードは特定の選択平文攻撃や既知の平文攻撃に利用される可能性があるため、NIST では TDES のセキュリティは 80 ビットしかないとされています。
設計上、DESやTDESはソフトウェアでは遅いパフォーマンスに悩まされます。TDESはハードウェア実装に適しており、現在でも多くの場所で使用されています。
TDES は、AES(Advanced Encryption Standard)に取って代わられ、徐々に使用されなくなってきています。大規模な例外として、電子決済業界では今でも2TDESが広く使われており、それに基づいた標準規格の開発と普及が続いています(例:EMV、ICカード(チップカードとも呼ばれる)とIC対応POS端末やATMの相互運用のための標準規格)。このことは、TDESが将来的にも現役の暗号規格であり続けることを保証しています。
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を多用しています。