トリプルDES
出典: フリー百科事典『ウィキペディア(Wikipedia)』
テンプレート:Infobox Encryption method
トリプルDES(Triple DES、3DESとも)とは、DESを(鍵を変えながら)暗号化→復号→暗号化の順に三回施す(EDEと呼ぶ)暗号アルゴリズム。Triple Data Encryption Algorithm(TDEA、Triple DEA)とも呼ばれる。
概要
暗号化は次の順で行われる(EDEモード)。
- C = encryptk3(decryptk2(encryptk1(P))).
ただし
トリプル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.0 1.1 テンプレート:Cite web
- ↑ K.W.Campbell, M.J.Wiener, "DES is not a group", CRYPTO '92.