- 202 名前:193 mailto:sage [2007/08/03(金) 18:35:46 ]
- 数字0〜9の10文字、アルファベットa〜zとA〜Zの52文字、全角(2バイト)の漢字の1万〜1万5千文字くらい、&記号とかで、2バイトの文字の種類はかなり多くなりますが、鍵から作られる乱数などは、
本当にそんな多い種類の漢字などに対応できるのでしょうか?(鍵が複雑な漢字でも、鍵から作られる乱数や拡大鍵は、全角文字は使わず半角英数字(orその他or0と1のみ?)で構成される情報‥?) 漢字や全角文字が全て同じ文字だと見なされてしまうとしたら、論外ですよね。。てか、本当に難しい漢字などを使ったとして、正しく(例えいくつかダブりがあってもちゃんと対応した情報を通して)暗号化されるのでしょうか? もし漢字などを使って正しく暗号化できない場合、やはり半角英数字で長い複雑なものにすれば有効なのでしょうか? 数字0〜9の10文字、アルファベットa〜zとA〜Zの52文字、合わせて62文字で、2バイトでは2文字なら62の2乗通りで3844通り。3バイトで3文字なら62の3乗通りで238328通り。 でも128ビットは16バイトなので、半角16文字分の情報量が限界?(という考え方は間違いでしょうか?) 下に書いてある、「ブロック暗号=(128ビットなら(2^128)の階乗通り(で、0と1のみを使って構成される?」(絶対間違えまくりで申し訳ないです) もし漢字が有効だとして、2バイトで1万種類の文字があるとすれば、4バイトで2文字なので1万の1万乗、6バイトで3文字なので(1万の1万乗)の1万乗。 1万は0が4個で、現在の最大素数である0が980万個の数は、980万÷4で、4の2450000乗個0がある。4バイトの2文字で1万の1万乗は、(1万は0が4個なので)4の10000乗個0がつく《4×4×4×‥(9996回)‥×4 (個)》、 6バイトでは、4の10000乗個0がついたものに1万乗個0がつく。(勘違いしてたらすみません) 「OTPは必ず、平文以上の長さの鍵が必要(サイズ2倍になる)」ですが、その鍵はPCで乱数を生成するのでしょうか。(自分でキーボードをめちゃくちゃ打ち続けたりしたら時間がかかりすぎるのでないと思いますが‥)。 PCで作る場合、本当に世界中で何万年、何億年以上先まで同じ組み合わせが存在しないように乱数を発生させることが専用の高いソフトなど使わず簡単にできるのでしょうか?
|

|