web-dev-qa-db-ja.com

数ジェネレーターで次の数を予測することは可能ですか?

プログラミングでは、それは決して「ランダム」ではありません。ランダムジェネレーターでさえ、アルゴリズムを使用して乱数を予測します。しかし、生成方法を知っていれば、次に生成される5つの数値を予測することは可能でしょうか?

5
user2533070

はい、乱数ジェネレーターが次に生成する数を予測することは可能です。これは、crackingbreaking、またはattackingRNGと呼ばれるのを見てきました。 。 「乱数ジェネレーター」と一緒にこれらの用語のいずれかを検索すると、多くの結果が得られるはずです。

オンラインポーカーでのチートをどのように学んだか:ソフトウェアセキュリティの研究 を読んで、乱数ジェネレーターが攻撃される可能性があります。要約すると、著者は、オンラインポーカーサイトで採用されている欠陥のあるシャッフルアルゴリズムに基づいて、どのRNGが使用されているかを把握しました。次に、配られた手をサンプリングしてRNGシードを把握しました。アルゴリズムとシードを入手すると、後でシャッフルした後、デッキがどのように配置されるかを正確に把握しました。

8
Bill the Lizard

決定論的アルゴリズムを仮定します。 2つの同一の乱数ジェネレーターを作成します。最初の人に、2番目の人が次に何を生み出すかを尋ねます-5回。

4
Dale Wilson

「乱数ジェネレーター」の大部分は、実際には「疑似乱数ジェネレーター」です。つまり、同じ開始点(シード)が与えられると、同じシーケンスを再現します。理論的には、ある期間にわたって数のシーケンスを観察することによって(そして特定のアルゴリズムを知ることによって)、暗号化を「解読」するのと非常によく似て、次の数を予測することができます。

もちろん、これを行うために必要な時間/労力は、特定のアルゴリズムによって大きく異なります。 「暗号化」されたRNGは、園芸品種のRNGよりも予測が非常に困難になります。しかし、乱数のほとんどの使用では、この種の予測可能性は問題ではありません。

0
Hot Licks