電子書籍の厳選無料作品が豊富!

 Rijndaelの参考文献(下記)では、AESとして採用されているものよりも鍵およびブロックの長さの種類が多く、鍵長、ブロック長は、それぞれ128,160,192,224,256ビットの5通りです。AESのものは、鍵長、ブロック長は、128,192,256ビットです。
 128,160,192,224,256の最小公倍数は26880ですが、128,192,256の最小公倍数は768です。より広範囲のデータに対して暗号化の操作が行われるほうが解きにくくなると思います。より大きな最小公倍数を持つ複数の鍵で多重暗号化したほうがよいと思うのですが、最小公倍数が768のものを公式にAESとして採用して、最小公倍数が26880の参考文献にあるRijndaelを利用しなかったのは、どんな理由なのでしょうか?
それとも、安全性はあまり変わらないのでしょうか?
よろしくお願いします。

 参考文献:The Design of Rijndael, AES - The Advanced Encryption Standard,Springer

A 回答 (3件)

> ブロックや鍵の長さが長くなると解きにくくなるから


> 法律で制限されていると考えたのです。

この考えは正しいと思いますが

> 使用する鍵の長さの最小公倍数が大きければ、多重暗号化で結果的にな、大きなサイズの鍵を使っていることになると
> 考えたのです。

この考え方がよく判らないです。複数種類の鍵長さを選べる場合でも、使用する鍵はそのうち1種類です。基本的に、暗号化のアルゴリズムが同一なら鍵長が長い方が強度が高いです。

また、多重暗号化は一度暗号化したものをもう一度暗号化することを指していると思いますが、鍵長を増やすことに比べればあまり強度的には向上しないと思います。
例えば、128bitの鍵で2回暗号化を繰り返すとします。このとき、暗号化強度としてはせいぜい129bit鍵と同程度しかないと思います。128bit鍵の暗号を解読するのに必要な時間を a とすると、2回暗号化を繰り返した場合、解読に必要な時間は 2a 、つまり2倍になるからです。
一方、256bit鍵を使用した場合、解読に必要な時間は単純計算で (2^128)a 、約3x10^36 倍になります。192bit鍵を使用した場合でも解読に必要な時間は (2^64)a、約18 x 10^18 倍になります。
AESで言うなら、128bit鍵で2重暗号化するより、192bit鍵で暗号化した方が安全性が高いことになります。

この回答への補足

ありがとうございます。

たとえば、2回続けて暗号化するとき、
256ビットで2回やったときは、元のデータの256ビット分が2回変換されます。
でも、
最初に、192ビットで変換してから、256ビットで変換すると、
最初の変換で193ビットめから256ビットめまでの64ビット分は、
最初のデータの193ビットめから384ビット目までが影響します。
そうすると、2回目の変換では、最初のデータの192ビット分から
変換されたデータと、最初のデータの193ビット目から384ビット目までの影響を受けたデータの64ビット分が一緒なると考えました。
したがって、2回の変換後のデータの256ビット分は
元のデータの384ビット分の影響を受けているので、
ブロックサイズを384ビットにした場合と似たような
効果があると考えました。

これは、鍵やブロックのサイズを大きくするような
働きではないかと考えたのです。

128ビットと256ビットではこのような効果は生まれないので
鍵の長さの最小公倍数が大きなほうがよいと考えたのです。

補足日時:2008/12/24 09:25
    • good
    • 0

んーと、なんかAESの動作について思いっきり誤解があるような気がします。


AES/Rijindaelは128bit単位でデータを暗号化します。
これは、このときの暗号化鍵が128bitだろうが256bitだろうが、変わらないです。
なので、
> 最初のデータの193ビットめから384ビット目までが影響します。
> そうすると、2回目の変換では、最初のデータの192ビット分から
> 変換されたデータと、最初のデータの193ビット目から384ビット目までの影響を受けたデータの64ビット分が一緒なると考えました。

というような動きはしないはずなんですが。

挙げられている参考文献は洋書で、結構難しそうです。失礼ですが、この本の内容、きちんと理解されていますか?

この回答への補足

何度も教えていただきありがとうございます。

たしかに、AES は ブロックサイズは128ビットで固定されている
ようですが、

Rijndaelでは、
ブロックサイズは、128、。。。、256と128ビットから256ビットまで
36ビット刻みで自由に設定できると書いてありました。
もちろん、鍵の長さも、128ビットから32ビット刻みで256ビットまで、自由に設定できて、さらにブロックサイズと鍵の長さの組み合わせは自由である。
(参考文献にそう書いてありました。)
と理解しているのですが、
この理解が、間違っているのでしょうか?

補足日時:2009/01/04 11:19
    • good
    • 0

選択できる鍵長の最小公倍数の大きさと暗号強度が関係ある、なんて話はどこから出てきたんでしょか? なんかどこかで誤解があるように思うのですが?



鍵長やブロック長の選択肢の多さと、暗号強度のさも直接の関係はないはずですし…。

そりゃ、いろいろ選べた方が便利ですが、逆に暗号プログラムを実装するほうは面倒になるわけで、むやみやたらに選択肢があるよりはよく使うものに絞っておいたほうが実用上は使い勝手がよい、ということではないでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。

日本での暗号輸出制限が無いのは鍵の長さが56ビットまでだったと思います。

ブロックや鍵の長さが長くなると解きにくくなるから
法律で制限されていると考えたのです。

使用する鍵の長さの最小公倍数が大きければ、多重暗号化で結果的にな、大きなサイズの鍵を使っていることになると
考えたのです。

実装については、すでに参考文献にソースコードが
掲載されていますので、問題ないと思いました。

また、ご指導下さい。ありがとうございました。

お礼日時:2008/12/23 07:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!