68user's page 掲示板

Prev< No. 3355> Next  [最新発言に戻る] [過去ログ一覧]
No. 3355 # 68user 2003/10/02 (木) 06:16:15
>>3344 Tsun
> 共通鍵暗号のページで3DESでの鍵長が56*3にならない訳ですが
せっかく教えていただいたので、勉強してみました。といっても
    暗号技術大全
          http://www.amazon.co.jp/exec/obidos/ASIN/4797319119/ref%3Db%5Fbb%5F1%5F25/249-2894126-9073950
を読んだだけですが。


「鍵Aで暗号化 → 鍵Bで復号化 → 鍵Aで暗号化」という方法を
EDE (Encrypt-Decrypt-Encrypt) と言う。DES なら DES-EDE
などと書く。

Encrypt-Decrypt-Encrypt が特に解読しづらいわけではないので、
Encrypt-Encrypt-Encrypt でも別に構わない。

ただ、EDE の利点は、鍵A と 鍵B を同じにすれば一度だけ暗号化
したのと同じ結果が得られること (DES-EDE に対応しておけば、
DES にも対応したことになる)。

なぜ 3回必要なのか、2回の暗号化 (つまり 2DES) ではダメな
理由はというと、2回の暗号化では中間値探索 (meet-in-the-middle)
攻撃に弱いため。56bit の DES で 2回暗号化した場合、総当たり
攻撃に限ると 112bit の強さを持つが、中間値探索には 57bit の
強さしかない。


3DES には鍵を 2つ使う方法と、3つ使う方法がある。

鍵を 3つ使う 3DES は総当たりに対しては 56*3=168bit の強度が
あるが、中間値探索に対しては 112bit の相当の強度になる。

一方、鍵を 2つ使う 3DES は中間値探索の弱点はないため、総当たりと
中間値探索のいずれに対しても 112bit の強度になる。

よって、現実的な強さとしては鍵 3つの方が優秀である。

OpenSSL で実装されている暗号で言うと、
    鍵2つの 3DES: des-ede-cbc(=des-ede), des-ede-cfb, des-ede-ofb
    鍵3つの 3DES: des-ede3-cbc(=des-ede3=des3), des-ede3-cfb, des-ede3-ofb
となる。

ただ、
> 鍵長と演算量の比は対数的ですから、112ビットの鍵を使って
> 1回演算するより、56ビットの鍵を使って、3回演算するほうが
> 有利となります。
ここはよくわかりませんでした。DES の鍵は結局は 16ラウンド
それぞれの 48bit 内部鍵の元となるだけなので、対数的ではない
のではないかと思いました。

Prev< No. 3355> Next  [最新発言に戻る] [過去ログ一覧]