攪拌についていろいろ勉強中です。
とつさんから一方向関数をかませれば、配牌情報からランダムシードを逆算することが非常に困難になって、牌山解読のイカサマがまずできないことを示せてよいですね、というアドバイスをいただいていました。
その時はSHA512という方法がお勧めということだったのですが、
どうやって使うんですかね(w
512bitのhashを生成するということですから、乱数を使う前にgenrand()のSHA512を計算するということなのでしょうか。
でも、32bitを512bitにmapしてもしょうがない気がしますし、衝突があるとMTの一様乱数度合いが下がる気がするので、1024bitくらいのhashを取って使うって感じなのかなぁ。
毎回やらなくても、最初に1回使えばいいのかなぁ…。
う〜ん。
なんかちょっと感覚と合わなくて、暗号化の手法で一方向性を検討しています。
Triple DESとかAESとか。
一方向性は暗号の難易度で確保できているってことで合ってますよね。
あと、一方向関数からは乱数も生成できるのですがそれを採用しようかどうしようか迷っています。こういう乱数生成器は用途がセキュリティーって感じなんですかね、世の中的に。
MTはやはり優秀だというコメントをちらほら見るので、これを暗号化するってのがいいのかなぁ…。
いろいろムズイな。
■返信を希望する場合にはこちらからお問い合わせ下さい。
■雀荘戦ルールについて■
場千五(1本場1500点)を採用しています
東西場を採用しています(西も場風)