12/04/03 15:48:13.58
一様かつ予測不能な乱数を生成したいので、メルセンヌ・ツイスタを使おうと思いました。
しかし、メルセンヌ・ツイスタは、一様な乱数を生成するものの、乱数の履歴から、
2^19937-1 のどこの地点から乱数を取ってきてるのか分かったら、次の乱数を予測
されてしまうので安全ではない、暗号学的ハッシュ関数を通す必要がある、らしいですね。
なるほどそういうものかと思って、SHA256 で切り刻むコードを書きました。
URLリンク(www.sourcepod.com)
しかし、これは安全なのですか?
ハッシュ操作してるとバレてるなら、攻撃者も同じように、メルセンヌツイスタの周期まるごと
SHA256でハッシュ化したデータを抱えて、いままでの数値の履歴から、結局、次の数値が
分かってしまうと思うのですが。
(ちなみに、本筋とは関係ないですが、単なる sfmt のコードはこれです。URLリンク(www.sourcepod.com) )