- - PR -
暗号化アルゴリズムが決定すると,鍵長は決定されてしまうのでしょうか
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-15 17:43
暗号化アルゴリズムが決定すると,鍵長は決定されてしまうのでしょうか.
例えば,以下のURLには,暗号化アルゴリズムと鍵長の関係が以下のように 書かれてあります. http://www.ccjc-net.or.jp/~kouza/ssl/ssl_1.html DES 鍵長は56ビット 3DES 鍵長はオプションにより56、122、168ビット DESの場合は,鍵長は56ビットという事は決定事項であり, その他の場合を選択する事はできないのでしょうか? 例えば,鍵長が28ビットのDESを作り出す事ができないのでしょうか? | ||||||||
|
投稿日時: 2005-09-15 18:01
こんにちは。
「鍵長は決定される」で良いと思います。 ただ、openssl ciphers -v というコマンドで、DES(40) という表示もありまして。 これは、輸出用 40bit DESを表します。 40bit の鍵を薄めて 56bitにして使用するので、実質 40bit の強度、という挙動だったかと。 | ||||||||
|
投稿日時: 2005-09-15 18:10
操作ミスで、せっかく書いた解答が・・・orz
鍵を短くしたいなら、後ろに適当な固定のビットをパディングして、56bitに増やしてください。これで仮想的に24bitの鍵で暗号化しているかのように見せかけることは可能でしょう。 [ メッセージ編集済み 編集者: 甕星 編集日時 2005-09-15 18:19 ] | ||||||||
|
投稿日時: 2005-09-15 18:17
どもです。がるです。
基本的には「決定される」でよいと思うです。
んっと「自力でDESを実装」すれば、可能です。 ただ、一応念のため。 鍵の長さを「長く」することでほぼ確実に「処理が重くなる」 のですが、その「重くなった」だけに見合った暗号強度が手に入る とは限らないです。 よって、鍵を「むやみに長くすればいい」ってもんでもないです。 鍵の長さを「短く」することでほぼ確実に「暗号強度が下がります」。 DESはただでさえ「すでに単独では脆い」といわれている方式 なので、鍵の長さを短くするのは致命的ですらあります。 そのあたりを踏まえて「あえて短くする」なら、それはそれで よいのではないかと思います。 # 「暗号の解読」のお勉強用とか。 | ||||||||
|
投稿日時: 2005-09-15 20:32
皆様,色々アドバイスを頂きありがとう御座いました.
| ||||||||
|
投稿日時: 2005-11-08 14:14
久しぶりに投稿します。なぜか他の方は指摘しないようなので。
DESは「暗号化アルゴリズム」ではなく、暗号化アルゴリズムや鍵長を定めた 「規格(Standard)」です。ですから当然、規格として鍵長は56bitsと 決定されています。 アルゴリズムによっては、必然的に鍵長が決定されるものもあるはずなので 最初のご質問については「そういったものも存在する」が答えとなります。 DESの場合は鍵長を変えてしまうと、それはDESとは呼びませんし、 処理のためにプログラムを書いてもかまいませんが、本来の意味の "実装"はNISTでもない限りできません。 だからこそ、DESの歴史は「黒歴史」になってしまったわけですが。 参考:「DESのクラック:暗号研究と盗聴政策、チップ設計の秘密」 http://www.genpaku.org/crackdes/cracking-desj.html | ||||||||
|
投稿日時: 2005-11-08 14:52
暗号といっても、「共通鍵暗号」、「公開鍵暗号」に大別されます。
共通鍵暗号はさらに、「ブロック暗号」と「ストリーム暗号」に分けられます。 公開鍵暗号、ブロック暗号は、アルゴリズムが決まれば鍵長が決まります。 例:RSA、AES(3種類)、DES、3DES ストリーム暗号は一般的に可変長です。 例:RC4 ちなみに 3DES は DES を3回 [(1)暗号]→[(2)復号]→[(3)暗号]と処理します。 このとき、(1)(3)を同じ鍵、(2)を別の鍵で処理したものが 2Key-3DESと呼ばれ、鍵長は 112bit になります。 (1)〜(3)が全て別なら3Key-3DESで168bitです。 見れば分かりますが、(1)〜(3)を全て同じ鍵を使うと(1)と(2)が相殺され ただの DES になります。(たぶん) AES は、始めから3種類の鍵長が使えるように設計されています。 (Rijndael なら他にもありますが) 鍵長は、おそらく決まった鍵長以下なら良いとは思いますが、 あくまで、鍵の候補は 2^{鍵長bit} の中からランダムに選ばれたものでないと 安全とは言えないと思います。 | ||||||||
|
投稿日時: 2005-11-08 15:05
すみません。話に流されてスレ主の質問にお答えしていませんでした。
鍵サイズが規定されているアルゴリズムは、 その鍵長を使って初めて安全性が保たれます。 つまり、DES は 56bit の鍵で始めて DES としての安全性を確保できます。 (というか、DES 自体すでにヤバいですが) 設計的に 56bit は必須なので、 アプリ的に 20 bitしか入力させない場合は、残りの 36bit をパディングなりで 固定化する必要があります。 ですが、攻撃者からみれば、可変の 20 bit の部分しか調査(総当り)しなくて済むので、 機材によっては数時間(分かな?)で解けるんじゃないでしょうか? 今のところ、共通鍵暗号で最低限の鍵長って128bitって言われてませんでしたっけ? あまり短い鍵長なら気休めにはなりますが、あくまで暗号ゴッコでしかありません。 20bitの鍵長のアルゴリズムなんて考えても意味ないと思いますよ。 というか、コレって結構昔の投稿だったんですね... [ メッセージ編集済み 編集者: 丘SE 編集日時 2005-11-08 15:10 ] |
1