自動ニュース作成G
どこでも同じパスワードが生成される……Kasperskyのパスワード生成ツールの問題とは?
https://forest.watch.impress.co.jp/docs/news/1336873.html
2021-07-09 23:59:45
> 乱数を生成する際はシード(初期状態)を設定する。シードが同じであれば、発生する乱数は同じになる。
> 2010年から2021年の間であっても、その秒数は315,619,200に過ぎない。
> そのため、「KPM」は特定の文字セットに対して315,619,200のパスワードしか生成せず、ものの数分でブルートフォース(総当たり)が可能となる。
・乱数のシードにタイムスタンプそのまま突っ込むって、30年くらい昔にbasicで遊んでた時やったなぁ。あの当時ですらあまりよろしくない乱数の使い方とされてたはずだけど
・#1 BASICだとTIME関数の秒を突っ込んでたな。
・正確には正の数字だとその数字までの乱数を作り、負の数字だとシードを設定するので、RND(-TIME)やね
・ん?RANDOMIZEっていう専用の命令使ってなかったっけ?あとTIME$は文字列を返すはず
・#4 そのはず。TIME$の秒の下一桁突っ込んでた記憶があるが。RANODMIZEとTIMEとRIGHT文使ってた。
・ほー。俺は疑似乱数は線形合同法しか知らなかった。まー、30年前の知識だからいろいろ古くなっとるな。 >メルセンヌツイスターによる乱数生成<
・MSXだと#3みたいなやり方だったかな? 実行周期が同じだと偏るけど。 ユーザーにボタンを3回押させてその間隔をms単位で測ってタネにするとかじゃダメかな?
・#7 N60とかN88BASICなんかのNEC系は#5だった。MSXとか弄ったら関数名短かったり違ってたと思ったけど。