私はsrandom()とrandom()を使って、Unixシステム上でcで乱数を生成しています。私は複数のRNGを持っていたいと思います。同じシードを与えられたそれぞれは、同じシーケンスを出力する必要があります。私はまた、それぞれの状態を保存して復元したいと思います。擬似コードの例を次に示します。 R1 = new_rng(5); //5 is the seed
R2 = new rng(5);
私はkid sister encryption関数を書いていますので、ハードウェアやシステムレベルのソフトウェアを利用して浮動小数点演算を使用しないで一貫した結果を生成するPRNGが必要です。 PRNGの期間が2 より長いために、いいかもしれませんが、必要はありません。 私は現在、32ビットXorshift使用しています: #!/usr/bin/perl
use strict;
use wa
: Iは、逆関数は、x = G(A、y)を見つけるだろうどの unsigned long F(unsigned long A, unsigned long x) {
return ((unsigned long long)A*X)%4294967295;
}
'x'のすべての値に対してx = g(A、f(A、x))? f()が 'x'のすべての値に対して可逆でない場合、逆に最も近い