アルゴリズムとデータ構造なら俺に聞け

このエントリーをはてなブックマークに追加
>>925
一番よいのは、ユーザーにキーボードをバンバン叩いてもらって
乱数を生成する方法だと思うがな・・・
>>927
あほか
>>926
擬似乱数がボロボロならその鍵が限定されて推測されるっちゅうねん
>>925
!!注意!!
メルセンヌ・ツイスターはそのままでは暗号には使えず、
さらに加工する必要がある。(差分攻撃とかに弱いらしい)
>>928
>あほか

何処が?
>>928
PGPもユーザーにマウスをぐるぐる回させて乱数作成してるじゃん
933925:04/03/09 15:58
>>930
ユーザーにキーボードをたたくなり、マウスを回させるなりして
一定時間数値を収集して、その中からメルセンヌ・ツイスターをつかった乱数を
元に抽出して使ったらOKですか?
>>929
それは、平文の一部でも判ってる場合だね。
M系列や合同法なら一部が判ったら全部が判ってしまう。

でもその平分が4文字くらいで127bitの原始多項式M系列なら簡単って訳にはゆかないだろうけど
>>921を読むと、 暗号化そのものはRSAを使って
カギとなる素数ペアを作る為に乱数を発生したいという事だよね?

だったら、>>933でいいんじゃないの?
 ・時計
 ・キーボード
 ・マウス
 ・Waveデバイス
 とかのデータとかから16バイトくらいのバイト列を作って
それをM系列やメルセンヌ・ツイスターの種にして乱数を発生させて、
その乱数をタイマー割り込みで発生させつづけておいて、適当にサンプリングすると
>>933
>その中からメルセンヌ・ツイスターをつかった乱数を
>元に抽出して使ったらOKですか?

どうしてそこにわざわざメルセンヌ・ツイスターを
使わなくてはいけないのか小一時間問い詰めたい。
>>936
解像度から考えて発生する乱数の上限が固定されるからです。

ついでに、ちょっと質問したいのですが…
BYTEごとに区切ってRSAで暗号化していくと考えまして。
そうすると、必然的に入力される暗号文は0〜255までだということに
なりますよね?、BYTEごとに区切っていくやりかたは脆弱な実装でしょうか?
938デフォルトの名無しさん:04/03/09 17:04
暗号初心者です。以下のデータを解読して文書を見つけてください。
解読ができたらこのスレに見つけた文書をレスしてください。

D9 E7 E1 55 22 10 9F 4A 9A BD C8 AC BE A1 6C 07
13 BC 4C D3 E3 A4 B8 EF E7 5A 5B E7 41 9C D8 17
28 A9 47 14 7F 0B B0 E1 65 60 D4 5F 26 DF C6 42
5C 7F C7 72 F1 E8 9D CA B6 9E DE B9 2C 57 4B E9
4F 70 5C 16 3A 47 70 86 98 55 10 56 ED E9 85 1F
9A 34 68 F4 C6 BD 8E 4C 61 48 0B 10 A7 D7 91 6A
59 92 7D 2F D9 9C 25 C7 58 23 21 89 20 74 4E 08
27 31 D1 4D 58 B5 BD D3 78 E2 26 57 D8 A2 2A E1
38 5E 5A 20 3E 6C F5 C4 30 4B 22 3D 2C F5 03 2D
C3 84 61 8E D0 3C 58 3E 96 74 CD 01 4A A1 2A A9
8B A5 92 61 81 BA 1A 97 F1 E5 DF 01 CD 8C 00 6E
21 9C 08 BF 2C 2A 40 43 84 D6 03 8A 97 A9 52 E4
93 B6 C4 4B 8B D3 15 6A 45 07 93 04 E6 3A D3 3B
E0 9A C9 42 DB AE FD D1 29 A9 95 16 B5 62 BE 65
12 C1 C5 8B 07 DE 1C 3C B4 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17

解読して文書を見つけたとしても
アクセスすると不正アクセス法だかで逮捕されるぞ
>>938
スレタイと空気読んでから釣りに来い
941デフォルトの名無しさん:04/03/09 19:04
参考のデータを頼りに問題の暗号文を解いてください。
http://www.42ch.net/UploaderSmall/source/1078823862.zip
あqwせdrftgyふじこlp
新聞から「政治家」や「容疑者」などの修飾つき人名だけ取り出す

とかってどう考える?
「政治家データベースを使う」とかはナシよ。

なんかベイズ理論てのまで逝ってしまいそうで、もうだめぽ。
容疑者の文字を見つけたらその前後の文字列を全部登録

”不在だった野木容疑者”
”夜勤だった野木容疑者"
"殺人容疑で野木容疑者"
  ↓
"野木容疑者"

"野木巨之(のりゆき)容疑者” 野本が一致するので 野本巨之(のりゆき)を抽出
945デフォルトの名無しさん:04/03/12 20:18
ハッシュについて教えてください。
シノニムが発生した時はその次に格納することにします。
サイズは10とします。

ここで
11 % 10 = 1に[One1]を格納
21 % 10 = 1で重複したので 2に[One2]を格納
13 % 10 = 3に[Three1]を格納
31 % 10 = 1で重複したので 4に[One3]を格納
41 % 10 = 1で重複したので 5に[One4]を格納

次に[One2]を削除する。One3,One4を辿れるようにする為に
One2以降Nullまでをひとつずつずらす。
すると[Three1]の位置が2にずれるので
検索する時に[Three1]は無いことになってしまいます。

これはどのようにしたらいいんですか。
チェーン法を使わずに、オープンアドレス法で解決する方法を教えてください
>945
削除した時に「削除された」マークを[One2]に格納する。
「データがない」とは区別できるからその後も普通に使える。
オープンアドレス法は怖くて使えない
>>947
なんで?
945みたいな不具合続出
削除をまともに実装すればいいだけでは?
951デフォルトの名無しさん:04/03/12 22:32
typedef struct _A{
B *b;
}A;

typedef struct _B{
A *a;
}B;

Aの構造体にはBのポインタ
Bの構造体にはAのポインタ

をお互いに参照させたいのですがどうすればよいのでしょうか?

構造体Aを先に書くと、構造体Bは後なので参照できず。
かといって、構造体Bを先に書くと、構造体Aが後ろになって参照できなくなってしまいます。

相互に構造体のアドレスを参照する方法を教えてください。
struct _B *b;
953デフォルトの名無しさん:04/03/12 22:47
>>950
なんつーの、
チェイン法よりアバウトさに欠けるっていうか。
バグる確立が高い。
なんだ、コーディングがタコなだけか
955貧乏紙:04/03/12 22:51
シーケンシャル方が確実!
まちがいない!!!
>>953
書き込みもバグってますよ
957951:04/03/12 23:02
>>952
ありがとうございます。こんなに簡単だったのか・・。
↓じゃ、オープン法のまともな実装ってやつを書いてくれや
959945:04/03/12 23:07
で、結局どうなんですか。
手元の本には削除について書いてない代わりに
チェーン法よりオープンアドレス法のほうが良く使われる
って書いてあるんだな
960デフォルトの名無しさん:04/03/12 23:59
オープンハッシュで削除許すと、キーがあるかどうかは
最後まで舐めてみないとわからないんで、
削除フラグの他に終端かどうかを示すフラグとか付けたり
細工しないとやってられん。

な、ややこしいだろ?
正直チェインとは天と地ほど違うぜ。
>>960
必要なのは削除フラグだけだぞ。
終端を示すフラグなんかいらん。
削除しないような応用だったらどうですか?
963デフォルトの名無しさん:04/03/13 00:15
>>961
それだとミスヒット検索がえらい遅くなるだろ。
>>963
検索したいデータがなかった場合、すべての要素を調べてしまうってこと?
要素数が多くなったらハッシュを拡張する前提だと、どこかに終端があるはずなんだがな。
966デフォルトの名無しさん:04/03/13 01:45
それを説明してみたまえよ
>>966
表を広げて隙間を作る
で?
>>959
昔、使えるメモリが本当に少なかった頃は、動的メモリ確保が
要らないオープンアドレッシングも良く使われてたと思うけど、
動的メモリ確保が当たり前な現代では、むしろ連鎖法の方が
良く使われている気がする。
少なくとも、オープンソースソフトウェアでは、ほとんどの場合
連鎖法を使ってると思うけどなあ。
970デフォルトの名無しさん:04/03/13 10:10
知ったかしか出来ないお前らに一つ問う。

" オープンハッシュ" って、一体どんなデータ構造だ?

まずは自分の知識だけで答えを用意してから Google で検索してみな。
>>970
次スレおねがいします
>>970
ワラタ
>>970
そんなの誰でも分かってたよ。
本筋に関係のないものに突っ込んでどうする。
974945:04/03/13 13:55
ワロタ
s/オープンハッシュ/オープンアドレス/g;
すまんなぁ。ネタじゃないんだよ
>>953
同意
チェインのなら10分ぐらいで組める。
976943
>>944 ありがとうです。やってみるです。