トリプルDES

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

テンプレート:Infobox Encryption method

トリプルDESTriple DES3DESとも)とは、DESを(鍵を変えながら)暗号化→復号→暗号化の順に三回施す(EDEと呼ぶ)暗号アルゴリズムTriple Data Encryption AlgorithmTDEATriple DEA)とも呼ばれる。

概要

暗号化は次の順で行われる(EDEモード)。

C = encryptk3(decryptk2(encryptk1(P))).

ただし

P ... 平文
C ... 暗号文
ki ... 鍵 #i
encrypt, decrypt ... DES

トリプルDESでは、暗号化、復号、暗号化と3つの鍵を用いる。この鍵の選択について3つのオプションが存在する。

Keying option 1
k1, k2, k3 すべてが異なる場合。
3 × 56 = 168ビットの鍵長となるが、既知の攻撃法が存在するため実質的な暗号強度は112ビットとなる[1]。3TDEA、3-key 3DES などと呼ばれる。
Keying option 2
k1 と k2 が異なり、k3 = k1 の場合。
2 × 56 = 112ビットの鍵長および実質的な暗号強度は80ビットとなる[1]。中間一致攻撃への耐性があるため、単純にDESで2回暗号化するよりも安全である。2TDEA、2-key 3DES などと呼ばれる。
Keying option 3
k1 = k2 = k3の場合。
DESと同じであり、56ビットの鍵長を持つ。このオプションにより、トリプルDESはDESに対して上位互換性を持つ(DESによって暗号化された文章をトリプルDESで復号できる。)

安全性

DESはをなさない。3つの鍵{k1,k2,k3}を使うトリプルDES (-EEE) が、一つの鍵k4でDESを行うのと等価であるか?、つまり、

任意の{k1、k2、k3}について
C1 = DES<k3>( DES<k2>( DES<k1>( P ) ) )
C2 = DES<k4>( P )
全てのPについて、C1 == C2となるk4が存在するか(しないか)?

について、もし、k4が存在するならば、トリプルDES (-EEE) の鍵空間はDESと同じであり、安全性は向上しないことになる。 この点について、任意の{k1,k2}に対して、DES<k2>( DES<k1>( * ) ) == DES<k3>( * ) となるk3は存在しないことが証明されて、DESを多段にすることで鍵空間は拡大できることが示された[2]

参考文献

  1. 1.0 1.1 テンプレート:Cite web
  2. K.W.Campbell, M.J.Wiener, "DES is not a group", CRYPTO '92.

関連項目

テンプレート:Cryptography navbox