- PR -

暗号化アルゴリズムが決定すると,鍵長は決定されてしまうのでしょうか

1
投稿者投稿内容
banboo
大ベテラン
会議室デビュー日: 2003/12/05
投稿数: 210
投稿日時: 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を作り出す事ができないのでしょうか?
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-09-15 18:01
こんにちは。
「鍵長は決定される」で良いと思います。

ただ、openssl ciphers -v というコマンドで、DES(40) という表示もありまして。
これは、輸出用 40bit DESを表します。
40bit の鍵を薄めて 56bitにして使用するので、実質 40bit の強度、という挙動だったかと。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-09-15 18:10
操作ミスで、せっかく書いた解答が・・・orz

鍵を短くしたいなら、後ろに適当な固定のビットをパディングして、56bitに増やしてください。これで仮想的に24bitの鍵で暗号化しているかのように見せかけることは可能でしょう。

[ メッセージ編集済み 編集者: 甕星 編集日時 2005-09-15 18:19 ]
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2005-09-15 18:17
どもです。がるです。
引用:

banbooさんの書き込み (2005-09-15 17:43) より:
暗号化アルゴリズムが決定すると,鍵長は決定されてしまうのでしょうか.


基本的には「決定される」でよいと思うです。

引用:

DESの場合は,鍵長は56ビットという事は決定事項であり,
その他の場合を選択する事はできないのでしょうか?
例えば,鍵長が28ビットのDESを作り出す事ができないのでしょうか?


んっと「自力でDESを実装」すれば、可能です。
ただ、一応念のため。
鍵の長さを「長く」することでほぼ確実に「処理が重くなる」
のですが、その「重くなった」だけに見合った暗号強度が手に入る
とは限らないです。
よって、鍵を「むやみに長くすればいい」ってもんでもないです。
鍵の長さを「短く」することでほぼ確実に「暗号強度が下がります」。
DESはただでさえ「すでに単独では脆い」といわれている方式
なので、鍵の長さを短くするのは致命的ですらあります。

そのあたりを踏まえて「あえて短くする」なら、それはそれで
よいのではないかと思います。
# 「暗号の解読」のお勉強用とか。
banboo
大ベテラン
会議室デビュー日: 2003/12/05
投稿数: 210
投稿日時: 2005-09-15 20:32
皆様,色々アドバイスを頂きありがとう御座いました.
樫田
常連さん
会議室デビュー日: 2002/07/18
投稿数: 25
投稿日時: 2005-11-08 14:14
久しぶりに投稿します。なぜか他の方は指摘しないようなので。

引用:

banbooさんの書き込み (2005-09-15 17:43) より:
暗号化アルゴリズムが決定すると,鍵長は決定されてしまうのでしょうか.



DESは「暗号化アルゴリズム」ではなく、暗号化アルゴリズムや鍵長を定めた
「規格(Standard)」です。ですから当然、規格として鍵長は56bitsと
決定されています。
アルゴリズムによっては、必然的に鍵長が決定されるものもあるはずなので
最初のご質問については「そういったものも存在する」が答えとなります。

DESの場合は鍵長を変えてしまうと、それはDESとは呼びませんし、
処理のためにプログラムを書いてもかまいませんが、本来の意味の
"実装"はNISTでもない限りできません。

だからこそ、DESの歴史は「黒歴史」になってしまったわけですが。
参考:「DESのクラック:暗号研究と盗聴政策、チップ設計の秘密」
http://www.genpaku.org/crackdes/cracking-desj.html

丘SE
会議室デビュー日: 2004/04/28
投稿数: 13
投稿日時: 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} の中からランダムに選ばれたものでないと
安全とは言えないと思います。

丘SE
会議室デビュー日: 2004/04/28
投稿数: 13
投稿日時: 2005-11-08 15:05
すみません。話に流されてスレ主の質問にお答えしていませんでした。

鍵サイズが規定されているアルゴリズムは、
その鍵長を使って初めて安全性が保たれます。

つまり、DES は 56bit の鍵で始めて DES としての安全性を確保できます。
(というか、DES 自体すでにヤバいですが)

設計的に 56bit は必須なので、
アプリ的に 20 bitしか入力させない場合は、残りの 36bit をパディングなりで
固定化する必要があります。
ですが、攻撃者からみれば、可変の 20 bit の部分しか調査(総当り)しなくて済むので、
機材によっては数時間(分かな?)で解けるんじゃないでしょうか?

今のところ、共通鍵暗号で最低限の鍵長って128bitって言われてませんでしたっけ?
あまり短い鍵長なら気休めにはなりますが、あくまで暗号ゴッコでしかありません。
20bitの鍵長のアルゴリズムなんて考えても意味ないと思いますよ。

というか、コレって結構昔の投稿だったんですね...

[ メッセージ編集済み 編集者: 丘SE 編集日時 2005-11-08 15:10 ]
1

スキルアップ/キャリアアップ(JOB@IT)