理論的に健全な擬似乱数ジェネレータは実際に使用されていますか?


17

私の知る限り、実際の擬似乱数生成の実装のほとんどは、線形シフトフィードバックレジスタ(LSFR)、またはこれらの「Mersenne Twister」アルゴリズムなどの方法を使用しています。多くの(ヒューリスティック)統計テストに合格する一方で、たとえば、すべての効率的に計算可能な統計テストに対して疑似ランダムに見えるという理論的な保証はありません。しかし、これらの方法は、暗号化プロトコルから科学計算、銀行業(おそらく)まで、あらゆる種類のアプリケーションで無差別に使用されます。これらのアプリケーションが意図したとおりに動作するかどうかについて、ほとんど、またはまったく保証がないということは、少し心配です(何らかの分析は、入力として真のランダム性を想定しているためです)。

一方、複雑性理論と暗号化は、疑似乱数性の非常に豊富な理論を提供し、一方向関数の候補を使用して、思いつく可能性のある効率的な統計テストをだます疑似乱数ジェネレーターの候補構成さえあります。

私の質問は次のとおりです。この理論は実用化されましたか?暗号化や科学計算などのランダム性の重要な用途には、理論的には正しいPRGが使用されることを願っています。

余談ですが、LSFRをランダム性のソースとして使用する場合、クイックソートなどの一般的なアルゴリズムがどれだけうまく機能するかについての限られた分析を見つけることができました。KarloffとRaghavanの「ランダム化されたアルゴリズムと擬似乱数」を参照してください。


3
ユニバーサルPRGもあります。安全なPRGが存在する場合は安全です。

暗号化PRGを意味しますか?もしそうなら、(暗号化された)PRGがOWFと同等であることを知りませんか?
ヘンリーユエン

2
はい。 ビットのシードを約√に分割しますk √のkブロックk kビット、実行k最初の[ブロック数]最大ステップの対応するブロックのチューリングマシン、k2 出力をパディングします k+1 ビット、およびそれらのTMの出力のxorを出力します。 (レビンの普遍的な検索と同様に、これは実際には使用できません。)

1
ハッシュに必要なランダム性に関連する結果は、おそらく実践により関連する可能性があります:古典的な有界独立系から、Mitzenmacher-Vadhan(ペアワイズ独立+入力のエントロピーなど)のような最新の結果まで、または線形探査とブルームフィルターに十分な擬似乱数性を提供-集計ハッシュのソープ結果。
サショニコロフ

1
「まだこれらの方法は、暗号化プロトコルに至るまで、あらゆる種類のアプリケーションで無差別に使用されています...」しないことを願っています。彼らはありませんので、メルセンヌ・ツイスタは、暗号化のために使用すべきではない暗号的に強いがあるものの変種かもしれません。
マイクサミュエル

回答:


13

「理論的に健全な」疑似乱数ジェネレータの概念は、実際には十分に定義されていません。結局のところ、疑似乱数ジェネレーターにはセキュリティの証拠がありません。大きな整数の因数分解の難しさに基づいた擬似乱数生成器が、たとえばAESを擬似乱数生成器として使用するよりも「安全」であると言えるかどうかはわかりません。(実際、AESを破る量子アルゴリズムではなく量子ファクタリングアルゴリズムを知っているため、安全性が低いという感覚があります。)

数学的に証明できるのは、さまざまな合成結果です。ブロック暗号またはハッシュ関数を特定の方法で合成すると、擬似乱数ジェネレーターまたは擬似乱数関数を取得できるということです。このような結果の一部は、実際には広く使用されています(HMACなど)。しかし、PRGを達成し、基本コンポーネントが単純な一方向関数であると仮定するだけで始まる結果は、アプリケーションで使用するには十分に効率的ではないことは事実です(そして、これは少なくとも部分的に固有のものです)。そのため、通常、PRG /ストリーム暗号/ブロック暗号/ハッシュ関数を基本的なプリミティブとして想定し、それから他のものの構築を開始する必要があります。本質的にすべての暗号の削減(おそらくLevinのユニバーサルPRGを除く)を具体的にすることができ、具体的な仮定の下で具体的な保証を与えることができるため、問題は実際には漸近解析に関するものではありません。

しかし、それらは一方向関数に基づいてはいませんが、AESなどの構造が「理論的に健全」であるという意味があります。その理由は次のとおりです。(1)セキュリティについて正式な推測があります。(2)これらの推測に異議を唱え、またそれらから意味を導き出そうとする作業があります。

実際、多くのアプリケーションでは、上記の(1)と(2)を満たさないLSFRなどのPRGを使用するのは賢明ではないことを人々は認識しています。


1
ジョナサン・カッツのウェブページに掲載されている論文の1つにリンクしたいと思います。ところで、これを他のアカウントとマージしますか?
カヴェー

9

あなたは理論と実践を混同しているようです。理論的に健全な擬似ランダムジェネレータは、いくつかの理由で実用に適していません。

  • おそらく非常に非効率的です。
  • セキュリティ証明は漸近的なものにすぎないため、使用される特定のセキュリティパラメータについては、擬似ランダムジェネレーターは簡単に壊れる可能性があります。
  • すべてのセキュリティ証明は条件付きであるため、ある意味では、理論的なセキュリティの概念さえも満たさない。

これとは対照的に、実際の擬似ランダムジェネレーターは高速であり、その用途に応じてさまざまなフレーバーがあります。非暗号化の使用の場合、プレーンLFSR以外のほとんどすべてが仕事をします-証明できませんが、実際には(これは現実のものを使用する人々にとってより重要です)。

暗号化の使用については、人々はより賢くなろうとします。この時点で、あなたの批判は理にかなっています:使用されている特定の擬似乱数ジェネレーターが「安全」であることがわかりません。実際、WEPで使用されているRC4など、古いものは壊れています。ただし、上記の理由により、理論的に(条件付きで)健全な疑似ランダムジェネレーターを使用することは、残念ながら現実的な解決策ではありません。代わりに、暗号コミュニティは「ピアレビュー」に依存しています。システムを「破壊」しようとする他の研究者(暗号が破壊されたときの定義は非常に広いです)。

最後に、お金を投資することができ、セキュリティが十分に重要なアプリケーション(核コードなど)では、人々は物理的に生成されたノイズ(ランダム抽出器を通過)を使用しますが、それでも理論的な批判を超えていません。


研究者が助成金の提案や論文の紹介を書くとき、彼らは自分の研究が実践に関係し、情報を提供しているとしばしば主張します。彼らがそれを信じているのか、それとも私が知らない口先だけのサービスなのか(そしてそれは研究者に依存するかもしれない)が、明らかな理由で、学界ではそのつながりが非常に誇張されていることに注意すべきである。

数学的研究者として私たちを制限する一つのことは、形式的な証明に対する独断的な執着です。単純な擬似ランダムジェネレーターによって供給されるランダム化アルゴリズムの分析に言及しています。この種の分析は、実世界の問題に拡張することはできません。それらは単に複雑すぎるからです。それでも、実際には、人々はNP困難な問題でさえ、十分な情報に基づいた方法で解決しています。

実際の問題は、科学的かつ実験的な目でよりよく理解されます。それらは、エンジニアリングの観点からよりよく解決されます。それらは理論的な研究を促し、時にはそれによって知らされます。ダイスクトラが言ったように、(理論的な)コンピューターサイエンスは、実際にはコンピューターに関するものではなく、もはやコンピューターに関するものではありません。


答えてくれてありがとう、ユヴァル。ただし、暗号化からの擬似ランダムジェネレーターの構築が非現実的に非効率的であるとは完全には信じていません。私が見る限り、誰もこの研究を行っていません。
ヘンリーユエン

2
また、標準の擬似ランダムジェネレーターは「毎日の目的」に十分であるという包括的な声明にも同意しません。最近の「ロンは間違っていたが、ホイットは正しかった」という論文が示したように、欠陥のある擬似ランダム生成は、無視できない量の人々にとって恥ずかしい脆弱性をもたらしました。この特定の分析は非常に簡単でした。LSFRが適切でないために、より多くの「現実世界」のアプリケーションがより微妙な脆弱性を被ることがありますか?理論的に健全なPRGに必要な追加の計算オーバーヘッドがそれほど大きくない場合、それらを使用しないのはなぜですか?
ヘンリーユエン

1
@HenryYuen LSFRは、最新の適切なシステムの暗号化アプリケーションには使用されません。(もちろん、入門コースでそれを行うべきではない方法で教えられているGSMなど、設計が不適切なシステムがあります。)「Ron was wrong、Whit is right」の論文で見つかった問題は、品質に欠けていましたPRNG自体の、しかしエントロピー収集の品質を備えた。
ジル 'SO-悪であるのをやめる
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.