現在のランダム生成標準に基づいたアルゴリズムを作成する必要があります。つまり、私は既存のものを選択し、さまざまな要因と結合する必要があります(既存の事実を学ぶことによるかもしれません)。では、ランダムジェネレーターについて読み始めるのに最適な場所はどこですか。私はウィキを知っていますが、有限のスタートを切るために、私はいくつかの記事や論文を読まなければなりません。さらに、私はクイックスタートが必要です。現在の既存のランダムジェネレーターとは何ですか?また、それらが考慮する要素は何ですか?それに事実を課すのはどれほど実行可能ですか?
2 に答える
自分が何をしているのかわからない場合(質問がL'EcuyerやMarsagliaのような人のように聞こえない場合)、PRNGを変更または結合することは避けてください。ジェネレーターの品質を向上させるよりも、品質を損なう可能性が高くなります。
このアドバイスは、暗号化PRNGについて話している場合はさらに有効です。
現在のアルゴリズムは乱数を生成しません。それらは疑似乱数を生成します。これは同じことではありません。
乱数は通常、ある種のハードウェアを使用して自然から取得できます。たとえば、大気ノイズを受信するように調整されたFMチューナーからサウンドレベルを読み取る場合、数値はかなりランダムになります。そのようなジェネレーターの例はrandom.orgです。また、サイコロを投げるロボットやコイントスロボットなどを実装することもできます。Linuxでは、userを使用してランダムなイベントを生成する/ dev/randomを使用できます。
疑似乱数ジェネレータが暗号化に使用できる高品質のランダム性を生成するかどうかを判断するには、PRNGによって生成されたデータがこのようなprngテストに合格する必要があります。それは簡単なことではなく、多くのPRNGが惨めに失敗します。実装が容易でありながら、比較的高品質の疑似乱数を生成するアルゴリズムの1つは、 XorShiftです。ただし、実装が簡単なからといって、この特定のジェネレーターの背後にあるロジックを簡単に理解できるわけではありません。
さらに、私はクイックスタートが必要です。
すべての主題と同様に、クイックスタートはウィキペディアにアクセスして主題のすべてのリファレンスを読み始めるか、グーグルで検索することです。これまでのところ、あなたはそれを試みていないようです。
私はウィキを知っています
いいえ、しません。あなたが「ウィキを知っていた」なら、あなたはすべての記事の終わりに記事を書くために使われた情報源のリストがあることを知っているでしょう。ソースを読んでください。