◆2ちゃんねるのIDを検討するスレ

このエントリーをはてなブックマークに追加
1132人目の素数さん
関連スレ
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999866038

条件:
日付が変わったり接続し直すとID変わる
生成法を公開しても実質的にIP逆算されない
(総当たりも阻止できればbetter)

ちなみに使える材料は
日付、板の名称(accuseとかそういうの)、IPアドレス、
リモホ名称、その他取得できそうな変数・定数(byマァヴ氏)

鉄壁のIDを考案してください!!
2132人目の素数さん:01/09/08 02:44
現在はこういう案です。
いちばん検討してもらいたいのは均質劣化の方法です。

・IPを均質劣化させたもの
・日替わりで/dev/randomから取った値8バイト
・板名
・秘密の数字8バイト
を並べてMD5を掛ければ、秘密の数字がバレない限り
IPからIDを再生できない。
日替わりのランダム値を予測するのは非常に困難。
万一バレて総当りされたとしても、65536通りの値の
どれであるかはわからない。
3132人目の素数さん:01/09/08 02:52
例えば、数151(0x10010111)
から、一つ飛ばしに0111というバイト列を得る演算ってどうすればいいんでしたっけ? (厨質
4132人目の素数さん:01/09/08 02:52
良い案がある。
5132人目の素数さん:01/09/08 07:01
最新の仕様はこうなっているようです。

・IPにcryptを掛けて末尾3文字(情報量は16ビット)を取ったもの
・板名
・日替わりで/dev/randomから取った値8バイト

を並べてMD5を掛ければ、日替わりの8バイト列がバレない限り
IPからIDを再生できない。
日替わりのランダム8バイトを予測するのは非常に困難。
万一バレて総当りされたとしても、65536通りの値のどれであるかはわからない。

(日替わりIDは仕様上実現されるはず)
6132人目の素数さん:01/09/08 07:11
簡単に考えても、

@eachbyte = split /\./,$ENV{'REMOTE_ADDR'};
$degenerate_id = sprintf "%.2x%.2x",
@eachbyte[0] & 85 | @eachbyte[1] & 170,
@eachbyte[2] & 85 | @eachbyte[3] & 170;

で十分に均質劣化しているとは思うのですがどうでしょう?
速いアルゴリズムが求められていますが…。
7132人目の素数さん:01/09/08 07:41
xor一発で
$degenerate_id2 = sprintf "%.2x%.2x",
$eachbyte[0] ^ $eachbyte[2],
$eachbyte[1] ^ $eachbyte[3];
というのはどうでしょうか?
8132人目の素数さん:01/09/08 07:59
??厨房丸出しなこと言うようですが
なんかここのスレの人すごいですね。
数学かの人なのでしょうか?情報学科の人でしょ?
9 ◆bWvOgB.A :01/09/08 08:11
この板みてるのは数学のひとだけじゃないと思うよ。
私は土木ですし。
この板と物理板だけは専門外でも毎日のぞいています。
面白いから。
私はどっちかつーと文系だよん。
11132人目の素数さん:01/09/08 08:18
ぼどくの人も見てんだ・・・知らんかった。
俺の知り合いに岡山大の経済なのにコンピュータバリバリに長けてる奴
いるけどなあ。
12132人目の素数さん:01/09/08 12:40
>>11
ぼどく=土木?
あと、今の時代、コンピュータはバリバリ使えて普通。
使えない奴落ちこぼれ。
13あるケミストさん:01/09/08 17:12
ワシは化学屋だが何か?
14132人目の素数さん:01/09/08 22:44
電気系の学生だが、
まだ3年だし情報系は専門でないから
そこまで難しいことはできないッス。スマソ。
15132人目の素数さん:01/09/09 00:06
age
>>3
0x10010111 = 268501265 だと思ふ
17132人目の素数さん:01/09/09 11:38
age
ちょいテスト