2011-01-30 11 views
0

ブラウザのプレーヤーや次のページで次のトラックをランダムに選択すると、自然な現象として時間を使うことができると思っていました。例えば、まともなRPNGは、 (例えば数ミリ秒ごとのスレッドやイベントの頻度が高い場合など)、時間が来ると(ユーザの判断に基づいて)、このユーザの遅延の影響を自然に受けます。ランダムテイクの間のユーザーの遅延はPRNGの改善ですか?

このアプローチは十分であり、どのようにテストできますか?手動でテストする際の問題は、実際のテストでは、テストプログラムにそれらを与えるために十分な乱数を保存することができないということです。これを高速化するための人為的な試みは、メソッド自体を無効にします。

おかげ

+1

ここでの質問は何ですか? – Pointy

+1

これは便利かもしれません:http://en.wikipedia.org/wiki//dev/randomそれは同じコンセプトを使用しますが、もう少しそれを取る。 – biziclop

+0

biziclop、指摘ありがとう、最近私はこの素晴らしいコンセプトを発見しましたが、Windowsでは利用できません – Maksee

答えて

2

良い乱数生成器は、実際に改善を必要としない、そしてそれがなかった場合でも、ユーザ入力のタイミングが役立つだろうことは明らかではありません。

LCGによって選択されたトラックでパターンを検出することはできますか?あなたのプラットフォームが何であれ、組み込みのrandom()関数が十分に良い(つまり、と完全にがユーザーにランダムに表示される)可能性があります。

しかし、まだ心配している場合は、暗号化された品質のRNGを使用してください。今日、これらのシステムRNGの多くは、ハードウェア内の量子イベントを通じて生成された真のランダムビットを使用します。しかし、ビットを生成するのが遅くなる可能性があるため、高速なアルゴリズムPRNGの種としてそれらを使用するのが最善です。

これらのアプローチが十分であると確信できない場合は、ユーザーの入力のタイミングが良いソースであることに非常に懐疑的でなければなりません。使用される制限された語彙とその限定された語のセット内に現れる傾向のあるパターンを考慮すると、ユーザによって押されたキーは、であり、予測可能である。文字シーケンスにおけるこの予測可能性は、キープレスの間のタイミングにおいて高い予測可能性をもたらす。

私は、多くのセキュリティプログラムが鍵生成中にこの手法を使用していることを知っています。私はそれが純粋な蛇の油だとは思わないが、それはユーザーを甘やかすためのプラセボとなりうる。良い製品は、システムのRNGに依存します。

1

説明した時刻情報を取得すると、実際にPRNGにエントロピーを追加できます。しかし、意図したアプリケーションの記述から、私はあなたがそれを必要とは思わない。 「プレイヤーやブラウザの次のページの次のトラックなどのランダムな選択」では、変更されていない簡単なPRNGは問題ありません。 nonceなどのセキュリティアプリケーションでは、それははるかに重要です。

とにかく、PRNGエントロピーソースについて読むべきです。

0

私はPRNGをユーザーの遅延で改善しません。その理由はほとんど同じです。つまり、同じ速度で入力すると、クリック間の遅延を測定するには時間がかかりすぎます(通常の使用を想定しています)。むしろ、私はむしろ他のユーザ・トリガ・イベントを使用したいと思います。押したキー、各クリック間の距離、与えられた瞬間におけるマウスの位置。

関連する問題