ラウンドに、いくつかの独立した破り方があります。出力において発見されました。厳格、公開かつ国際的なプロセスによって採択されました。Agency)によって、ほとんど秘密のままのクライテリアに基づいて保証されてきました。関与は、主に、それを強化するためのものであったこと」を示しました。ついて見つかっている「隠されていた弱点」もしくは「特別な弱点」の発表は、ありませんでした。よる変更は、同様に、これらのアルゴリズムを、おそらく暗号技術的コミュニティにおいて、まだ公には知られていない脅威に対して強化したようです。入力長が予測不能な場合、ハッシュアルゴリズムは、ブロック暗号化アルゴリズムより、使うのに便利です。それらは、一般に、可変長入力を受容するように設計されているからです。ブロック暗号化アルゴリズムは、一般に、そのブロック長の倍数でない場合にも入力を扱うために、追加的なパディングアルゴリズムを要求します。アルゴリズムについての特許の主張を知りません。当然ながら、著者が知らない肝要な特許、実装もしくは利用法についての特許、あるいは、発行された(/これから発行される)他の関連特許がある可能性があります。記述したように)平滑化・撹拌して、アルゴリズム的に、その種を、多数の暗号技術的に強い乱数を作り出すように延長できます。このようなアルゴリズムは、プラットフォーム独立的であり、あらゆるコンピュータ上で、同じように動作できます。セキュアにされるべきアルゴリズムについて、それらの入力と内部の動作は、敵対的な観察から防護されなければなりません。このような擬似乱数生成アルゴリズムの設計は、(共通鍵暗号化アルゴリズムの設計のように)アマチュアがやるべき仕事ではありません。落第したアルゴリズムが使われている数多くの悪いアイディアを掲げています。そこには、いくつかの標準的な擬似乱数生成アルゴリズムが記述・参照されています。English以降の節では、一見、合理的に見えるかもしれないが、セキュアでない擬似乱数生成につながる数多くのアイディアを記述します。English予測困難性について誤解を招く外観をもたらす可能性がある、ひとつのアプローチは、非常に複雑なアルゴリズムを(もしくは、秀逸な従前の擬似乱数生成器を良い統計的特性と共に)採用し、そのコンピュータのシステム時計の値のような限られたデータを種として開始することによって、暗号鍵を計算処理することです。「いつ頃から、その生成器が開始したか?」を知っていた攻撃者は、システム時計のおよその値を知っているので、比較的少数の種の値をテストするだけで足ります。大量の擬似乱数のビット列を生成できますが、攻撃者がチェックする必要がある探査空間は、極めて小さい可能性があります。それゆえ、データの極めて強い、または、複雑なデータの操作は、その攻撃者が「その操作がどのようなものか?」を学ぶことができ、種の値に十分な予測困難性が無い場合、役に立ちません。彼らは、通常、限定された種の値の数によって制限される結果の数をセキュリティを破るために使える可能性があります。別の深刻な戦略的エラーは、「非常に強い擬似乱数生成アルゴリズムは、背後の理論、もしくは、そのアルゴリズムの分析が無いとき、強い乱数を作り出す」と想定することです。章の始めあたり(著者が複雑なアルゴリズムを記述している箇所)に、この誤りについての秀逸な例があります。「当該アルゴリズムに対応するマシン語プログラムは、複雑すぎて、プログラムの実行内容をコメントなしに人は読み取ることができないこと」が意図されました。つの値の連続に収束する事例と、値の短周期性が見られる別の事例」を示しました。English予測困難性について、誤解を招く可能性のある別のアプローチは、無作為にデータベースから数を選択し、「その強度は、そのデータベース中のビット総数に関連する」と想定することです。データを取り出すによって選択された」と想定します。相当する推測困難性は、生じません。推測困難性は、生じません。起点の選択にあるのみです。程度の推測困難性となります。録音上のデータや、あらゆる他の大規模公衆データベースからのシーケンスを選択することについてもいえます。その攻撃者が同一のデータベースにアクセスできる場合、この「大量なデータからの選択」からは、ほとんど得るものはありません。選択が(活動しているマルチユーザシステム上のシステムバッファのような)その攻撃者がアクセスできないデータから行われうる場合、役立つ可能性があります。従前の源泉、もしくは、「擬似乱数」について述べます。これらは、典型的には、「種」の量で始まり、値のシーケンスを作り出すために、単純な数論的操作あるいは論理的操作を行います。「この節において検討されたテクニックに、暗号技術的利用に適するものは無いこと」に注意してください。それらは、一般情報として提供されています。擬似乱数について、典的な説明をしています。彼が言及するアプリケーションは、自然現象のシミュレーション、サンプリング、数値解析、コンピュータプログラムのテスト、意思決定およびゲームです。これらの中には、我々が話題にしている種のセキュリティ用途と同じ特徴をもつものは、ありません。2つのみに、乱数を見つけようとする攻撃者が存在する可能性があります。回しかチャンスをもちません。パスワードを推測したり、あるいは、ある暗号化スキームを破ることを試みる際に、その攻撃者は、通常、正しい値を推測する際に、多くの(おそらく無制限の)機会をもちます。攻撃者は、そのメッセージを解読するために蓄積でき、繰り返し、それを攻撃します。攻撃者は、コンピュータによって支援されているとも想定されます。統計的なものや、スペクトラルなものを含む様々な手段を示唆しています。これらのテストは、「乱雑な」シーケンスの異なる部分間、もしくは、その値の分散の自動訂正のような事項をチェックします。印刷された「乱雑な」シーケンスのような、蓄積された一定の乱雑なシーケンスによって満たされる可能性があります。よって示唆された、すべてのテストを満たすに関わらず、そのシーケンスは、暗号技術的な利用には適しません。攻撃者は、一般に公知な、すべての「乱雑な」シーケンスのコピーをもち、源泉を当てて将来の値を予測できると想定されなければならないからです。典型的な擬似乱数生成テクニックは、線形合同法による擬似乱数生成器です。N+1番目の値を求める剰余演算です。2進数加算)として、シフトレジスタの一端に導入されます。下記のことを考慮してください。2従前の擬似乱数生成器アルゴリズムの品質は、このようなシーケンスについての統計的テストによって測定されました。値の注意深い選択、もしくは、上記の単純な過程におけるシフトレジスタ捕捉点の適切な配置によって、秀逸な統計値を作り出すことができます。これらの数列は、精査している空間の構造と相関しない限り、シミュレーション(モンテカルロ実験)において適切である可能性があります。そこでさえ、微妙なパターンが、問題を引き起こす可能性があります。このような数列は、明らかに、セキュリティアプリケーションにおける利用には、良くありません。それらは、初期状態が知られている場合、完全に予測可能です。