RFC4086 日本語訳

4086 Randomness Requirements for Security. D. Eastlake, 3rd, J.Schiller, S. Crocker. June 2005. (Format: TXT=114321 bytes) (Obsoletes RFC1750) (Also BCP0106) (Status: BEST CURRENT PRACTICE)
プログラムでの自動翻訳です。
英語原文

Network Working Group                                   D. Eastlake, 3rd
Request for Comments: 4086                         Motorola Laboratories
BCP: 106                                                     J. Schiller
Obsoletes: 1750                                                      MIT
Category: Best Current Practice                               S. Crocker
                                                               June 2005

ワーキンググループのD.イーストレーク、コメントを求める第3要求をネットワークでつないでください: 4086モトローラ研究所BCP: 106 J.シラーは以下を時代遅れにします。 1750年のMITカテゴリ: 最も良い現在の練習S.医者2005年6月

                  Randomness Requirements for Security

セキュリティのための偶発性要件

Status of This Memo

このメモの状態

   This document specifies an Internet Best Current Practices for the
   Internet Community, and requests discussion and suggestions for
   improvements.  Distribution of this memo is unlimited.

このドキュメントはインターネット共同体、要求議論、および提案のためのインターネットBest Current Practicesを改良に指定します。 このメモの分配は無制限です。

Copyright Notice

版権情報

   Copyright (C) The Internet Society (2005).

Copyright(C)インターネット協会(2005)。

Abstract

要約

   Security systems are built on strong cryptographic algorithms that
   foil pattern analysis attempts.  However, the security of these
   systems is dependent on generating secret quantities for passwords,
   cryptographic keys, and similar quantities.  The use of pseudo-random
   processes to generate secret quantities can result in pseudo-
   security.  A sophisticated attacker may find it easier to reproduce
   the environment that produced the secret quantities and to search the
   resulting small set of possibilities than to locate the quantities in
   the whole of the potential number space.

セキュリティシステムはホイルパターン解析が試みる強い暗号アルゴリズムに構築されます。 しかしながら、これらのシステムのセキュリティはパスワード、暗号化キー、および同様の量のために秘密の量を発生させるのに依存しています。 秘密の量を発生させる擬似ランダムの過程の使用は疑似セキュリティをもたらすことができます。 洗練された攻撃者は秘密の量を生産した環境を再生させやすくて、それは潜在的数のスペースの全体における量の場所を見つけるより結果として起こる小さい可能性を捜しやすいのがわかるかもしれません。

   Choosing random quantities to foil a resourceful and motivated
   adversary is surprisingly difficult.  This document points out many
   pitfalls in using poor entropy sources or traditional pseudo-random
   number generation techniques for generating such quantities.  It
   recommends the use of truly random hardware techniques and shows that
   the existing hardware on many systems can be used for this purpose.
   It provides suggestions to ameliorate the problem when a hardware
   solution is not available, and it gives examples of how large such
   quantities need to be for some applications.

才略にたけて動機づけられた敵をくじくために無作為の量を選ぶのは驚くほど難しいです。 このドキュメントはそのような量を発生させるのに貧しいエントロピーソースか伝統的な擬似乱数世代のテクニックを使用する際に多くの落とし穴を指摘します。 それは、本当に無作為のハードウェアのテクニックの使用を推薦して、このために多くのシステムの上の既存のハードウェアを使用できるのを示します。 ハードウェア解決が利用可能でないときに、それは問題を改善するために提案を提供します、そして、いくつかのアプリケーションのためのそのような量が、どれくらい大きい必要があるかに関する例を出します。

Eastlake, et al.            Standards Track                     [Page 1]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[1ページ]。

Table of Contents

目次

   1. Introduction and Overview .......................................3
   2. General Requirements ............................................4
   3. Entropy Sources .................................................7
      3.1. Volume Required ............................................7
      3.2. Existing Hardware Can Be Used For Randomness ...............8
           3.2.1. Using Existing Sound/Video Input ....................8
           3.2.2. Using Existing Disk Drives ..........................8
      3.3. Ring Oscillator Sources ....................................9
      3.4. Problems with Clocks and Serial Numbers ...................10
      3.5. Timing and Value of External Events .......................11
      3.6. Non-hardware Sources of Randomness ........................12
   4. De-skewing .....................................................12
      4.1. Using Stream Parity to De-Skew ............................13
      4.2. Using Transition Mappings to De-Skew ......................14
      4.3. Using FFT to De-Skew ......................................15
      4.4. Using Compression to De-Skew ..............................15
   5. Mixing .........................................................16
      5.1. A Trivial Mixing Function .................................17
      5.2. Stronger Mixing Functions .................................18
      5.3. Using S-Boxes for Mixing ..................................19
      5.4. Diffie-Hellman as a Mixing Function .......................19
      5.5. Using a Mixing Function to Stretch Random Bits ............20
      5.6. Other Factors in Choosing a Mixing Function ...............20
   6. Pseudo-random Number Generators ................................21
      6.1. Some Bad Ideas ............................................21
           6.1.1. The Fallacy of Complex Manipulation ................21
           6.1.2. The Fallacy of Selection from a Large Database .....22
           6.1.3. Traditional Pseudo-random Sequences ................23
      6.2. Cryptographically Strong Sequences ........................24
           6.2.1. OFB and CTR Sequences ..............................25
           6.2.2. The Blum Blum Shub Sequence Generator ..............26
      6.3. Entropy Pool Techniques ...................................27
   7. Randomness Generation Examples and Standards ...................28
      7.1. Complete Randomness Generators ............................28
           7.1.1. US DoD Recommendations for Password Generation .....28
           7.1.2. The /dev/random Device .............................29
           7.1.3. Windows CryptGenRandom .............................30
      7.2. Generators Assuming a Source of Entropy ...................31
           7.2.1. X9.82 Pseudo-Random Number Generation ..............31
           7.2.2. X9.17 Key Generation ...............................33
           7.2.3. DSS Pseudo-random Number Generation ................34
   8. Examples of Randomness Required ................................34
      8.1. Password Generation .......................................35
      8.2. A Very High Security Cryptographic Key ....................36
   9. Conclusion .....................................................38
  10. Security Considerations ........................................38

1. 序論と概観…3 2. 一般要件…4 3. エントロピーソース…7 3.1. ボリュームが必要です…7 3.2. 偶発性に既存のハードウェアを使用できます…8 3.2.1. 既存の音/ビデオ入力を使用します…8 3.2.2. 既存のディスクドライブを使用します…8 3.3. 振動子ソースを取り囲んでください…9 3.4. 時計と通し番号に関する問題…10 3.5. 外部の出来事のタイミングと値…11 3.6. 偶発性の非ハードウェア源…12 4. 反-歪曲します。12 4.1. 反-歪曲する流れの同等を使用します…13 4.2. 反-歪曲する変遷マッピングを使用します…14 4.3. 反-歪曲する高速フーリエ変換を使用します…15 4.4. 反-歪曲する圧縮を使用します…15 5. 混入します…16 5.1. 些細な混合機能…17 5.2. より強い混合は機能します…18 5.3. 混合にS-箱を使用します…19 5.4. 混合機能としてのディフィー-ヘルマン…19 5.5. 混合機能を伸び無作為のビットまで使用します…20 5.6. 混合を選ぶ他の要素は機能します…20 6. 擬似乱数ジェネレータ…21 6.1. いくつかの悪い考え…21 6.1.1. 複雑な操作の誤り…21 6.1.2. 大容量データベースからの選択の誤り…22 6.1.3. 伝統的な擬似ランダム系列…23 6.2. 暗号で、強い系列…24 6.2.1. OFBとCTR系列…25 6.2.2. ブルームブルームシューブ系列ジェネレータ…26 6.3. エントロピープールのテクニック…27 7. 偶発性世代の例と規格…28 7.1. 偶発性ジェネレータを完成してください…28 7.1.1. パスワード世代米国のDoD推薦…28 7.1.2. /dev/random装置…29 7.1.3. Windows CryptGenRandom…30 7.2. エントロピーの源を仮定するジェネレータ…31 7.2.1. X9.82擬似乱数世代…31 7.2.2. X9.17キー生成…33 7.2.3. DSS擬似乱数世代…34 8. 偶発性の例が必要です…34 8.1. パスワード世代…35 8.2. 非常に高いセキュリティ暗号化キー…36 9. 結論…38 10. セキュリティ問題…38

Eastlake, et al.            Standards Track                     [Page 2]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[2ページ]。

  11. Acknowledgments ................................................39
  Appendix A: Changes from RFC 1750 ..................................40
  Informative References .............................................41

11. 承認…39 付録A: RFC1750からの変化…40 有益な参照…41

1.  Introduction and Overview

1. 序論と概観

   Software cryptography is coming into wider use, although there is a
   long way to go until it becomes pervasive.  Systems such as SSH,
   IPSEC, TLS, S/MIME, PGP, DNSSEC, and Kerberos are maturing and
   becoming a part of the network landscape [SSH] [IPSEC] [TLS] [S/MIME]
   [MAIL_PGP*] [DNSSEC*].  For comparison, when the previous version of
   this document [RFC1750] was issued in 1994, the only Internet
   cryptographic security specification in the IETF was the Privacy
   Enhanced Mail protocol [MAIL_PEM*].

普及するようになるまで行く長い道のりがありますが、ソフトウェア暗号は普及しています。 SSHや、IPSECや、TLSや、S/MIMEや、PGPや、DNSSECや、ケルベロスなどのシステムは、熟して、ネットワーク[SSH][IPSEC][TLS][S/MIME][メール_PGP*][DNSSEC*]風景の一部になっています。 1994年にこのドキュメント[RFC1750]の旧バージョンを発行したときの比較のために、IETFにおける唯一のインターネットの暗号のセキュリティ仕様がPrivacy Enhancedメールプロトコル[メール_PEM*]でした。

   These systems provide substantial protection against snooping and
   spoofing.  However, there is a potential flaw.  At the heart of all
   cryptographic systems is the generation of secret, unguessable (i.e.,
   random) numbers.

これらのシステムは詮索とスプーフィングに対するかなりの保護を提供します。 しかしながら、潜在的欠点があります。 秘密の、そして、「蹄-可能」な(すなわち、無作為の)数の世代はすべての暗号のシステムの中心です。

   The lack of generally available facilities for generating such random
   numbers (that is, the lack of general availability of truly
   unpredictable sources) forms an open wound in the design of
   cryptographic software.  For the software developer who wants to
   build a key or password generation procedure that runs on a wide
   range of hardware, this is a very real problem.

そのような乱数(すなわち、本当に予測できないソースに関する一般的な入手可能性の不足)を発生させるための一般に利用可能な施設の不足は暗号ソフトウェアの設計における開いている傷を形成します。 さまざまなハードウェアで動くキーかパスワード世代手順を組立てたがっているソフトウェア開発者にとって、これは非常に本当の問題です。

   Note that the requirement is for data that an adversary has a very
   low probability of guessing or determining.  This can easily fail if
   pseudo-random data is used that meets only traditional statistical
   tests for randomness, or that is based on limited-range sources such
   as clocks.  Sometimes such pseudo-random quantities can be guessed by
   an adversary searching through an embarrassingly small space of
   possibilities.

要件が敵が推測か決定の非常に低い確率に持っているデータのためのものであることに注意してください。 擬似ランダムデータが使用されているなら、偶発性、またはすなわち、時計などの限られた範囲の源に基づいて伝統的な統計的検査法だけを満たすこれは容易に失敗できます。 時々、可能性の面くらわせるように小さいスペースを隅々まで捜している敵はそのような擬似ランダム量を推測できます。

   This Best Current Practice document describes techniques for
   producing random quantities that will be resistant to attack.  It
   recommends that future systems include hardware random number
   generation or provide access to existing hardware that can be used
   for this purpose.  It suggests methods for use if such hardware is
   not available, and it gives some estimates of the number of random
   bits required for sample applications.

このBest Current Practiceドキュメントは、攻撃するために抵抗力があるようになる無作為の量を生産するためのテクニックについて説明します。 それは、将来のシステムがハードウェア乱数発生を含んでいるか、またはこのために使用できる既存のハードウェアへのアクセスを提供することを勧めます。 そのようなハードウェアが利用可能でないなら、それは使用のための方法を示します、そして、サンプルアプリケーションに必要である無作為のビットの数のいくつかの見積りを与えます。

Eastlake, et al.            Standards Track                     [Page 3]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[3ページ]。

2.  General Requirements

2. 一般要件

   Today, a commonly encountered randomness requirement is to pick a
   user password, usually a simple character string.  Obviously, a
   password that can be guessed does not provide security.  For re-
   usable passwords, it is desirable that users be able to remember the
   password.  This may make it advisable to use pronounceable character
   strings or phrases composed of ordinary words.  But this affects only
   the format of the password information, not the requirement that the
   password be very hard to guess.

今日、一般的に遭遇した偶発性要件はユーザパスワード、通常簡単な文字列を選ぶことです。 明らかに、推測できるパスワードはセキュリティを提供しません。 再使用可能なパスワードに関しては、ユーザがパスワードを覚えていることができるのは、望ましいです。 これで、発音可能な文字列か普通の単語で構成された句を使用するのは賢明になるかもしれません。 しかし、これは要件ではなく、パスワードは非常に推測しにくいというパスワード情報の形式だけに影響します。

   Many other requirements come from the cryptographic arena.
   Cryptographic techniques can be used to provide a variety of
   services, including confidentiality and authentication.  Such
   services are based on quantities, traditionally called "keys", that
   are unknown to and unguessable by an adversary.

他の多くの要件が暗号のアリーナから来ます。 秘密性と認証を含むさまざまなサービスを提供するのに暗号のテクニックを使用できます。 そのようなサービスは伝統的に「キー」と呼ばれる敵で未知の、そして、「蹄-可能」な量に基づいています。

   There are even TCP/IP protocol uses for randomness in picking initial
   sequence numbers [RFC1948].

初期シーケンス番号[RFC1948]を選ぶのにおいて偶発性へのTCP/IPプロトコル用途さえあります。

   Generally speaking, the above examples also illustrate two different
   types of random quantities that may be wanted.  In the case of
   human-usable passwords, the only important characteristic is that
   they be unguessable.  It is not important that they may be composed
   of ASCII characters, so the top bit of every byte is zero, for
   example.  On the other hand, for fixed length keys and the like, one
   normally wants quantities that appear to be truly random, that is,
   quantities whose bits will pass statistical randomness tests.

概して、また、上記の例は欲しいかもしれない2つの異なったタイプ無作為の量を例証します。 人間使用可能なパスワードの場合では、唯一の重要な特性はそれらが「蹄-可能」であるということです。 あらゆるバイトのトップビットがゼロでありそれらがASCII文字で構成されるのは、例えば重要ではありません。 他方では、固定長キーと同様のもののために、通常、人は、本当に、現れる量に無作為であって欲しいです、すなわち、ビットが統計的な偶発性テストに合格する量。

   In some cases, such as the use of symmetric encryption with the one-
   time pads or an algorithm like the US Advanced Encryption Standard
   [AES], the parties who wish to communicate confidentially and/or with
   authentication must all know the same secret key.  In other cases,
   where asymmetric or "public key" cryptographic techniques are used,
   keys come in pairs.  One key of the pair is private and must be kept
   secret by one party; the other is public and can be published to the
   world.  It is computationally infeasible to determine the private key
   from the public key, and knowledge of the public key is of no help to
   an adversary [ASYMMETRIC].  See general references [SCHNEIER,
   FERGUSON, KAUFMAN].

1個の時間パッドによる左右対称の暗号化の使用か米国エー・イー・エス[AES]のようなアルゴリズムなどのいくつかの場合では、秘密認証で交信したがっているパーティーは皆、同じ秘密鍵を知らなければなりません。 他の場合では、キーは組に入ります。そこでは、非対称か「公開鍵」暗号のテクニックが使用されています。 組の1個のキーを個人的であり、1回のパーティーが秘密にしなければなりません。 もう片方は、公共であり、世界に発行できます。 公開鍵から秘密鍵を決定するのが計算上実行不可能であり、公開鍵に関する知識は敵の[ASYMMETRIC]の役に立ちます。 一般参照[シュナイアー、ファーガソン、コーフマン]を見てください。

   The frequency and volume of the requirement for random quantities
   differs greatly for different cryptographic systems.  With pure RSA,
   random quantities are required only when a new key pair is generated;
   thereafter, any number of messages can be signed without a further
   need for randomness.  The public key Digital Signature Algorithm
   devised by the US National Institute of Standards and Technology
   (NIST) requires good random numbers for each signature [DSS].  And

無作為の量のための要件の頻度とボリュームは異なった暗号のシステムのために大きな開きがあります。新しい主要な組が発生するときだけ、純粋なRSAと共に、無作為の量が必要です。 その後、偶発性のさらなる必要性なしでいろいろなメッセージにサインできます。 米国米国商務省標準技術局(NIST)によって工夫された公開鍵Digital Signature Algorithmは各署名[DSS]のために良い乱数を必要とします。 そして

Eastlake, et al.            Standards Track                     [Page 4]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[4ページ]。

   encrypting with a one-time pad (in principle the strongest possible
   encryption technique) requires randomness of equal volume to all the
   messages to be processed.  See general references [SCHNEIER,
   FERGUSON, KAUFMAN].

1回のパッドで(原則として可能な限り強い暗号化のテクニック)をコード化するのはすべての処理されるべきメッセージに等しいボリュームの偶発性を必要とします。 一般参照[シュナイアー、ファーガソン、コーフマン]を見てください。

   In most of these cases, an adversary can try to determine the
   "secret" key by trial and error.  This is possible as long as the key
   is enough smaller than the message that the correct key can be
   uniquely identified.  The probability of an adversary succeeding at
   this must be made acceptably low, depending on the particular
   application.  The size of the space the adversary must search is
   related to the amount of key "information" present, in an
   information-theoretic sense [SHANNON].  This depends on the number of
   different secret values possible and the probability of each value,
   as follows:

これらの場合の大部分では、敵は試行錯誤で「秘密」のキーを決定しようとすることができます。 キーが唯一正しいキーを特定できるというメッセージより小さく十分である限り、これは可能です。 特定用途によって、敵がこれで成功するという確率を許容できて低くしなければなりません。 敵が捜さなければならないスペースのサイズは情報理論的な意味[シャノン]における現在の主要な「情報」の量に関連します。 これを以下の通り可能な異なった秘密の値の数とそれぞれの価値の確率に依存します:

                              -----
                              \
        Bits of information =  \     - p   * log  ( p  )
                               /        i       2    i
                              /
                              -----

----- \ビットの情報は\と等しいです--p*、(p)/i2i/を登録してください。-----

   where i counts from 1 to the number of possible secret values and p
   sub i is the probability of the value numbered i.  (Because p sub i
   is less than one, the log will be negative, so each term in the sum
   will be non-negative.)

どこのiが1〜可能な秘密の値の数まで数えられて、p潜水艦iが価値の確率であるかはiに付番しました。 (p潜水艦iが1未満であるのでログが否定的になるので、合計におけるそれぞれの用語は非否定的になるでしょう。)

   If there are 2^n different values of equal probability, then n bits
   of information are present and an adversary would have to try, on the
   average, half of the values, or 2^(n-1), before guessing the secret
   quantity.  If the probability of different values is unequal, then
   there is less information present, and fewer guesses will, on
   average, be required by an adversary.  In particular, any values that
   an adversary can know to be impossible or of low probability can be
   initially ignored by the adversary, who will search through the more
   probable values first.

等しい確率の2^n異価があれば、nビットの情報は存在しています、そして、敵は平均して値、または2^(n-1)の半分を試みなければならないでしょう、秘密の量を推測する前に。 異価の確率が不平等であるなら、より少ない存在している情報があります、そして、より少ない推測が敵によって平均的に必要とされるでしょう。 特に、いずれも、敵を不可能であることを知ることができるか、または敵が初めは低い確率について無視できるのを評価します。(その敵は、最初に、よりありえそうな値を隅々まで捜すでしょう)。

   For example, consider a cryptographic system that uses 128-bit keys.
   If these keys are derived using a fixed pseudo-random number
   generator that is seeded with an 8-bit seed, then an adversary needs
   to search through only 256 keys (by running the pseudo-random number
   generator with every possible seed), not 2^128 keys as may at first
   appear to be the case.  Only 8 bits of "information" are in these
   128-bit keys.

例えば、128ビットのキーを使用する暗号のシステムを考えてください。 これらのキーが8ビットの種子で種を蒔かれる固定疑似乱数生成器を使用することで引き出されるなら、初めにケースであるように見えるとき、敵は、2個の^128キーではなく、256個のキー(あらゆる可能な種子のときに疑似乱数生成器を動かすのによる)だけを隅々まで捜す必要があります。 8ビットの「情報」だけ、がこれらの128ビットのキーにあります。

Eastlake, et al.            Standards Track                     [Page 5]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[5ページ]。

   While the above analysis is correct on average, it can be misleading
   in some cases for cryptographic analysis where what is really
   important is the work factor for an adversary.  For example, assume
   that there is a pseudo-random number generator generating 128-bit
   keys, as in the previous paragraph, but that it generates zero half
   of the time and a random selection from the remaining 2^128 - 1
   values the rest of the time.  The Shannon equation above says that
   there are 64 bits of information in one of these key values, but an
   adversary, simply by trying the value zero, can break the security of
   half of the uses, albeit a random half.  Thus, for cryptographic
   purposes, it is also useful to look at other measures, such as min-
   entropy, defined as

上の分析が平均的に正しい間、いくつかの場合、本当に重要なことが敵へのワーク・ファクタである暗号の分析に、それは紛らわしい場合があります。 例えば、前のパラグラフのように128ビットのキーを発生させる疑似乱数生成器がありますが、2^128--1が現代の残りに評価する残りから時間と半分のランダム・セレクションを全く発生させないと仮定してください。 上のシャノン方程式は、これらのキー値の1つには64ビットの情報がありますが、敵が単に値ゼロを試みることによって半分の用途のセキュリティを壊すことができると言います、無作為の半分ですが。 したがって、また、暗号の目的の、それも、分エントロピーとしてそのようで、定義された他の測定が見るために役に立ちます。

        Min-entropy =  - log  ( maximum ( p  ) )
                                           i

分-エントロピー=--ログ(最大(p)の)i

   where i is as above.  Using this equation, we get 1 bit of min-
   entropy for our new hypothetical distribution, as opposed to 64 bits
   of classical Shannon entropy.

iが同じくらい上にあるところ。 この方程式を使用して、私たちは新しい仮定している分配のために分エントロピーの1ビットを手に入れます、古典的なシャノンエントロピーの64ビットと対照的に。

   A continuous spectrum of entropies, sometimes called Renyi entropy,
   has been defined, specified by the parameter r.  Here r = 1 is
   Shannon entropy and r = infinity is min-entropy.  When r = zero, it
   is just log (n), where n is the number of non-zero probabilities.
   Renyi entropy is a non-increasing function of r, so min-entropy is
   always the most conservative measure of entropy and usually the best
   to use for cryptographic evaluation [LUBY].

パラメタrによって指定されて、エントロピーの時々レーニイエントロピーと呼ばれた連続スペクトルは定義されました。 ここで、r=1はシャノンエントロピーです、そして、r=無限は分-エントロピーです。 rがゼロと等しいときに、それはただログ(n)です。(そこでは、nが非ゼロ確率の数です)。 レーニイエントロピーがrの非増加関数であるので、分-エントロピーはエントロピーと通常ベストが暗号の評価に[LUBY]を使用するいつも最も保守的な測定です。

   Statistically tested randomness in the traditional sense is NOT the
   same as the unpredictability required for security use.

統計的にテストされた偶発性は予測不可能性がセキュリティ使用に必要であるのと伝統的な意味で同じではありません。

   For example, the use of a widely available constant sequence, such as
   the random table from the CRC Standard Mathematical Tables, is very
   weak against an adversary.  An adversary who learns of or guesses it
   can easily break all security, future and past, based on the sequence
   [CRC].  As another example, using AES with a constant key to encrypt
   successive integers such as 1, 2, 3, ... will produce output that
   also has excellent statistical randomness properties but is
   predictable.  On the other hand, taking successive rolls of a six-
   sided die and encoding the resulting values in ASCII would produce
   statistically poor output with a substantial unpredictable component.
   So note that passing or failing statistical tests doesn't reveal
   whether something is unpredictable or predictable.

例えば、CRC Standard Mathematical Tablesからの乱数表などの広く利用可能な一定の系列の使用は敵に対して非常に弱いです。 それを知っているか、または推測する敵はすべてのセキュリティ、未来、および過去に容易に中断できます、系列[CRC]に基づいて。 別の例として、1、2、3などの連続した整数をコード化するのに一定のキーがあるAESを使用して、…はまた、素晴らしい統計的な偶発性の特性を持っていますが、予測できる出力を起こすでしょう。 他方では、面がある6の連続したロールを取って、死んでください。そうすれば、ASCIIにおける結果として起こる値をコード化するのはかなりの予測できないコンポーネントがある統計的に不十分な出力を起こすでしょう。 それで、統計的検査法に合格するか、または失敗するのが、ものが予測できないか、または何か予測できるかを明らかにしないことに注意してください。

Eastlake, et al.            Standards Track                     [Page 6]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[6ページ]。

3.  Entropy Sources

3. エントロピーソース

   Entropy sources tend to be very implementation dependent.  Once one
   has gathered sufficient entropy, it can be used as the seed to
   produce the required amount of cryptographically strong pseudo-
   randomness, as described in Sections 6 and 7, after being de-skewed
   or mixed as necessary, as described in Sections 4 and 5.

エントロピーソースは、実現に非常に依存している傾向があります。 一度、1つは十分なエントロピーを集めたことがあって、暗号で必要な量を生産する種子としてそれは使用できます。セクション6と7で説明される必要セクション4と5で説明されるように反-歪曲されていたか、または混合された後の強い疑似偶発性。

   Is there any hope for true, strong, portable randomness in the
   future?  There might be.  All that's needed is a physical source of
   unpredictable numbers.

将来、何か本当の、そして、強くて、携帯用の偶発性の望みがありますか? あるかもしれません。 必要であるのは予測できない数の物理的な源だけです。

   Thermal noise (sometimes called Johnson noise in integrated circuits)
   or a radioactive decay source and a fast, free-running oscillator
   would do the trick directly [GIFFORD].  This is a trivial amount of
   hardware, and it could easily be included as a standard part of a
   computer system's architecture.  Most audio (or video) input devices
   are usable [TURBID].  Furthermore, any system with a spinning disk or
   ring oscillator and a stable (crystal) time source or the like has an
   adequate source of randomness ([DAVIS] and Section 3.3).  All that's
   needed is the common perception among computer vendors that this
   small additional hardware and the software to access it is necessary
   and useful.

熱雑音(時々集積回路のジョンソン雑音と呼ばれる)か放射性崩壊ソースと、速くて、自由な動く振動子が直接[ギフォード]所期の目的を達成するでしょう。 これは些細な量のハードウェアです、そして、コンピュータ・システムの構造の標準部品として容易にそれは含むことができました。 ほとんどのオーディオ(または、ビデオ)入力装置が使用可能です[TURBID]。 その上、回転盤かリング振動子があるどんなシステムと安定した(水晶)時間ソースか同様のものでも、偶発性([DAVIS]とセクション3.3)の適切な源があります。 そのすべてによる必要であるのが、コンピュータ・ベンダーの中の一般的な知覚であるということです。この小さい追加ハードウェアとそれにアクセスするソフトウェアは、必要であって、役に立ちます。

   ANSI X9 is currently developing a standard that includes a part
   devoted to entropy sources.  See Part 2 of [X9.82].

ANSI X9は現在、エントロピーソースにささげられた部分を含んでいる規格を開発しています。 [X9.82]の第2部を見てください。

3.1.  Volume Required

3.1. ボリュームが必要です。

   How much unpredictability is needed?  Is it possible to quantify the
   requirement in terms of, say, number of random bits per second?

どのくらいの予測不可能性が必要ですか? たとえば、無作為のbpsの数に関して要件を定量化するのは可能ですか?

   The answer is that not very much is needed.  For AES, the key can be
   128 bits, and, as we show in an example in Section 8, even the
   highest security system is unlikely to require strong keying material
   of much over 200 bits.  If a series of keys is needed, they can be
   generated from a strong random seed (starting value) using a
   cryptographically strong sequence, as explained in Section 6.2.  A
   few hundred random bits generated at start-up or once a day is enough
   if such techniques are used.  Even if the random bits are generated
   as slowly as one per second and it is not possible to overlap the
   generation process, it should be tolerable in most high-security
   applications to wait 200 seconds occasionally.

答えはそれがあまり必要でないということです。 AESに関しては、キーは128ビットであるかもしれません、そして、私たちがセクション8の例に示すように、最も高いセキュリティシステムさえ200ビット以上の多くの強い合わせることの材料を必要としそうにはありません。 一連のキーが必要であるなら、それらが強い無作為の種子によって発生している(始めの値)使用であることができる、暗号で、強い系列、セクション6.2では、説明されます。 そのようなテクニックが使用されているなら、上にから始まることにおいて1日に一度発生した無作為の数100ビットは十分です。 無作為のビットが1秒あたり1つと同じくらいゆっくり発生し、発生経過を重ね合わせるのが可能でなくても、時折200秒待つのはほとんどの高セキュリティアプリケーションで許容できるべきです。

   These numbers are trivial to achieve.  It could be achieved by a
   person repeatedly tossing a coin, and almost any hardware based
   process is likely to be much faster.

これらの数は、達成するために些細です。 繰り返してコインを投げる人はそれを達成できました、そして、ハードウェアに基づいているほとんどどんな過程もはるかに速い傾向があります。

Eastlake, et al.            Standards Track                     [Page 7]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[7ページ]。

3.2.  Existing Hardware Can Be Used For Randomness

3.2. 偶発性に既存のハードウェアを使用できます。

   As described below, many computers come with hardware that can, with
   care, be used to generate truly random quantities.

以下で説明されるように、本当に無作為の量を発生させるのに慎重に使用できるハードウェアは多くのコンピュータにはついて来ます。

3.2.1.  Using Existing Sound/Video Input

3.2.1. 既存の音/ビデオ入力を使用します。

   Many computers are built with inputs that digitize some real-world
   analog source, such as sound from a microphone or video input from a
   camera.  The "input" from a sound digitizer with no source plugged in
   or from a camera with the lens cap on is essentially thermal noise.
   If the system has enough gain to detect anything, such input can
   provide reasonably high quality random bits.  This method is
   extremely dependent on the hardware implementation.

多くのコンピュータが本当の世界のアナログのソースをデジタル化する入力で組立てられます、マイクロホンからの音やカメラからのビデオ入力のように。 ソースが全くプラグを差し込まれていない音のディジタイザかレンズ・キャップがオンのカメラからの「入力」は本質的には熱の雑音です。 十分が何かを検出するためにシステムによって獲得されるなら、そのような入力は合理的に高品質の無作為のビットを提供できます。 この方法はハードウェア実装に非常に依存しています。

   For example, on some UNIX-based systems, one can read from the
   /dev/audio device with nothing plugged into the microphone jack or
   with the microphone receiving only low level background noise.  Such
   data is essentially random noise, although it should not be trusted
   without some checking, in case of hardware failure, and it will have
   to be de-skewed.

例えば、いくつかのUNIXベースのシステムで、マイクロホンジャックがプラグを差し込まれない何かマイクロホンでも低い平らなバックグラウンドノイズだけを受けていて、人は/dev/audio装置から読むことができます。 そのようなデータは本質的にはランダムノイズです、何かがハードウェアの故障の場合にチェックしないで、それを信じるべきではありません、そして、反-それを歪曲しなければならないでしょうが。

   Combining this approach with compression to de-skew (see Section 4),
   one can generate a huge amount of medium-quality random data with the
   UNIX-style command line:

反-歪曲する(セクション4を見ます)圧縮に関するこのアプローチを結合して、1つはUNIX-スタイルコマンドラインで膨大な量の中くらいの品質の無作為のデータを発生させることができます:

        cat /dev/audio | compress - >random-bits-file

猫/dev/audio| 湿布-->無作為のビットはファイルされます。

   A detailed examination of this type of randomness source appears in
   [TURBID].

このタイプの偶発性源の詳細な試験は[TURBID]に現れます。

3.2.2.  Using Existing Disk Drives

3.2.2. 既存のディスクドライブを使用します。

   Disk drives have small random fluctuations in their rotational speed
   due to chaotic air turbulence [DAVIS, Jakobsson].  The addition of
   low-level disk seek-time instrumentation produces a series of
   measurements that contain this randomness.  Such data is usually
   highly correlated, so significant processing is needed, as described
   in Section 5.2 below.  Nevertheless, experimentation a decade ago
   showed that, with such processing, even slow disk drives on the
   slower computers of that day could easily produce 100 bits a minute
   or more of excellent random data.

ディスクドライブには、それらの回転数における小さい無作為の変動が混沌の乱気流[デイヴィス、Jakobsson]のためあります。 低レベルであるディスクシーク時間計装の添加はこの偶発性を含む一連の測定を起こします。 そのようなデータが通常非常に関連するので、重要な処理が以下のセクション5.2で説明されるように必要です。 それにもかかわらず、10年前の実験は、当日の、より遅いコンピュータの上の遅いディスクドライブさえそのような処理で容易に素晴らしい無作為のデータの1より分あたり100ビットを作り出すことができるのを示しました。

   Every increase in processor speed, which increases the resolution
   with which disk motion can be timed or increases the rate of disk
   seeks, increases the rate of random bit generation possible with this
   technique.  At the time of this paper and with modern hardware, a
   more typical rate of random bit production would be in excess of

プロセッサ速度のあらゆる増加がこのテクニックで可能な無作為の噛み付いている世代の速度を増加させます。(速度はディスク動きを調節できる解決かディスクのレートが求める増加を増加させます)。 紙、および近代的なハードウェアによる生産がそうする無作為のビットの、より典型的なレートを超えているこの時点

Eastlake, et al.            Standards Track                     [Page 8]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[8ページ]。

   10,000 bits a second.  This technique is used in random number
   generators included in many operating system libraries.

1秒あたり1万ビット。 このテクニックは多くのオペレーティングシステム図書館に乱数発生器を含む際に使用されます。

   Note: the inclusion of cache memories in disk controllers has little
   effect on this technique if very short seek times, which represent
   cache hits, are simply ignored.

以下に注意してください。 非常に短いシーク時間(キャッシュヒットを表す)が単に無視されるなら、磁気ディスク制御装置でのキャッシュメモリの包含はほとんどこのテクニックに影響を与えません。

3.3.  Ring Oscillator Sources

3.3. リング振動子ソース

   If an integrated circuit is being designed or field-programmed, an
   odd number of gates can be connected in series to produce a free-
   running ring oscillator.  By sampling a point in the ring at a fixed
   frequency (for example, one determined by a stable crystal
   oscillator), some amount of entropy can be extracted due to
   variations in the free-running oscillator timing.  It is possible to
   increase the rate of entropy by XOR'ing sampled values from a few
   ring oscillators with relatively prime lengths.  It is sometimes
   recommended that an odd number of rings be used so that, even if the
   rings somehow become synchronously locked to each other, there will
   still be sampled bit transitions.  Another possible source to sample
   is the output of a noisy diode.

集積回路が設計されるか分野によってプログラムされているなら、無料の走行リング振動子を生産するために連続的にゲートの奇数を接続できます。 リングで固定頻度(例えば安定した水晶発振器で決定するもの)でポイントを抽出することによって、自由な走行振動子タイミングの変化のためいくらかの量のエントロピーを抽出できます。 比較的主要な長さに従ってXOR'ing標本値でいくつかのリング振動子からエントロピーのレートを増加させるのは可能です。 リングの奇数がそれでも、リングがどうにか同時互いにロックされるようになっても噛み付いている変遷が抽出されるように使用されるのは、時々お勧めです。 抽出する別の可能なソースは騒がしいダイオードの出力です。

   Sampled bits from such sources will have to be heavily de-skewed, as
   disk rotation timings must be (see Section 4).  An engineering study
   would be needed to determine the amount of entropy being produced
   depending on the particular design.  In any case, these can be good
   sources whose cost is a trivial amount of hardware by modern
   standards.

そのようなソースからの抽出されたビットはディスク回転タイミングでなければならないことのようにずっしりと反-歪曲するようにならなければならないでしょう(セクション4を見てください)。 工学研究が、特定のデザインによって、生産されるエントロピーの量を測定するのに必要でしょう。 どのような場合でも、これらは費用が現代の規格による些細な量のハードウェアである良いソースであるかもしれません。

   As an example, IEEE 802.11i suggests the circuit below, with due
   attention in the design to isolation of the rings from each other and
   from clocked circuits to avoid undesired synchronization, etc., and
   with extensive post processing [IEEE_802.11i].

例として、IEEE 802.11iは後工程、望まれない同期などを避ける互いと、そして、時間を計られたサーキットからのリングの孤立へのデザインにおける当然の注意、および大規模な後工程[IEEE_802.11i]があるサーキットを勧めます。

Eastlake, et al.            Standards Track                     [Page 9]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[9ページ]。

             |\     |\                |\
         +-->| >0-->| >0-- 19 total --| >0--+-------+
         |   |/     |/                |/    |       |
         |                                  |       |
         +----------------------------------+       V
                                                 +-----+
             |\     |\                |\         |     | output
         +-->| >0-->| >0-- 23 total --| >0--+--->| XOR |------>
         |   |/     |/                |/    |    |     |
         |                                  |    +-----+
         +----------------------------------+      ^ ^
                                                   | |
             |\     |\                |\           | |
         +-->| >0-->| >0-- 29 total --| >0--+------+ |
         |   |/     |/                |/    |        |
         |                                  |        |
         +----------------------------------+        |
                                                     |
             Other randomness, if available ---------+

|\ |\ |\ +-->| >0-->| >0-- 19合計--| >0--+-------+ | |/ |/ |/ | | | | | +----------------------------------+ +に対して-----+ |\ |\ |\ | | 出力+-->| >0-->| >0-- 23合計--| >0--+--->| XOR|、-、-、-、-、--、>| |/ |/ |/ | | | | | +-----+ +----------------------------------+ ^ ^ | | |\ |\ |\ | | +-->| >0-->| >0-- 29合計--| >0--+------+ | | |/ |/ |/ | | | | | +----------------------------------+ | | 利用可能の他の偶発性---------+

3.4.  Problems with Clocks and Serial Numbers

3.4. 時計と通し番号に関する問題

   Computer clocks and similar operating system or hardware values,
   provide significantly fewer real bits of unpredictability than might
   appear from their specifications.

コンピュータ時計と同様のオペレーティングシステムかハードウェアが評価して、本当のビットの現れるかもしれないよりかなり少ない予測不可能性を提供する、それらの仕様。

   Tests have been done on clocks on numerous systems, and it was found
   that their behavior can vary widely and in unexpected ways.  One
   version of an operating system running on one set of hardware may
   actually provide, say, microsecond resolution in a clock, while a
   different configuration of the "same" system may always provide the
   same lower bits and only count in the upper bits at much lower
   resolution.  This means that successive reads of the clock may
   produce identical values even if enough time has passed that the
   value "should" change based on the nominal clock resolution.  There
   are also cases where frequently reading a clock can produce
   artificial sequential values, because of extra code that checks for
   the clock being unchanged between two reads and increases it by one!
   Designing portable application code to generate unpredictable numbers
   based on such system clocks is particularly challenging because the
   system designer does not always know the properties of the system
   clock.

テストは多数のシステムの上で時計で終わっていました、そして、彼らの振舞いが広さに予期していなかった方法で異なることができるのが見つけられました。 たとえば、オペレーティングシステムが、あるセットのハードウェアで動くあるバージョンが実際に提供されるかもしれません、時計でのマイクロセカンド解決、「同じ」システムの異なった構成ははるかに低い解像度で同じ下位ビットとカウントだけを上側のビットにいつも供給するかもしれませんが。 これは、時間で通る値の“should"が変える十分が名目上の時計解決を基礎づけたとしても時計の連続した読書が同じ値を生産するかもしれないことを意味します。 ケースも頻繁に時計を読むのが人工の連続した値を生産できるところにあります、2つの読書の間で変わりがない時計がないかどうかチェックして、それを1つ増加させる余分なコードのために! システム設計者がいつもシステムクロックの特性を知っているというわけではないので、そのようなシステムクロックに基づく予測できない数を発生させるように携帯用の応用コードを設計するのは特にやりがいがあります。

   Use of a hardware serial number (such as an Ethernet MAC address) may
   also provide fewer bits of uniqueness than one would guess.  Such
   quantities are usually heavily structured, and subfields may have
   only a limited range of possible values, or values may be easily
   guessable based on approximate date of manufacture or other data.

また、ハードウェア通し番号(イーサネットMACアドレスなどの)の使用はビットの人が推測するだろうより少ないユニークさを提供するかもしれません。 値は、通常、そのような量が大いに構造化されて、部分体には、限られた範囲の可能な値しかないかもしれませんか、容易に製造の大体の期日に基づく推測可能か他のデータであるかもしれません。

Eastlake, et al.            Standards Track                    [Page 10]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[10ページ]。

   For example, it is likely that a company that manufactures both
   computers and Ethernet adapters will, at least internally, use its
   own adapters, which significantly limits the range of built-in
   addresses.

例えば、コンピュータとイーサネット・アダプタの両方を製造している会社は少なくとも内部的にそれ自身のアダプターを使用しそうでしょう、内蔵のアドレスの範囲をかなり制限するどれ。

   Problems such as those described above make the production of code to
   generate unpredictable quantities difficult if the code is to be
   ported across a variety of computer platforms and systems.

上で説明されたものなどの問題で、予測できない量を発生させるコードの生産はコードがさまざまなコンピュータプラットホームとシステムの向こう側に移植することであるなら難しくなります。

3.5.  Timing and Value of External Events

3.5. 外部の出来事のタイミングと値

   It is possible to measure the timing and content of mouse movement,
   key strokes, and similar user events.  This is a reasonable source of
   unguessable data, with some qualifications.  On some machines, input
   such as key strokes is buffered.  Even though the user's inter-
   keystroke timing may have sufficient variation and unpredictability,
   there might not be an easy way to access that variation.  Another
   problem is that no standard method exists for sampling timing
   details.  This makes it hard to use this technique to build standard
   software intended for distribution to a large range of machines.

マウス運動、キーストローク、および同様のユーザ出来事のタイミングと内容を測定するのは可能です。 これはいくつかの資格がある「蹄-可能」データの合理的な源です。 いくつかのマシンの上では、キーがなでる入力はバッファリングされます。 ユーザの相互キーストロークタイミングには、十分な変化と予測不可能性があるかもしれませんが、その変化にアクセスする簡単な方法がないかもしれません。 別の問題は標準方法が全く標本抽出タイミングの詳細のために存在していないということです。 これで、分配のために広範囲なマシンに意図する標準のソフトウェアを組立てるのにこのテクニックを使用するのは困難になります。

   The amount of mouse movement and the actual key strokes are usually
   easier to access than timings, but they may yield less
   unpredictability because the user may provide highly repetitive
   input.

マウス運動の量と実際のキーストロークはタイミングより通常アクセスしやすいのですが、ユーザが非常に反復性の入力を提供するかもしれないので、それらは、より少ない予測不可能性をもたらすかもしれません。

   Other external events, such as network packet arrival times and
   lengths, can also be used, but only with great care.  In particular,
   the possibility of manipulation of such network traffic measurements
   by an adversary and the lack of history at system start-up must be
   carefully considered.  If this input is subject to manipulation, it
   must not be trusted as a source of entropy.

また、しかし、ネットワークパケット到着時間や長さなどの他の外部の出来事を細心の注意を払うだけ、そして使用できます。 特に、慎重に敵によるそのようなネットワークトラフィック測定値の操作の可能性とシステム上にから始まるところの歴史の不足を考えなければなりません。 この入力は操作を受けることがあるなら、エントロピーの源としてそれを信じてはいけません。

   In principle, almost any external sensor, such as raw radio reception
   or temperature sensing in appropriately equipped computers, can be
   used.  But in each case, careful consideration must be given to how
   much this data is subject to adversarial manipulation and to how much
   entropy it can actually provide.

原則として、適切に備えられているコンピュータの生のラジオの聴取か温度感知などのほとんどどんな外界センサーも使用できます。 しかし、その都度、このデータが敵の操作を条件としていくらか、そして、実際にどのくらいのエントロピーに提供できるかに熟慮を与えなければなりません。

   The above techniques are quite powerful against attackers that have
   no access to the quantities being measured.  For example, these
   techniques would be powerful against offline attackers who had no
   access to one's environment and who were trying to crack one's random
   seed after the fact.  In all cases, the more accurately one can
   measure the timing or value of an external sensor, the more rapidly
   one can generate bits.

上のテクニックは測定される量に近づく手段を持っていない攻撃者に対してかなり強力です。 例えば、これらのテクニックは人の環境に近づく手段を持たないで、事実の後に人の無作為の種子を解こうとしていたオフライン攻撃者に対して強力でしょう。 人がすべての場合では、より正確に外界センサーのタイミングか値を測定できれば、1つはビットをより急速に発生させることができます。

Eastlake, et al.            Standards Track                    [Page 11]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[11ページ]。

3.6.  Non-hardware Sources of Randomness

3.6. 偶発性の非ハードウェア源

   The best source of input entropy would be a hardware-based random
   source such as ring oscillators, disk drive timing, thermal noise, or
   radioactive decay.  However, if none of these is available, there are
   other possibilities.  These include system clocks, system or
   input/output buffers, user/system/hardware/network serial numbers or
   addresses and timing, and user input.  Unfortunately, each of these
   sources can produce very limited or predictable values under some
   circumstances.

入力エントロピーの最も良い源はリング振動子、ディスクドライブタイミング、熱雑音、または放射性崩壊などのハードウェアベースの無作為の源でしょう。 しかしながら、これらのいずれも利用可能でないなら、他の可能性があります。 これらはシステムクロックかシステムか入力/出力バッファかユーザ/システム/ハードウェア/ネットワーク通し番号かアドレスと、タイミングと、ユーザ入力を含んでいます。 残念ながら、それぞれのこれらの源はいくつかの状況で非常に制限されたか予測できる値を生産できます。

   Some of the sources listed above would be quite strong on multi-user
   systems, where each user of the system is in essence a source of
   randomness.  However, on a small single-user or embedded system,
   especially at start-up, it might be possible for an adversary to
   assemble a similar configuration.  This could give the adversary
   inputs to the mixing process that were well-enough correlated to
   those used originally to make exhaustive search practical.

上に記載されたソースの何人かがマルチユーザーシステムでかなり強いでしょう、システムの各ユーザが本質で、偶発性の源であるところで。 しかしながら、小さいシングルユーザーか組込み型システムでは、特に上にから始まるところでは、敵が同様の構成を組み立てるのは、可能であるかもしれません。 これは混合の過程への元々徹底的な検索を実用的にするのに使用されるものに関連していた状態でよく十分であった敵の入力を与えるかもしれません。

   The use of multiple random inputs with a strong mixing function is
   recommended and can overcome weakness in any particular input.  The
   timing and content of requested "random" user keystrokes can yield
   hundreds of random bits, but conservative assumptions need to be
   made.  For example, one reasonably conservative assumption would be
   that an inter-keystroke interval provides at most a few bits of
   randomness, but only when the interval is unique in the sequence of
   intervals up to that point.  A similar assumption would be that a key
   code provides a few bits of randomness, but only when the code is
   unique in the sequence.  Thus, an interval or key code that
   duplicated a previous value would be assumed to provide no additional
   randomness.  The results of mixing these timings with typed
   characters could be further combined with clock values and other
   inputs.

強い混合機能がある複数の無作為の入力の使用は、お勧めであり、どんな特定の入力でも弱点に打ち勝つことができます。 要求された「無作為」のユーザキーストロークのタイミングと内容は無作為の何百ビットももたらすことができますが、保守的な仮定は、作られている必要があります。 例えば、間隔がそれが相互キーストロークであったなら高々数ビット提供するというそのポイントまで偶発性にもかかわらず、間隔がいつだけ間隔の系列でユニークであるかに関する1つの合理的に保守的な仮定。 同様の仮定はコードが系列でユニークであるときにだけ、主要なコードが数ビットの偶発性を提供するということでしょう。 したがって、前の値をコピーした間隔か主要なコードがどんな追加偶発性も提供しないと思われるでしょう。 これらのタイミングをタイプされたキャラクタに混ぜるという結果はさらに時計値と他の入力に結合されるかもしれません。

   This strategy may make practical portable code for producing good
   random numbers for security, even if some of the inputs are very weak
   on some of the target systems.  However, it may still fail against a
   high-grade attack on small, single-user, or embedded systems,
   especially if the adversary has ever been able to observe the
   generation process in the past.  A hardware-based random source is
   still preferable.

この戦略はセキュリティのために良い乱数を作成するために実用的な携帯用のコードを作るかもしれません、入力のいくつかがいくつかの目標システムの上で非常に弱くても。しかしながら、まだ、小さいシングルユーザー、または組込み型システムに対する高級な攻撃に対して失敗しているかもしれません、特に敵が過去に今までに発生経過を観測できたことがあるなら。 ハードウェアベースの無作為のソースはまだ望ましいです。

4.  De-skewing

4. 反-歪曲

   Is there any specific requirement on the shape of the distribution of
   quantities gathered for the entropy to produce the random numbers?
   The good news is that the distribution need not be uniform.  All that
   is needed to bound performance is a conservative estimate of how

何かエントロピーが乱数を作成するように集められた量の分配の形に関する決められた一定の要求がありますか? 朗報は分配が一定である必要はないということです。 制限された性能に必要であるのが内輪な見積りだけである、どのように

Eastlake, et al.            Standards Track                    [Page 12]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[12ページ]。

   non-uniform it is.  Simple techniques to de-skew a bit stream are
   given below, and stronger cryptographic techniques are described in
   Section 5.2.

不均等である、それはそうです。 反-流れを少し歪曲する簡易技術を以下に与えます、そして、セクション5.2で、より強い暗号のテクニックについて説明します。

4.1.  Using Stream Parity to De-Skew

4.1. 反-歪曲する流れの同等を使用します。

   As a simple but not particularly practical example, consider taking a
   sufficiently long string of bits and mapping the string to "zero" or
   "one".  The mapping will not yield a perfectly uniform distribution,
   but it can be as close as desired.  One mapping that serves the
   purpose is to take the parity of the string.  This has the advantages
   that it is robust across all degrees of skew up to the estimated
   maximum skew and that it is trivial to implement in hardware.

簡単な、しかし、特に実際的でない例として、ビットの十分長いストリングを取って、「ゼロ」か「1つ」にストリングを写像すると考えてください。 マッピングは完全に一定の分配をもたらさないでしょうが、それは望まれているのと同じくらい近くにあることができます。 目的に適う1つのマッピングはストリングの同等を取ることです。 それは利点ですが、これはハードウェアで実行するのが些細であるおよそ最大の斜行とそれまでの斜行のすべての度合いの向こう側に強健な状態でそうしました。

   The following analysis gives the number of bits that must be sampled:

以下の分析は抽出しなければならないビットの数を与えます:

   Suppose that the ratio of ones to zeros is ( 0.5 + E ) to
   ( 0.5 - E ), where E is between 0 and 0.5 and is a measure of the
   "eccentricity" of the distribution.  Consider the distribution of the
   parity function of N bit samples.  The respective probabilities that
   the parity will be one or zero will be the sum of the odd or even
   terms in the binomial expansion of (p + q)^N, where p = 0.5 + E, the
   probability of a one, and q = 0.5 - E, the probability of a zero.

もの対ゼロの比率がある、(0.5+E)(0.5--E) Eが0〜0.5であり、分配の「風変わり」の測定であるところ。 Nビットのサンプルのパリティー機能の分配を考えてください。 同等が1かゼロになるというそれぞれの確率はpが0.5+Eと等しい(p+q)^Nの二項式の拡大で変であるか同等の用語の合計になるでしょう、1つ、およびq=0.5の確率--E(ゼロの確率)。

   These sums can be computed easily as

容易にこれらの合計を計算できます。

                         N            N
        1/2 * ( ( p + q )  + ( p - q )  )

N N1/2*(p+q)+(p--q))

   and
                         N            N
        1/2 * ( ( p + q )  - ( p - q )  ).

そして、N N1/2*(p+q)--(p--q))。

   (Which formula corresponds to the probability that the parity will be
   1 depends on whether N is odd or even.)

(どの公式が同等が1になるという確率に対応しているかはよりさえします。)

   Since p + q = 1 and p - q = 2E, these expressions reduce to

2 1とp--q=E、これらの表現が減少するp+q=以来

                       N
        1/2 * [1 + (2E)  ]

N1/2*[1+(2E)]

   and
                       N
        1/2 * [1 - (2E)  ].

そして、N1/2*[1--(2E)]。

   Neither of these will ever be exactly 0.5 unless E is zero, but we
   can bring them arbitrarily close to 0.5.  If we want the
   probabilities to be within some delta d of 0.5, e.g., then

これらのどちらもEがゼロでないならかつて、まさに0.5にならないでしょうが、私たちは0.5の近くで任意にそれらを持って来ることができます。 私たちが、その時、0.5のあるデルタdの中に確率が例えばあって欲しいと思うなら

Eastlake, et al.            Standards Track                    [Page 13]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[13ページ]。

                            N
        ( 0.5 + ( 0.5 * (2E)  ) )  <  0.5 + d.

N、(0.5 + (0.5 *(2E)))<0.5+d。

   Solving for N yields N > log(2d)/log(2E). (Note that 2E is less than
   1, so its log is negative.  Division by a negative number reverses
   the sense of an inequality.)

N利回りNのために、>ログ(2d)/ログ(2E)を解決します。 (ログが否定的であるように2Eが1未満であることに注意してください。 負数に従った事業部は不平等の意味を覆します。)

   The following table gives the length N of the string that must be
   sampled for various degrees of skew in order to come within 0.001 of
   a 50/50 distribution.

以下のテーブルは0.001の50/50分配に含まれて、様々な度の斜行のために抽出しなければならないNストリングを長さに与えます。

                +---------+--------+-------+
                | Prob(1) |    E   |    N  |
                +---------+--------+-------+
                |   0.5   |  0.00  |    1  |
                |   0.6   |  0.10  |    4  |
                |   0.7   |  0.20  |    7  |
                |   0.8   |  0.30  |   13  |
                |   0.9   |  0.40  |   28  |
                |   0.95  |  0.45  |   59  |
                |   0.99  |  0.49  |  308  |
                +---------+--------+-------+

+---------+--------+-------+ | Prob(1)| E| N| +---------+--------+-------+ | 0.5 | 0.00 | 1 | | 0.6 | 0.10 | 4 | | 0.7 | 0.20 | 7 | | 0.8 | 0.30 | 13 | | 0.9 | 0.40 | 28 | | 0.95 | 0.45 | 59 | | 0.99 | 0.49 | 308 | +---------+--------+-------+

   The last entry shows that even if the distribution is skewed 99% in
   favor of ones, the parity of a string of 308 samples will be within
   0.001 of a 50/50 distribution.  But, as we shall see in section 5.2,
   there are much stronger techniques that extract more of the available
   entropy.

最後のエントリーは、分配がものを支持して99%歪曲されていても、0.001の50/50分配の中に一連の308個のサンプルの同等があるのを示します。 しかし、私たちがセクション5.2で見るように、一層の有効なエントロピーを抽出するはるかに強いテクニックがあります。

4.2.  Using Transition Mappings to De-Skew

4.2. 反-歪曲する変遷マッピングを使用します。

   Another technique, originally due to von Neumann [VON_NEUMANN], is to
   examine a bit stream as a sequence of non-overlapping pairs.  One
   could then discard any 00 or 11 pairs found, interpret 01 as a 0 and
   10 as a 1.  Assume that the probability of a 1 is 0.5+E and that the
   probability of a 0 is 0.5-E, where E is the eccentricity of the
   source as described in the previous section.  Then the probability of
   each pair is shown in the following table:

別のテクニックは元々フォンノイマン[VON_ノイマン]のため非オーバーラッピング・ペアの系列として流れを少し調べることです。 次に、1つがどんな00も捨てることができましたか、または11組は、0としての01と1としての10を解釈するようにわかりました。 1の確率が0.5+Eであり、0の確率が0.5Eであると仮定してください。そこでは、Eが前項で説明されるようにソースの風変わりです。 次に、それぞれの組の確率は以下のテーブルに示されます:

            +------+-----------------------------------------+
            | pair |            probability                  |
            +------+-----------------------------------------+
            |  00  | (0.5 - E)^2          =  0.25 - E + E^2  |
            |  01  | (0.5 - E)*(0.5 + E)  =  0.25     - E^2  |
            |  10  | (0.5 + E)*(0.5 - E)  =  0.25     - E^2  |
            |  11  | (0.5 + E)^2          =  0.25 + E + E^2  |
            +------+-----------------------------------------+

+------+-----------------------------------------+ | 組| 確率| +------+-----------------------------------------+ | 00 | (0.5--E)^2 = 0.25--E+E^2| | 01 | (0.5--E)*(0.5+E) = 0.25、^2E| | 10 | (0.5+E)*(0.5--E) = 0.25、^2E| | 11 | (0.5+E)^2 = 0.25+E+E^2| +------+-----------------------------------------+

Eastlake, et al.            Standards Track                    [Page 14]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[14ページ]。

   This technique will completely eliminate any bias but requires an
   indeterminate number of input bits for any particular desired number
   of output bits.  The probability of any particular pair being
   discarded is 0.5 + 2E^2, so the expected number of input bits to
   produce X output bits is X/(0.25 - E^2).

このテクニックは、どんな特定の必要な数の出力ビットどんな偏見も完全に排除しますが、不確定数の入力ビットを必要とします。 捨てられているどんな特定の組の確率も0.5+2Eの^2であるので、X出力ビットを作り出す入力ビットの予想された数はX/です(0.25--E^2)。

   This technique assumes that the bits are from a stream where each bit
   has the same probability of being a 0 or 1 as any other bit in the
   stream and that bits are uncorrelated, i.e., that the bits come from
   identical independent distributions.  If alternate bits are from two
   correlated sources, for example, the above analysis breaks down.

このテクニックはビットが各ビットが流れでいかなる他のビットとしての0か1であるという同じ確率も持っているところで流れから来ていて、ビットが非相関であり、すなわち、ビットが同じ独立している配から来ると仮定します。 交互のビットが2つの関連ソースから来ているなら、例えば、上の分析が崩壊します。

   The above technique also provides another illustration of how a
   simple statistical analysis can mislead if one is not always on the
   lookout for patterns that could be exploited by an adversary.  If the
   algorithm were misread slightly so that overlapping successive bits
   pairs were used instead of non-overlapping pairs, the statistical
   analysis given would be the same.  However, instead of providing an
   unbiased, uncorrelated series of random 1s and 0s, it would produce a
   totally predictable sequence of exactly alternating 1s and 0s.

また、上のテクニックはいつも1が敵が利用できたパターンに目を光らせていないなら簡単な統計分析がどうミスリードすることができるかに関する別のイラストを提供します。 アルゴリズムがあるなら、わずかに誤読されて、したがって、連続したビットが対にするその重なることは非オーバーラッピング・ペアの代わりに使用されるだろうにて、与えられた統計分析は同じでしょう。 しかしながら、無作為の10つの不遍の非相関シリーズを提供することの代わりに、それはまさに1と0を交替する完全に予測できる系列を作成するでしょう。

4.3.  Using FFT to De-Skew

4.3. 反-歪曲する高速フーリエ変換を使用します。

   When real-world data consists of strongly correlated bits, it may
   still contain useful amounts of entropy.  This entropy can be
   extracted through various transforms, the most powerful of which are
   described in section 5.2 below.

実環境データが強く関連しているビットから成るとき、それはまだ役に立つ量のエントロピーを含んでいるかもしれません。 様々を通して変換で、最も強力な状態でこのエントロピーを抽出できます(下のセクション5.2で説明されます)。

   Using the Fourier transform of the data or its optimized variant, the
   FFT, is interesting primarily for theoretical reasons.  It can be
   shown that this technique will discard strong correlations.  If
   adequate data is processed and if remaining correlations decay,
   spectral lines that approach statistical independence and normally
   distributed randomness can be produced [BRILLINGER].

データのフーリエ変換を使用するか、その最適化された異形(FFT)が主として理論上の理由でおもしろいです。 このテクニックが強い相関関係を捨てるのを示すことができます。 適切なデータが処理されて、相関関係腐敗のままで残っているなら、統計的独立にアプローチするスペクトル線と通常、分配された偶発性は発生できます[BRILLINGER]。

4.4.  Using Compression to De-Skew

4.4. 反-歪曲する圧縮を使用します。

   Reversible compression techniques also provide a crude method of de-
   skewing a skewed bit stream.  This follows directly from the
   definition of reversible compression and the formula in Section 2 for
   the amount of information in a sequence.  Since the compression is
   reversible, the same amount of information must be present in the
   shorter output as was present in the longer input.  By the Shannon
   information equation, this is only possible if, on average, the
   probabilities of the different shorter sequences are more uniformly
   distributed than were the probabilities of the longer sequences.
   Therefore, the shorter sequences must be de-skewed relative to the
   input.

また、リバーシブルの圧縮のテクニックは反-歪曲されたビットストリームを歪曲する粗雑な方法を提供します。 これは次々に直接リバーシブルの圧縮の定義と情報量のためのセクション2の公式から続きます。 圧縮がリバーシブルであるので、同じ情報量は、より長い入力におけるプレゼントのように、より短い出力で存在していなければなりません。 単にシャノン情報方程式で、異なったより短い系列の確率が、より長い系列の確率より平均では、一様に分配されるなら、これは可能です。 したがって、入力に比例して反-より短い系列を歪曲しなければなりません。

Eastlake, et al.            Standards Track                    [Page 15]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[15ページ]。

   However, many compression techniques add a somewhat predictable
   preface to their output stream and may insert a similar sequence
   periodically in their output or otherwise introduce subtle patterns
   of their own.  They should be considered only rough techniques
   compared to those described in Section 5.2.  At a minimum, the
   beginning of the compressed sequence should be skipped and only later
   bits should used for applications requiring roughly-random bits.

いくらか予測できる序文をそれらの出力ストリームに追加します。しかしながら、多くの圧縮のテクニックが、定期的に同様の系列を彼らの出力に挿入するか、またはそうでなければ、それら自身の微妙なパターンに紹介するかもしれません。 セクション5.2で説明されたものと比べて、それらは荒いテクニックだけであると考えられるべきです。 最小限では、圧縮された系列の始まりはサボられるべきであり、アプリケーションに使用されて、後のビットだけは、およそ無作為のビットを必要としながら、サボられるべきです。

5.  Mixing

5. 混合

   What is the best overall strategy for obtaining unguessable random
   numbers in the absence of a strong, reliable hardware entropy source?
   It is to obtain input from a number of uncorrelated sources and to
   mix them with a strong mixing function.  Such a function will
   preserve the entropy present in any of the sources, even if other
   quantities being combined happen to be fixed or easily guessable (low
   entropy).  This approach may be advisable even with a good hardware
   source, as hardware can also fail.  However, this should be weighed
   against a possible increase in the chance of overall failure due to
   added software complexity.

強くて、頼もしいハードウェアエントロピーソースがないとき「蹄-可能」乱数を得るための最も良い総合的な戦略は何ですか? それは、多くの非相関ソースから入力を得て、強い混合機能に彼らを混ぜることになっています。 そのような機能はソースのいずれの現在のエントロピーを保存するでしょう、修理されている、または結合される他の量がたまたま容易に推測可能であってもさえ(低エントロピー)。 また、ハードウェアが失敗できて、このアプローチは良いハードウェアソースがあっても賢明であるかもしれません。 しかしながら、これは加えられたソフトウェアの複雑さのため総合的な失敗の機会の可能な増加に比較考量されるべきです。

   Once one has used good sources, such as some of those listed in
   Section 3, and mixed them as described in this section, one has a
   strong seed.  This can then be used to produce large quantities of
   cryptographically strong material as described in Sections 6 and 7.

1つがこのセクションで説明されるようにいったんセクション3に記載されたもののいくつかなどの良い源を使用して、彼らを混ぜると、1つには、強い種子があります。 これはその時、暗号で大量を生産するのにおいて使用されている場合があります。セクション6と7における説明されるとしての強い材料。

   A strong mixing function is one that combines inputs and produces an
   output in which each output bit is a different complex non-linear
   function of all the input bits.  On average, changing any input bit
   will change about half the output bits.  But because the relationship
   is complex and non-linear, no particular output bit is guaranteed to
   change when any particular input bit is changed.

強い混合機能は入力を結合して、それぞれの出力ビットがすべての入力ビットの異なった複雑な非線形の関数である出力を起こすものです。 平均的に、どんな入力ビット変化するも出力ビットの半分に関して変化するでしょう。 しかし、関係が複雑であって、非線形であるので、どんな特定の出力ビットも何か特定の入力ビットがいつ変えられるかを変えるために保証されません。

   Consider the problem of converting a stream of bits that is skewed
   towards 0 or 1 or which has a somewhat predictable pattern to a
   shorter stream which is more random, as discussed in Section 4.  This
   is simply another case where a strong mixing function is desired, to
   mix the input bits and produce a smaller number of output bits.  The
   technique given in Section 4.1, using the parity of a number of bits,
   is simply the result of successively XORing them.  This is examined
   as a trivial mixing function, immediately below.  Use of stronger
   mixing functions to extract more of the randomness in a stream of
   skewed bits is examined in Section 5.2.  See also [NASLUND].

0か1に向かって歪曲されているか、またはいくらか予測できるパターンをより短い流れに持っているビットの流れを変換するというより無作為の問題を考えてください、セクション4で議論するように。 これは単に強い混合機能が入力ビットを混ぜて、より少ない数の出力ビットを作り出すことが望まれている別のそうです。 セクション4.1で与えられていて、多くのビットの同等を使用して、単に相次ぐことの結果はXORingです。テクニック、それら。 これはすぐに以下での些細な混合機能として調べられます。 歪曲されたビットの流れで一層の偶発性を抽出するより強い混合機能の使用はセクション5.2で調べられます。 また、[ジーター]を見てください。

Eastlake, et al.            Standards Track                    [Page 16]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[16ページ]。

5.1.  A Trivial Mixing Function

5.1. 些細な混合機能

   For expository purposes we describe a trivial example for single bit
   inputs using the Exclusive Or (XOR) function.  This function is
   equivalent to addition without carry, as show in the table below.
   This is a degenerate case in which the one output bit always changes
   for a change in either input bit.  But, despite its simplicity, it
   provides a useful illustration.

解説の目的のために、私たちは、Exclusive Or(XOR)機能を使用することでただ一つの噛み付いている入力のための些細な例について説明します。 この機能は以下のテーブルのショーとして桁上げなしの加算に同等です。 これは1回の出力がどちらの入力ビットでも珍しくいつも変化に噛み付いた堕落したそうです。 しかし、簡単さにもかかわらず、それは役に立つイラストを提供します。

                +-----------+-----------+----------+
                |  input 1  |  input 2  |  output  |
                +-----------+-----------+----------+
                |     0     |     0     |     0    |
                |     0     |     1     |     1    |
                |     1     |     0     |     1    |
                |     1     |     1     |     0    |
                +-----------+-----------+----------+

+-----------+-----------+----------+ | 入力1| 入力2| 出力| +-----------+-----------+----------+ | 0 | 0 | 0 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 0 | +-----------+-----------+----------+

   If inputs 1 and 2 are uncorrelated and combined in this fashion, then
   the output will be an even better (less skewed) random bit than the
   inputs are.  If we assume an "eccentricity" E as defined in Section
   4.1 above, then the output eccentricity relates to the input
   eccentricity as follows:

入力1と2がこんなやり方で非相関であって結合されていると、出力は入力よりさらに良い(それほど歪曲されていません)の無作為のビットになるでしょう。 私たちが、セクション4.1で定義される「風変わり」Eが上であると思うなら、出力風変わりは以下の入力風変わりに関連します:

        E       = 2 * E        * E
         output        input 1    input 2

Eは2*E*E出力入力1入力2と等しいです。

   Since E is never greater than 1/2, the eccentricity is always
   improved, except in the case in which at least one input is a totally
   skewed constant.  This is illustrated in the following table, where
   the top and left side values are the two input eccentricities and the
   entries are the output eccentricity:

Eが決して1/2以上でないので、風変わりはいつも改良されます、少なくとも1つの入力が完全に歪曲された定数である場合を除いて。 これは先端と左側値が2人の入力風変わりである以下のテーブルで例証されます、そして、エントリーは出力風変わりです:

     +--------+--------+--------+--------+--------+--------+--------+
     |    E   |  0.00  |  0.10  |  0.20  |  0.30  |  0.40  |  0.50  |
     +--------+--------+--------+--------+--------+--------+--------+
     |  0.00  |  0.00  |  0.00  |  0.00  |  0.00  |  0.00  |  0.00  |
     |  0.10  |  0.00  |  0.02  |  0.04  |  0.06  |  0.08  |  0.10  |
     |  0.20  |  0.00  |  0.04  |  0.08  |  0.12  |  0.16  |  0.20  |
     |  0.30  |  0.00  |  0.06  |  0.12  |  0.18  |  0.24  |  0.30  |
     |  0.40  |  0.00  |  0.08  |  0.16  |  0.24  |  0.32  |  0.40  |
     |  0.50  |  0.00  |  0.10  |  0.20  |  0.30  |  0.40  |  0.50  |
     +--------+--------+--------+--------+--------+--------+--------+

+--------+--------+--------+--------+--------+--------+--------+ | E| 0.00 | 0.10 | 0.20 | 0.30 | 0.40 | 0.50 | +--------+--------+--------+--------+--------+--------+--------+ | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | | 0.10 | 0.00 | 0.02 | 0.04 | 0.06 | 0.08 | 0.10 | | 0.20 | 0.00 | 0.04 | 0.08 | 0.12 | 0.16 | 0.20 | | 0.30 | 0.00 | 0.06 | 0.12 | 0.18 | 0.24 | 0.30 | | 0.40 | 0.00 | 0.08 | 0.16 | 0.24 | 0.32 | 0.40 | | 0.50 | 0.00 | 0.10 | 0.20 | 0.30 | 0.40 | 0.50 | +--------+--------+--------+--------+--------+--------+--------+

   However, note that the above calculations assume that the inputs are
   not correlated.  If the inputs were, say, the parity of the number of
   minutes from midnight on two clocks accurate to a few seconds, then
   each might appear random if sampled at random intervals much longer

しかしながら、上の計算が、入力が関連されていないと仮定することに注意してください。 たとえば、入力が数秒に正確な2個の時計における真夜中からの数分の数の同等であるなら、間隔長い間はるかに無作為に抽出されるなら、それぞれが無作為に見えるでしょうに。

Eastlake, et al.            Standards Track                    [Page 17]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[17ページ]。

   than a minute.  Yet if they were both sampled and combined with XOR,
   the result would be zero most of the time.

1分より。 しかし、それらが抽出されて、XORに結合されるなら、たいてい結果はゼロでしょうに。

5.2.  Stronger Mixing Functions

5.2. より強い混合機能

   The US Government Advanced Encryption Standard [AES] is an example of
   a strong mixing function for multiple bit quantities.  It takes up to
   384 bits of input (128 bits of "data" and 256 bits of "key") and
   produces 128 bits of output, each of which is dependent on a complex
   non-linear function of all input bits.  Other encryption functions
   with this characteristic, such as [DES], can also be used by
   considering them to mix all of their key and data input bits.

米国政府エー・イー・エス[AES]は複数の噛み付いている量のための強い混合機能に関する例です。 それは、最大384ビットの入力(128ビットの「データ」と「キー」の256ビット)を取って、出力の128ビットを作り出します。それはそれぞれすべての入力ビットの複雑な非線形の関数に依存しています。 また、彼らが彼らのキーとデータの入力ビットのすべてを混ぜると考えることによって、[DES]などのこの特性がある他の暗号化機能を使用できます。

   Another good family of mixing functions is the "message digest" or
   hashing functions such as the US Government Secure Hash Standards
   [SHA*] and the MD4, MD5 [MD4, MD5] series.  These functions all take
   a practically unlimited amount of input and produce a relatively
   short fixed-length output mixing all the input bits.  The MD* series
   produces 128 bits of output, SHA-1 produces 160 bits, and other SHA
   functions produce up to 512 bits.

混合機能の別の良家は、「メッセージダイジェスト」か米国政府Secure Hash Standards[SHA*]やMD4(MD5[MD4、MD5]シリーズ)などの機能を論じ尽くすことです。 これらの機能は、実際に無制限な量の入力をすべて取って、比較的短い固定長出力混合をすべての入力ビット生産します。 MD*シリーズは出力の128ビットを作り出します、そして、SHA-1は160ビットを作り出します、そして、他のSHA機能は最大512ビットを作り出します。

   Although the message digest functions are designed for variable
   amounts of input, AES and other encryption functions can also be used
   to combine any number of inputs.  If 128 bits of output is adequate,
   the inputs can be packed into a 128-bit data quantity and successive
   AES "keys", padding with zeros if needed; the quantity is then
   successively encrypted by the "keys" using AES in Electronic Codebook
   Mode.  Alternatively, the input could be packed into one 128-bit key
   and multiple data blocks and a CBC-MAC could be calculated [MODES].

メッセージダイジェスト関数は可変量の入力のために設計されていますが、また、どんな入力点数も結合するのにAESと他の暗号化機能を使用できます。 出力の128ビットが適切であるなら、128ビットのデータ量と連続したAES「キー」に入力に詰め込むことができます、必要であるならゼロでそっと歩いて。 そして、量は、相次ぐ「キー」によってElectronic Codebook ModeでAESを使用することでコード化されます。 あるいはまた、1個の128ビットのキーに入力に詰め込むことができました、そして、複数のデータ・ブロックとCBC-MACについて計算できました[MODES]。

   More complex mixing should be used if more than 128 bits of output
   are needed and one wants to employ AES (but note that it is
   absolutely impossible to get more bits of "randomness" out than are
   put in).  For example, suppose that inputs are packed into three
   quantities, A, B, and C.  One may use AES to encrypt A with B and
   then with C as keys to produce the first part of the output, then
   encrypt B with C and then A for more output and, if necessary,
   encrypt C with A and then B for yet more output.  Still more output
   can be produced by reversing the order of the keys given above.  The
   same can be done with the hash functions, hashing various subsets of
   the input data or different copies of the input data with different
   prefixes and/or suffixes to produce multiple outputs.

出力の128ビット以上が必要であり、人がAESを使いたいなら(「偶発性」の、より多くのビットを出すのが入れられるより絶対に不可能であることに注意してください)、より複雑な混合は使用されるべきです。 例えば、入力は3つの量に詰め込まれます、A、B、C.Oneが出力の最初の部分を生産するためにBとそして、Cと共にキーとしてAをコード化するのにAESを使用するかもしれないと仮定してください、そして、次に、より多くの出力のためにCと次に、Aと共にBをコード化してください、そして、必要なら、まだより多くの出力のためのAと次に、Bと共にCをコード化してください。 上に与えられたキーの注文を逆にすることによって、まだより多くの出力を起こすことができます。 ハッシュ関数で同じくらいができます、複数の出力を起こすために異なった接頭語、そして/または、接尾語で入力データの様々な部分集合か入力データの異なったコピーを論じ尽くして。

   For an example of using a strong mixing function, reconsider the case
   of a string of 308 bits, each of which is biased 99% toward zero.
   The parity technique given in Section 4.1 reduces this to one bit,
   with only a 1/1000 deviance from being equally likely a zero or one.
   But, applying the equation for information given in Section 2, this

強い混合機能を使用する例に関しては、一連の308ビットのケースを再考してください。それはそれぞれゼロに向かって99%偏られます。 セクション4.1で与えられたパリティのテクニックはこれを等しくありそうであるのからの1/1000逸脱だけによる1ビット、ゼロまたは1つまで減少させます。 しかし、これセクション2で与えられた情報のために方程式を適用して、

Eastlake, et al.            Standards Track                    [Page 18]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[18ページ]。

   308-bit skewed sequence contains over 5 bits of information.  Thus,
   hashing it with SHA-1 and taking the bottom 5 bits of the result
   would yield 5 unbiased random bits and not the single bit given by
   calculating the parity of the string.  Alternatively, for some
   applications, you could use the entire hash output to retain almost
   all of the 5+ bits of entropy in a 160-bit quantity.

308ビットの歪曲された系列は5ビット以上の情報を含んでいます。 したがって、SHA-1と共にそれを論じ尽くして、結果の5ビットの下部を取ると、ストリングの同等は計算することによって与えられた単一のビットではなく、不遍の無作為の5ビットもたらされるでしょう。 あるいはまた、いくつかのアプリケーションのためのあなたは、160ビットの量にエントロピーの5+ビットのほとんどすべてを保有するのに全体の細切れ肉料理出力を使用できました。

5.3.  Using S-Boxes for Mixing

5.3. 混合にS-箱を使用します。

   Many modern block encryption functions, including DES and AES,
   incorporate modules known as S-Boxes (substitution boxes).  These
   produce a smaller number of outputs from a larger number of inputs
   through a complex non-linear mixing function that has the effect of
   concentrating limited entropy from the inputs into the output.

多くの現代のブロック暗号化の機能、DESを含んで、およびAESはS-箱(代替箱)として知られているモジュールを取り入れます。 これらは、より多くの入力から複雑な非線形の限られたエントロピーを入力から出力に集結するという効果を持っている混合機能まで、より少ない数の出力を起こします。

   S-Boxes sometimes incorporate bent Boolean functions (functions of an
   even number of bits producing one output bit with maximum non-
   linearity).  Looking at the output for all input pairs differing in
   any particular bit position, exactly half the outputs are different.
   An S-Box in which each output bit is produced by a bent function such
   that any linear combination of these functions is also a bent
   function is called a "perfect S-Box".

S-箱は時々曲がったブール関数(ビットの偶数が最大の非直線形がある1出力ビットを作り出す機能)を取り入れます。 どんな特定のビット位置でも異なるすべての入力組のために出力を見て、ちょうど出力の半分が異なっています。 それぞれの出力ビットがまた、これらの機能のどんな一次結合も曲がった機能であるように曲がった機能によって作り出されるS-箱は「完全なS-箱」と呼ばれます。

   S-boxes and various repeated applications or cascades of such boxes
   can be used for mixing [SBOX1, SBOX2].

混合[SBOX1、SBOX2]にそのような箱のS-箱と様々な繰り返されたアプリケーションか滝を使用できます。

5.4.  Diffie-Hellman as a Mixing Function

5.4. 混合機能としてのディフィー-ヘルマン

   Diffie-Hellman exponential key exchange is a technique that yields a
   shared secret between two parties.  It can be computationally
   infeasible for a third party to determine this secret even if they
   can observe all the messages between the two communicating parties.
   This shared secret is a mixture of initial quantities generated by
   each of the parties [D-H].

ディフィー-ヘルマンの指数の主要な交換は2回のパーティーの間の共有秘密キーをもたらすテクニックです。 彼らが、2つの間のすべてのメッセージがパーティーを伝えているのを観測できても、第三者がこの秘密を決定するのは、計算上実行不可能である場合があります。 この共有秘密キーは各当事者[D-H]で発生する初期量の混合物です。

   If these initial quantities are random and uncorrelated, then the
   shared secret combines their entropy but, of course, can not produce
   more randomness than the size of the shared secret generated.

これらの初期量が無作為であって、次に、非相関、それらのエントロピーの共有秘密キーコンバインですが、もちろん共有秘密キーのサイズを発生させたより多くの偶発性を生産できないなら。

   Although this is true if the Diffie-Hellman computation is performed
   privately, an adversary who can observe either of the public keys and
   knows the modulus being used need only search through the space of
   the other secret key in order to be able to calculate the shared
   secret [D-H].  So, conservatively, it would be best to consider
   public Diffie-Hellman to produce a quantity whose guessability
   corresponds to the worse of the two inputs.  Because of this and the
   fact that Diffie-Hellman is computationally intensive, its use as a
   mixing function is not recommended.

ディフィー-ヘルマンの計算が個人的に実行されるなら、これは本当ですが、公開鍵のどちらかを観測できて、使用される係数を知っている敵は、共有秘密キー[D-H]について計算できるようにもう片方の秘密鍵のスペースを隅々まで捜すだけでよいです。 そのように、そして、保守的に、公共のディフィー-ヘルマンがguessabilityが2つの入力について、より悪く対応する量を生産すると考えるのは最も良いでしょう。 これとディフィー-ヘルマンが計算上徹底的であるという事実のために、混合機能としての使用は推薦されません。

Eastlake, et al.            Standards Track                    [Page 19]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[19ページ]。

5.5.  Using a Mixing Function to Stretch Random Bits

5.5. 混合機能を伸び無作為のビットまで使用します。

   Although it is not necessary for a mixing function to produce the
   same or fewer output bits than its inputs, mixing bits cannot
   "stretch" the amount of random unpredictability present in the
   inputs.  Thus, four inputs of 32 bits each, in which there are 12
   bits worth of unpredictability (such as 4,096 equally probable
   values) in each input, cannot produce more than 48 bits worth of
   unpredictable output.  The output can be expanded to hundreds or
   thousands of bits by, for example, mixing with successive integers,
   but the clever adversary's search space is still 2^48 possibilities.
   Furthermore, mixing to fewer bits than are input will tend to
   strengthen the randomness of the output.

混合機能が入力より同じであるか少ない出力ビットを作り出すのは必要ではありませんが、混合ビットは入力の現在の無作為の予測不可能性の量を「伸ばすことができません」。 したがって、それぞれ32ビットの4つの入力は予測できない出力の価値を48ビット以上生産できません。(そこには、各入力に予測不可能性(4,096の等しくありえそうな値などの)において価値がある12ビットがあります)。 例えば、連続した整数を混ぜることによって、数百か何千ビットにも出力を広げることができますが、それでも、賢い敵の検索スペースは2つの^48の可能性です。 その上、入力であるより少ないビットに混合するのは、出力の偶発性を強化する傾向があるでしょう。

   The last table in Section 5.1 shows that mixing a random bit with a
   constant bit with Exclusive Or will produce a random bit.  While this
   is true, it does not provide a way to "stretch" one random bit into
   more than one.  If, for example, a random bit is mixed with a 0 and
   then with a 1, this produces a two bit sequence but it will always be
   either 01 or 10.  Since there are only two possible values, there is
   still only the one bit of original randomness.

セクション5.1における最後のテーブルは、Exclusive Orと共に無作為のビットを一定のビットに混ぜると無作為のビットが作り出されるのを示します。 これが本当である間、それは1つ以上に無作為の1ビット「伸びる」方法を提供しません。 例えば、無作為のビットが0とそして、1に複雑であるなら、これは2ビットの系列を作成しますが、それは、いつも01か10になるでしょう。 2つの可能な値しかないので、オリジナルの偶発性の1ビットしかまだありません。

5.6.  Other Factors in Choosing a Mixing Function

5.6. 混合機能を選ぶ他の要素

   For local use, AES has the advantages that it has been widely tested
   for flaws, is reasonably efficient in software, and is widely
   documented and implemented with hardware and software implementations
   available all over the world including open source code.  The SHA*
   family have had a little less study and tend to require more CPU
   cycles than AES but there is no reason to believe they are flawed.
   Both SHA* and MD5 were derived from the earlier MD4 algorithm.  They
   all have source code available [SHA*, MD4, MD5].  Some signs of
   weakness have been found in MD4 and MD5.  In particular, MD4 has only
   three rounds and there are several independent breaks of the first
   two or last two rounds.  And some collisions have been found in MD5
   output.

地方の使用のために、欠点がないかどうかテストされて、それが広くそうである利点を持って、ソフトウェアでかなり効率的であり、ハードウェアで記録されて、実行されて、AESは広く効率的であり、世界中で入手できているソフトウェア実行はオープンソースコードを含んでいることです。 SHA*家族は、もう少しの研究を持って、AESより多くのCPUサイクルを必要とする傾向がありますが、彼らが失敗すると信じる理由が全くありません。 以前のMD4アルゴリズムからSHA*とMD5の両方を得ました。 彼らには皆、利用可能なソースコード[SHA*、MD4、MD5]があります。 弱点のいくつかのサインがMD4とMD5で見つけられました。 特に、MD4は3だけより家に迎えます、そして、最初の2か最後の2ラウンドのいくつかの独立している中断があります。 そして、いくつかの衝突がMD5出力で見つけられました。

   AES was selected by a robust, public, and international process.  It
   and SHA* have been vouched for by the US National Security Agency
   (NSA) on the basis of criteria that mostly remain secret, as was DES.
   While this has been the cause of much speculation and doubt,
   investigation of DES over the years has indicated that NSA
   involvement in modifications to its design, which originated with
   IBM, was primarily to strengthen it.  There has been no announcement
   of a concealed or special weakness being found in DES.  It is likely
   that the NSA modifications to MD4 to produce the SHA algorithms
   similarly strengthened these algorithms, possibly against threats not
   yet known in the public cryptographic community.

AESは強健で、公共の、そして、国際的な過程によって選択されました。 それとSHA*は秘密のままでほとんど残っている評価基準に基づいて米国国家安全保障局(NSA)によって保証されました、DESのように。 これは多くの思惑と疑問の原因ですが、数年間のDESの調査は、IBMの発案であったデザインへの変更におけるNSAかかわり合いが主としてそれを強化することであったのを示しました。 DESで見つけられる隠されたか特別な弱点の発表が全くありませんでした。 同様にSHAアルゴリズムを作成するMD4へのNSA変更はこれらのアルゴリズムを強化しそうでした、ことによると公立の暗号の共同体でまだ知られていなかった脅威に対して。

Eastlake, et al.            Standards Track                    [Page 20]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[20ページ]。

   Where input lengths are unpredictable, hash algorithms are more
   convenient to use than block encryption algorithms since they are
   generally designed to accept variable length inputs.  Block
   encryption algorithms generally require an additional padding
   algorithm to accommodate inputs that are not an even multiple of the
   block size.

入力の長さが予測できないところでは、細切れ肉料理アルゴリズムは、使用するのにそれらが可変長入力を受け入れるように一般に設計されているので暗号化アルゴリズムを妨げるより便利です。 一般に、ブロック暗号化アルゴリズムは、ブロック・サイズの同等の倍数でない入力を収容するために追加詰め物アルゴリズムを必要とします。

   As of the time of this document, the authors know of no patent claims
   to the basic AES, DES, SHA*, MD4, and MD5 algorithms other than
   patents for which an irrevocable royalty free license has been
   granted to the world.  There may, of course, be essential patents of
   which the authors are unaware or patents on implementations or uses
   or other relevant patents issued or to be issued.

このドキュメントの時現在、作者は基本的なAES、DES、SHA*、MD4、および呼び戻せないロイヤルティフリーなライセンスが世界に与えられた特許以外のMD5アルゴリズムに特許請求の範囲を全く知りません。 または、作者が気づかないか、または実現か用途での特許か他の関連特許が発行されている必須特許がもちろんあるかもしれない、発行されるために。

6.  Pseudo-random Number Generators

6. 疑似乱数生成器

   When a seed has sufficient entropy, from input as described in
   Section 3 and possibly de-skewed and mixed as described in Sections 4
   and 5, one can algorithmically extend that seed to produce a large
   number of cryptographically-strong random quantities.  Such
   algorithms are platform independent and can operate in the same
   fashion on any computer.  For the algorithms to be secure, their
   input and internal workings must be protected from adversarial
   observation.

種子にはセクション3で説明されて、ことによると反-歪曲されていて、セクション4で説明されるように複雑である入力からの十分なエントロピーがあって、5、ものが多くの暗号で強い無作為の量を生産するためにalgorithmicallyにその種子を広げることができるなら。 そのようなアルゴリズムは、プラットホーム独立者であり、同じファッションでどんなコンピュータも動作させることができます。 アルゴリズムが安全であるように、敵の観測から彼らの入力と内部の作業を保護しなければなりません。

   The design of such pseudo-random number generation algorithms, like
   the design of symmetric encryption algorithms, is not a task for
   amateurs.  Section 6.1 below lists a number of bad ideas that failed
   algorithms have used.  To learn what works, skip Section 6.1 and just
   read the remainder of this section and Section 7, which describes and
   references some standard pseudo random number generation algorithms.
   See Section 7 and Part 3 of [X9.82].

左右対称の暗号化アルゴリズムのデザインのように、そのような擬似乱数世代アルゴリズムのデザインはアマチュアへのタスクではありません。 以下のセクション6.1は失敗したアルゴリズムが使用した多くの悪い考えを記載します。 働いていることを学んで、セクション6.1をスキップして、ただこのセクションとセクション7(アルゴリズムに説明して、何らかの標準の擬似乱数世代参照をつけるもの)の残りを読むには、[X9.82]のセクション7とPart3を見てください。

6.1.  Some Bad Ideas

6.1. いくつかの悪い考え

   The subsections below describe a number of ideas that might seem
   reasonable but that lead to insecure pseudo-random number generation.

以下の小区分は妥当に思えるかもしれませんが、不安定な擬似乱数世代につながる多くの考えについて説明します。

6.1.1.  The Fallacy of Complex Manipulation

6.1.1. 複雑な操作の誤り

   One approach that may give a misleading appearance of
   unpredictability is to take a very complex algorithm (or an excellent
   traditional pseudo-random number generator with good statistical
   properties) and to calculate a cryptographic key by starting with
   limited data such as the computer system clock value as the seed.
   Adversaries who knew roughly when the generator was started would
   have a relatively small number of seed values to test, as they would
   know likely values of the system clock.  Large numbers of pseudo-

予測不可能性の紛らわしい外観を与えるかもしれない1つのアプローチは、非常に複雑なアルゴリズム(または、良い統計的な特性がある素晴らしい伝統的な疑似乱数生成器)を取って、種子としてのコンピュータ・システム時計価値などの限られたデータから始まることによって暗号化キーについて計算することです。 ジェネレータがいつ出発したかをおよそ知っていた敵がテストする比較的少ない数の種子値を持っているでしょう、彼らがシステムクロックのありそうな値を知っているように。 多くの擬

Eastlake, et al.            Standards Track                    [Page 21]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[21ページ]。

   random bits could be generated, but the search space that an
   adversary would need to check could be quite small.

無作為のビットを発生させることができましたが、敵がチェックする必要があるだろう検索スペースはかなり小さいかもしれません。

   Thus, very strong or complex manipulation of data will not help if
   the adversary can learn what the manipulation is and if there is not
   enough entropy in the starting seed value.  They can usually use the
   limited number of results stemming from a limited number of seed
   values to defeat security.

したがって、敵が操作が何であるか、そして、始めの種子値で十分なエントロピーがないかを学ぶことができると、データの非常に強いか複雑な操作は助けないでしょう。 通常、彼らは、セキュリティを破るのに限られた数の種子値による結果の限られた数を使用できます。

   Another serious strategic error is to assume that a very complex
   pseudo-random number generation algorithm will produce strong random
   numbers, when there has been no theory behind or analysis of the
   algorithm.  There is a excellent example of this fallacy near the
   beginning of Chapter 3 in [KNUTH], where the author describes a
   complex algorithm.  It was intended that the machine language program
   corresponding to the algorithm would be so complicated that a person
   trying to read the code without comments wouldn't know what the
   program was doing.  Unfortunately, actual use of this algorithm
   showed that it almost immediately converged to a single repeated
   value in one case and a small cycle of values in another case.

別の重大な戦略の誤りは非常に複雑な擬似乱数世代アルゴリズムが強い乱数を作成すると仮定することです、アルゴリズムのどんな理論も分析もなかったとき。 この誤りに関する好例が第3章の始まり頃に[クヌース]にあります。そこで、作者は複雑なアルゴリズムを説明します。 アルゴリズムに対応する機械語プログラムはとても複雑でしょう、したがって、コメントなしでコードを読もうとする人がプログラムが何をしているかを知らないことを意図しました。 残念ながら、このアルゴリズムの実際の使用は、それがほぼすぐにある場合におけるただ一つの繰り返された値と別の場合における、値の小さいサイクルまで一点に集まったのを示しました。

   Not only does complex manipulation not help you if you have a limited
   range of seeds, but blindly-chosen complex manipulation can destroy
   the entropy in a good seed!

限られた範囲の種子がありましたら複雑な操作はあなたを助けるだけではなく、盲目的に選ばれた複雑な操作が良い種子におけるエントロピーを破壊できます!

6.1.2.  The Fallacy of Selection from a Large Database

6.1.2. 大容量データベースからの選択の誤り

   Another approach that can give a misleading appearance of
   unpredictability is to randomly select a quantity from a database and
   to assume that its strength is related to the total number of bits in
   the database.  For example, typical USENET servers process many
   megabytes of information per day [USENET_1, USENET_2].  Assume that a
   random quantity was selected by fetching 32 bytes of data from a
   random starting point in this data.  This does not yield 32*8 = 256
   bits worth of unguessability.  Even if much of the data is human
   language that contains no more than 2 or 3 bits of information per
   byte, it doesn't yield 32*2 = 64 bits of unguessability.  For an
   adversary with access to the same Usenet database, the unguessability
   rests only on the starting point of the selection.  That is perhaps a
   little over a couple of dozen bits of unguessability.

予測不可能性の紛らわしい外観を与えることができる別のアプローチは、データベースから量を手当たりしだいに選択して、強さがデータベースのビットの総数に関連すると仮定することです。 例えば、典型的なUSENETサーバは情報の日[USENET_1、USENET_2]あたりのメガバイトに多くを処理します。 無作為の量が魅惑的な32バイトのデータによってこのデータにおける無作為の出発点から選択されたと仮定してください。 これはunguessabilityの価値を32*8 = 256ビットもたらしません。 それはデータの多くが1バイトあたりの2ビットか3ビット未満の情報を含む人間の言語であっても、32*をもたらしません。unguessabilityの2 = 64ビット。 同じUsenetデータベースへのアクセスの敵に関しては、unguessabilityは選択の出発点だけで静止しています。 それは恐らくunguessabilityの2、3 12ビットの上少しです。

   The same argument applies to selecting sequences from the data on a
   publicly available CD/DVD recording or any other large public
   database.  If the adversary has access to the same database, this
   "selection from a large volume of data" step buys little.  However,
   if a selection can be made from data to which the adversary has no
   access, such as system buffers on an active multi-user system, it may
   be of help.

同じ議論は公的に利用可能なCD/DVD録音かいかなる他の大きい公共のデータベースに関するデータからもセレクティングシーケンスに適用されます。 敵が同じデータベースに近づく手段を持っているなら、この「多くのデータからの選択」ステップは少ししか買いません。 しかしながら、敵がアクセスを全く持っていないアクティブなマルチユーザーシステムの上のシステムバッファなどのデータから選択をすることができるなら、役に立つかもしれません。

Eastlake, et al.            Standards Track                    [Page 22]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[22ページ]。

6.1.3.  Traditional Pseudo-random Sequences

6.1.3. 伝統的な擬似ランダム系列

   This section talks about traditional sources of deterministic or
   "pseudo-random" numbers.  These typically start with a "seed"
   quantity and use simple numeric or logical operations to produce a
   sequence of values.  Note that none of the techniques discussed in
   this section is suitable for cryptographic use.  They are presented
   for general information.

このセクションは決定論か「擬似ランダム」番号の伝統的な源に関して話します。 これらは、「種子」量から通常始まって、値の系列を作成するのに簡単な数値か論理演算を使用します。 このセクションで議論したテクニックのいずれも暗号の使用に適していないことに注意してください。 それらは一般情報のために提示されます。

   [KNUTH] has a classic exposition on pseudo-random numbers.
   Applications he mentions are simulations of natural phenomena,
   sampling, numerical analysis, testing computer programs, decision
   making, and games.  None of these have the same characteristics as
   the sorts of security uses we are talking about.  Only in the last
   two could there be an adversary trying to find the random quantity.
   However, in these cases, the adversary normally has only a single
   chance to use a guessed value.  In guessing passwords or attempting
   to break an encryption scheme, the adversary normally has many,
   perhaps unlimited, chances at guessing the correct value.  Sometimes
   the adversary can store the message to be broken and repeatedly
   attack it.  Adversaries are also be assumed to be aided by a
   computer.

[クヌース]は擬似乱数で古典的な博覧会を開きます。 彼が参照するアプリケーションは自然現象、標本抽出、数値解析、コンピュータ・プログラムを検査する、意志決定、およびゲームのシミュレーションです。 これらのいずれにはも、私たちが話しているセキュリティ用途の種類と同じ特性がありません。 最後の2だけには、無作為の量を見つけようとする敵がいるかもしれません。 しかしながら、これらの場合では、通常、敵は推測された値を使用するただ一つの機会しか持っていません。 パスワードを推測するか、または暗号化計画を壊すのを試みる際に、通常、敵は正しい値を推測する多くて、恐らく無制限な機会を持っています。 時々、敵は壊れて、繰り返してそれを攻撃するメッセージを格納できます。 敵はそうです、また、コンピュータによって支援されると思われてください。

   For testing the "randomness" of numbers, Knuth suggests a variety of
   measures, including statistical and spectral.  These tests check
   things like autocorrelation between different parts of a "random"
   sequence or distribution of its values.  But these tests could be met
   by a constant stored random sequence, such as the "random" sequence
   printed in the CRC Standard Mathematical Tables [CRC].  Despite
   meeting all the tests suggested by Knuth, that sequence is unsuitable
   for cryptographic us, as adversaries must be assumed to have copies
   of all commonly published "random" sequences and to be able to spot
   the source and predict future values.

数の「偶発性」をテストするために、クヌースは統計的であって、スペクトルであることの形でさまざまな測定、包含を勧めます。 これらのテストは「無作為」の系列の異なった部分か値の分配の間の自己相関のようなものをチェックします。 しかし、一定の格納されたランダム・シーケンスでこれらのテストを迎えることができました、CRC Standard Mathematical Tables[CRC]に印刷された「無作為」の系列などのように。 クヌースによって提案されたすべてのテストに対応しますが、暗号の私たちにとって、その系列は不適当です、すべての一般的に発行された「無作為」の系列のコピーを持って、ソースを見つけて、将来価値を予測できると敵を思わなければならないとき。

   A typical pseudo-random number generation technique is the linear
   congruence pseudo-random number generator.  This technique uses
   modular arithmetic, where the value numbered N+1 is calculated from
   the value numbered N by

典型的な擬似乱数世代のテクニックは直線的な適合疑似乱数生成器です。 このテクニックは値番号付のN+1が値番号付のNから計算されるところのそばで合同算術を使用します。

        V    = ( V  * a + b )(Mod c)
         N+1      N

V=(*に対して+b)(モッズc)N+1N

   The above technique has a strong relationship to linear shift
   register pseudo-random number generators, which are well understood
   cryptographically [SHIFT*].  In such generators, bits are introduced
   at one end of a shift register as the Exclusive Or (binary sum
   without carry) of bits from selected fixed taps into the register.
   For example, consider the following:

上のテクニックには、直線的なシフトレジスタ疑似乱数生成器[SHIFT*]との強い関係があります。(疑似乱数生成器はよく暗号で理解されています)。 そのようなジェネレータでは、ビットはビットのExclusive Or(キャリーのない2進の合計)としてシフトレジスタの片端で選択された固定消灯ラッパからレジスタに取り入れられます。 例えば、以下を考えてください:

Eastlake, et al.            Standards Track                    [Page 23]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[23ページ]。

      +----+     +----+     +----+                      +----+
      | B  | <-- | B  | <-- | B  | <--  . . . . . . <-- | B  | <-+
      |  0 |     |  1 |     |  2 |                      |  n |   |
      +----+     +----+     +----+                      +----+   |
        |                     |            |                     |
        |                     |            V                  +-----+
        |                     V            +----------------> |     |
        V                     +-----------------------------> | XOR |
        +---------------------------------------------------> |     |
                                                              +-----+

+----+ +----+ +----+ +----+ | B| <--、| B| <--、| B| <-- . . . . . . <--、| B| <。+ | 0 | | 1 | | 2 | | n| | +----+ +----+ +----+ +----+ | | | | | | | +に対して-----+ | +に対して---------------->|、| +に対して----------------------------->| XOR| +--------------------------------------------------->|、| +-----+

       V    = ( ( V  * 2 ) + B  XOR  B ... )(Mod 2^n)
        N+1         N         0       2

V=((V*2)+B XOR B…)(モッズ2^n)N+1N0 2

   The quality of traditional pseudo-random number generator algorithms
   is measured by statistical tests on such sequences.  Carefully-chosen
   values a, b, c, and initial V or carefully-chosen placement of the
   shift register tap in the above simple process can produce excellent
   statistics.

伝統的な疑似乱数生成器アルゴリズムの品質はそのような系列の統計的検査法で測定されます。 上の簡単な過程における、シフトレジスタ蛇口の慎重に選ばれた値a、b、c、および初期のVか慎重に選ばれたプレースメントが素晴らしい統計を作成できます。

   These sequences may be adequate in simulations (Monte Carlo
   experiments) as long as the sequence is orthogonal to the structure
   of the space being explored.  Even there, subtle patterns may cause
   problems.  However, such sequences are clearly bad for use in
   security applications.  They are fully predictable if the initial
   state is known.  Depending on the form of the pseudo-random number
   generator, the sequence may be determinable from observation of a
   short portion of the sequence [SCHNEIER, STERN].  For example, with
   the generators above, one can determine V(n+1) given knowledge of
   V(n).  In fact, it has been shown that with these techniques, even if
   only one bit of the pseudo-random values are released, the seed can
   be determined from short sequences.

探検されるスペースの構造と直交している限り、これらの系列はシミュレーション(モンテカルロ実験)で適切であるかもしれません。 そこでさえ、微妙なパターンは問題を起こすかもしれません。しかしながら、セキュリティアプリケーションにおける使用には、そのような系列は明確に悪いです。 初期状態が知られているなら、それらは完全に予測できます。 疑似乱数生成器のフォームによって、系列は系列[シュナイアー、スターン]の短い部分の観測によって決定できるかもしれません。 例えば、V(n)に関する知識を考えて、ジェネレータが上であるなら、人はV(n+1)を決定できます。 事実上、擬似ランダムでは、値が1ビットだけリリースされても、これらのテクニックで、種子が短い系列から決定できるのが示されました。

   Not only have linear congruent generators been broken, but techniques
   are now known for breaking all polynomial congruent generators
   [KRAWCZYK].

直線的な一致しているジェネレータが壊れていただけではなく、テクニックは、すべての多項式の一致しているジェネレータ[KRAWCZYK]を壊すので、今、知られています。

6.2.  Cryptographically Strong Sequences

6.2. 暗号で、強い系列

   In cases where a series of random quantities must be generated, an
   adversary may learn some values in the sequence.  In general,
   adversaries should not be able to predict other values from the ones
   that they know.

一連の無作為の量が発生しなければならない場合では、敵は系列のいくつかの値を学ぶかもしれません。 一般に、敵は彼らが知っているものから他の値を予測できないべきです。

   The correct technique is to start with a strong random seed, to take
   cryptographically strong steps from that seed [FERGUSON, SCHNEIER],
   and not to reveal the complete state of the generator in the sequence
   elements.  If each value in the sequence can be calculated in a fixed

正しいテクニックは、強い無作為の種子から始めて、その種子[ファーガソン、シュナイアー]から強い方法を暗号で採って、系列要素でジェネレータの完全な状態を明らかにしないことです。 中で系列の各値について計算できるなら、aは修理されました。

Eastlake, et al.            Standards Track                    [Page 24]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[24ページ]。

   way from the previous value, then when any value is compromised, all
   future values can be determined.  This would be the case, for
   example, if each value were a constant function of the previously
   used values, even if the function were a very strong, non-invertible
   message digest function.

そして、ずっと前の値から、どんな値も妥協するとき、すべての将来価値が決定できます。 例えば、これは各値が以前中古の値の定数機能であるならそうでしょうに、機能が非常に強くて、非invertibleのメッセージダイジェスト関数であったとしても。

   (Note that if a technique for generating a sequence of key values is
   fast enough, it can trivially be used as the basis for a
   confidentiality system.  If two parties use the same sequence
   generation technique and start with the same seed material, they will
   generate identical sequences.  These could, for example, be XOR'ed at
   one end with data being sent to encrypt it, and XOR'ed with this data
   as received to decrypt it, due to the reversible properties of the
   XOR operation.  This is commonly referred to as a simple stream
   cipher.)

(テクニックがキー値の系列を発生させるように十分速いなら、秘密性システムの基礎としてそれを些細なことに使用できることに注意してください。 2回のパーティーが同じシーケンス生成のテクニックを使用して、同じ種子の材料から始まると、彼らは同じ系列を発生させるでしょう。 例えば、これらはそれを解読するために受け取るようにこのデータでそれ、およびXOR'edをコード化するためにデータを送る片端のXOR'edであるかもしれません、XOR操作のリバーシブルの特性のため。 これは一般的に簡単なストリーム暗号と呼ばれます。)

6.2.1.  OFB and CTR Sequences

6.2.1. OFBとCTR系列

   One way to produce a strong sequence is to take a seed value and hash
   the quantities produced by concatenating the seed with successive
   integers, or the like, and then to mask the values obtained so as to
   limit the amount of generator state available to the adversary.

強い系列を作成する1つの方法は、連続した整数、または同様のもので種子値を取って、種子を連結することによって生産された量を論じ尽くして、そして、敵にとって、利用可能なジェネレータ状態の量を制限するために得られた値にマスクをかけることです。

   It may also be possible to use an "encryption" algorithm with a
   random key and seed value to encrypt successive integers, as in
   counter (CTR) mode encryption.  Alternatively, one can feedback all
   of the output value from encryption into the value to be encrypted
   for the next iteration.  This is a particular example of output
   feedback mode (OFB) [MODES].

また、連続した整数をコード化するのにランダムキーと種子値がある「暗号化」アルゴリズムを使用するのも可能であるかもしれません、カウンタ(CTR)モード暗号化のように。 あるいはまた、1は出力のすべてが次の繰り返しのためにコード化されるために暗号化から値に評価するフィードバックをそうすることができます。 これは出力フィードバックモード(OFB)[MODES]の特定の例です。

   An example is shown below in which shifting and masking are used to
   combine part of the output feedback with part of the old input.  This
   type of partial feedback should be avoided for reasons described
   below.

どの移行とマスキングが出力フィードバックの一部を古い入力の一部に結合するのに使用されるかで例は以下に示されます。 このタイプの部分的なフィードバックは以下で説明された理由で避けられるべきです。

Eastlake, et al.            Standards Track                    [Page 25]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[25ページ]。

            +---------------+
            |       V       |
            |  |     n      |--+
            +--+------------+  |
                  |            |     +---------+
             shift|            +---> |         |      +-----+
               +--+                  | Encrypt | <--- | Key |
               |           +-------- |         |      +-----+
               |           |         +---------+
               V           V
            +------------+--+
            |      V     |  |
            |       n+1     |
            +---------------+

+---------------+ | V| | | n|--+ +--+------------+ | | | +---------+ シフト| +--->|、| +-----+ +--+ | コード化します。| <--、| キー| | +-------- | | +-----+ | | +---------+ +に対するV------------+--+ | V| | | n+1| +---------------+

   Note that if a shift of one is used, this is the same as the shift
   register technique described in Section 6.1.3, but with the all-
   important difference that the feedback is determined by a complex
   non-linear function of all bits rather than by a simple linear or
   polynomial combination of output from a few bit position taps.

1のシフトが使用されているなら、これがセクション6.1.3で説明されましたが、シフトレジスタのテクニックがフィードバックがそうであるオール重要な違いで説明されたのといくつかのビット位置消灯ラッパからの出力の直線的であるか多項式の簡単な組み合わせでというよりむしろすべてのビットの複雑な非線形の関数で断固としていた状態で同じであることに注意してください。

   Donald W. Davies showed that this sort of shifted partial output
   feedback significantly weakens an algorithm, compared to feeding all
   the output bits back as input.  In particular, for DES, repeatedly
   encrypting a full 64-bit quantity will give an expected repeat in
   about 2^63 iterations.  Feeding back anything less than 64 (and more
   than 0) bits will give an expected repeat in between 2^31 and 2^32
   iterations!

ドナルド・W.デイヴィースは、この種類の移行している部分的な出力フィードバックがアルゴリズムをかなり弱めるのを示しました、入力されるようにすべての出力ビット単位で前で食べると比べて。 DESのために繰り返して完全な64ビットの量を特にコード化すると、63繰り返しはおよそ2^での予想された反復に与えられるでしょう。 64(そして、0以上)ビット未満について何かをフィードバックすると、32繰り返しは2^31〜2^での予想された反復に与えられるでしょう!

   To predict values of a sequence from others when the sequence was
   generated by these techniques is equivalent to breaking the
   cryptosystem or to inverting the "non-invertible" hashing with only
   partial information available.  The less information revealed in each
   iteration, the harder it will be for an adversary to predict the
   sequence.  Thus it is best to use only one bit from each value.  It
   has been shown that in some cases this makes it impossible to break a
   system even when the cryptographic system is invertible and could be
   broken if all of each generated value were revealed.

系列がこれらのテクニックで発生したとき、他のものから系列の値を予測するのは暗号系を壊すこと、または、部分的な情報だけが利用可能な状態で「非invertible」の論じ尽くすことを逆にすることに同等です。 より少ない情報が各繰り返しで明らかにされて、それは敵が系列をより予測しにくいようになるでしょう。 したがって、各値から1ビットだけを使用するのは最も良いです。 そんなにいくつかの場合、これは暗号のシステムがinvertibleでさえあるときに、システムを壊すのを不可能にして、それぞれの発生している価値のすべてが明らかにされるなら壊すことができるのが示されました。

6.2.2.  The Blum Blum Shub Sequence Generator

6.2.2. ブルームブルームシューブ系列ジェネレータ

   Currently the generator which has the strongest public proof of
   strength is called the Blum Blum Shub generator, named after its
   inventors [BBS].  It is also very simple and is based on quadratic
   residues.  Its only disadvantage is that it is computationally
   intensive compared to the traditional techniques given in Section
   6.1.3.  This is not a major drawback if it is used for moderately-
   infrequent purposes, such as generating session keys.

現在の、強さの最も強い公共の証拠を持っているジェネレータは発明者[BBS]にちなんで名付けられたブルームブルームシューブジェネレータと呼ばれます。 それは、また、非常に簡単であり、平方剰余に基づいています。 唯一の不都合はセクション6.1.3で与えられた伝統的なテクニックと比べて、それが計算上徹底的であるということです。 それがセッションキーを発生などにさせることなどの適度に珍しい目的に使用されるなら、これは主要な欠点ではありません。

Eastlake, et al.            Standards Track                    [Page 26]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[26ページ]。

   Simply choose two large prime numbers (say, p and q) that each gives
   a remainder of 3 when divided by 4.  Let n = p * q.  Then choose a
   random number, x, that is relatively prime to n.  The initial seed
   for the generator and the method for calculating subsequent values
   are then:

単に、4によって分割されるとそれぞれが3の残りを与える2つの大きい素数(たとえば、pとq)を選んでください。 nをp*qとの等しさにしてください。 その時、乱数、nに比較的主要なxは選ばれます。 ジェネレータのための初期の種子とその後の値がそうであると見込むためのそして方法:

                    2
         s    =  ( x  )(Mod n)
          0

2秒間=(x)(モッズn)0

                    2
         s    = ( s   )(Mod n)
          i+1      i

2秒間は(s)(モッズn)i+1iと等しいです。

   Be careful to use only a few bits from the bottom of each s.  It is
   always safe to use only the lowest-order bit.  If one uses no more
   than the:

それぞれのsの下部からのほんの数ビットを使用するように注意してください。 最も少ないオーダービットだけを使用するのはいつも安全です。 1つがいいえをさらに使用する、:

         log  ( log  ( s  ) )
            2      2    i

(ログ(s))2 2iを登録してください。

   low-order bits, then predicting any additional bits from a sequence
   generated in this manner is provably as hard as factoring n.  As long
   as the initial x is secret, n can be made public if desired.

下位のビット、次に、この様に発生する系列からどんな追加ビットも予測するのは、証明可能にそうです。nを因数分解するのと同じくらい困難です。 初期のxが秘密である限り、望まれているなら、nを公表できます。

   An interesting characteristic of this generator is that any of the s
   values can be directly calculated.  In particular,

このジェネレータのおもしろい特性は直接s値のどれかについて計算できるということです。 特に

               ( (2^i) (Mod ((p-1)*(q-1)) ) )
      s  = ( s                                )(Mod n)
       i      0

((2^i)(モッズ(p-1)*(q-1)))) sは(s)(モッズn)i0と等しいです。

   This means that in applications where many keys are generated in this
   fashion, it is not necessary to save them all.  Each key can be
   effectively indexed and recovered from that small index and the
   initial s and n.

これは、多くのキーがこんなやり方で発生するアプリケーションでは、それらを皆、救うのが必要でないことを意味します。 各キーは、事実上、索引をつけて、そのわずかなインデックス、初期のs、およびnを取り戻すことができます。

6.3.  Entropy Pool Techniques

6.3. エントロピープールのテクニック

   Many modern pseudo-random number sources, such as those described in
   Sections 7.1.2 and 7.1.3 utilize the technique of maintaining a
   "pool" of bits and providing operations for strongly mixing input
   with some randomness into the pool and extracting pseudo-random bits
   from the pool.  This is illustrated in the figure below.

何らかの偶発性でプールの中に入力されて、プールから擬似ランダムビットを抽出しながらビットの「プール」を維持して、強く混合するための操作を提供する.3がテクニックを利用するセクション7.1.2と7.1で説明されたものなどの多くの現代の擬似乱数源。 これは以下の図で例証されます。

Eastlake, et al.            Standards Track                    [Page 27]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[27ページ]。

             +--------+    +------+    +---------+
         --->| Mix In |--->| POOL |--->| Extract |--->
             |  Bits  |    |      |    |   Bits  |
             +--------+    +------+    +---------+
                               ^           V
                               |           |
                               +-----------+

+--------+ +------+ +---------+ --->| 中で混入してください。|、-、--、>| プール|、-、--、>| 抽出|、-、--、>| ビット| | | | ビット| +--------+ +------+ +---------+ ^ V | | +-----------+

   Bits to be fed into the pool can come from any of the various
   hardware, environmental, or user input sources discussed above.  It
   is also common to save the state of the pool on system shutdown and
   to restore it on re-starting, when stable storage is available.

プールの中に入れられるビットは様々なハードウェアのどれかから来ることができます、環境である、またはユーザが上で議論したソースを入力しました。 また、システム・シャットダウンのときにプールの状態を節約して、再開のときにそれを回復するのも一般的です、安定貯蔵が有効であるときに。

   Care must be taken that enough entropy has been added to the pool to
   support particular output uses desired.  See [RSA_BULL1] for similar
   suggestions.

注意はそんなに十分取って、エントロピーが特定の出力用途が望んでいたサポートへのプールに加えられるということであるに違いありません。 同様の提案に関して[RSA_BULL1]を見てください。

7.  Randomness Generation Examples and Standards

7. 偶発性世代の例と規格

   Several public standards and widely deployed examples are now in
   place for the generation of keys or other cryptographically random
   quantities.  Some, in section 7.1, include an entropy source.
   Others, described in section 7.2, provide the pseudo-random number
   strong-sequence generator but assume the input of a random seed or
   input from a source of entropy.

いくつかの公共の規格と広く配備された例が何らかのキーの世代の間、現在適所に暗号であります。無作為の量。 セクション7.1では、或るものはエントロピーソースを含んでいます。 セクション7.2で説明された他のものは、擬似乱数強い系列ジェネレータを提供しますが、エントロピーの源からの無作為の種子か入力の入力を仮定します。

7.1.  Complete Randomness Generators

7.1. 完全な偶発性ジェネレータ

   Three standards are described below.  The two older standards use
   DES, with its 64-bit block and key size limit, but any equally strong
   or stronger mixing function could be substituted [DES].  The third is
   a more modern and stronger standard based on SHA-1 [SHA*].  Lastly,
   the widely deployed modern UNIX and Windows random number generators
   are described.

3つの規格が以下で説明されます。 2つのより古い規格がその64ビットのブロックと主要なサイズ限界があるDESを使用しますが、どんな等しく強いか、より強い混合機能も代入するかもしれません[DES]。 3番目はSHA-1[SHA*]に基づくより現代的でより強い規格です。 最後に、広く配備された現代のUNIXとWindows乱数発生器は説明されます。

7.1.1.  US DoD Recommendations for Password Generation

7.1.1. パスワード世代米国のDoD推薦

   The United States Department of Defense has specific recommendations
   for password generation [DoD].  It suggests using the US Data
   Encryption Standard [DES] in Output Feedback Mode [MODES] as follows:

合衆国国防総省には、特定の推薦がパスワード世代[DoD]のためにあります。 それは、以下のOutput Feedback Mode[MODES]で米国データ暗号化規格[DES]を使用するのを示します:

Eastlake, et al.            Standards Track                    [Page 28]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[28ページ]。

         Use an initialization vector determined from
              the system clock,
              system ID,
              user ID, and
              date and time;
         use a key determined from
              system interrupt registers,
              system status registers, and
              system counters; and,
         as plain text, use an external randomly generated 64-bit
         quantity such as the ASCII bytes for 8 characters typed
         in by a system administrator.

システムクロックから決定している初期化ベクトル、システムID、ユーザID、および日時を使用してください。 システム割込みレジスタ、システムステータスレジスタ、およびシステムカウンタから断固としたキーを使用してください。 そして、プレーンテキストとして、システム管理者によってタイプされた8つのキャラクタのための外部の手当たりしだいに発生している64ビットの量のASCIIバイトなどを使用してください。

   The password can then be calculated from the 64 bit "cipher text"
   generated by DES in 64-bit Output Feedback Mode.  As many bits as are
   needed can be taken from these 64 bits and expanded into a
   pronounceable word, phrase, or other format if a human being needs to
   remember the password.

そして、「暗号テキスト」が64ビットのOutput Feedback ModeでDESで発生させた64ビットでパスワードについて計算できます。 人間が、パスワードを覚えている必要があるなら、必要とされるのと同じくらい多くのビットをこれらの64ビットから連れて行って、発音可能な単語、句、または他の形式に広げることができます。

7.1.2.  The /dev/random Device

7.1.2. /dev/random装置

   Several versions of the UNIX operating system provide a kernel-
   resident random number generator.  Some of these generators use
   events captured by the Kernel during normal system operation.

Unixオペレーティングシステムのいくつかのバージョンがカーネル居住者乱数発生器を提供します。 これらのいくつかのジェネレータが通常のシステム・オペレーションの間にKernelによって捕らえられた出来事を使用します。

   For example, on some versions of Linux, the generator consists of a
   random pool of 512 bytes represented as 128 words of 4 bytes each.
   When an event occurs, such as a disk drive interrupt, the time of the
   event is XOR'ed into the pool, and the pool is stirred via a
   primitive polynomial of degree 128.  The pool itself is treated as a
   ring buffer, with new data being XOR'ed (after stirring with the
   polynomial) across the entire pool.

例えば、リナックスのいくつかのバージョンでは、ジェネレータはそれぞれ4バイトの128の単語として表された512バイトの無作為のプールから成ります。 出来事がディスクドライブ割込みのように起こるとき、出来事の時間はプールの中へのXOR'edです、そして、プールは度128の原始多項式でかき回されます。 プール自体はリングバッファとして扱われます、全体のプールの向こう側のXOR'ed(多項式でかき混ぜた後の)である新しいデータで。

   Each call that adds entropy to the pool estimates the amount of
   likely true entropy the input contains.  The pool itself contains a
   accumulator that estimates the total over all entropy of the pool.

プールにエントロピーを加える各呼び出しが入力が含むありそうな真のエントロピーの量を見積もっています。 プール自体は合計をプールのすべてのエントロピーの上見積もっているアキュムレータを含んでいます。

   Input events come from several sources, as listed below.
   Unfortunately, for server machines without human operators, the first
   and third are not available, and entropy may be added slowly in that
   case.

入力イベントは以下に記載されているようにいくつかのソースから来ます。 残念ながら、人間のオペレータのいないサーバマシンに、1番目と第3は利用可能ではありません、そして、エントロピーはその場合ゆっくり加えられるかもしれません。

   1. Keyboard interrupts.  The time of the interrupt and the scan code
      are added to the pool.  This in effect adds entropy from the human
      operator by measuring inter-keystroke arrival times.

1. キーボードは中断します。 中断の時間とスキャンコードはプールに加えられます。 事実上、これは、人間のオペレータから相互キーストローク到着時間を測定することによって、エントロピーを加えます。

   2. Disk completion and other interrupts.  A system being used by a
      person will likely have a hard-to-predict pattern of disk

2. ディスク完成と他の中断。 人によって使用されるシステムはおそらく予測しにくいディスクのパターンを持つでしょう。

Eastlake, et al.            Standards Track                    [Page 29]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[29ページ]。

      accesses.  (But not all disk drivers support capturing this timing
      information with sufficient accuracy to be useful.)

アクセスします。 (しかし、すべてのディスクドライバーが、このタイミングが情報であると十分正確にキャプチャするのが役に立つとサポートするというわけではありません。)

   3. Mouse motion.  The timing and mouse position are added in.

3. マウス動き。 タイミングとマウス位置は加えられます。

   When random bytes are required, the pool is hashed with SHA-1 [SHA*]
   to yield the returned bytes of randomness.  If more bytes are
   required than the output of SHA-1 (20 bytes), then the hashed output
   is stirred back into the pool and a new hash is performed to obtain
   the next 20 bytes.  As bytes are removed from the pool, the estimate
   of entropy is correspondingly decremented.

無作為のバイトが必要であるときに、プールは、返されたバイトの偶発性をもたらすためにSHA-1[SHA*]と共に論じ尽くされます。 より多くのバイトがSHA-1(20バイト)の出力より必要であるなら、論じ尽くされた出力はプールの中にかき回して戻されます、そして、新しいハッシュは、次の20バイトを得るために実行されます。 プールからバイトを取り除くのに従って、エントロピーの見積りは対応する減少します。

   To ensure a reasonably random pool upon system startup, the standard
   startup and shutdown scripts save the pool to a disk file at shutdown
   and read this file at system startup.

スクリプトは、システム起動、標準の始動、および閉鎖のときに合理的に無作為のプールを確実にするために、閉鎖でディスクファイルへプールを取っておいて、システム起動でこのファイルを読み込みます。

   There are two user-exported interfaces. /dev/random returns bytes
   from the pool but blocks when the estimated entropy drops to zero.
   As entropy is added to the pool from events, more data becomes
   available via /dev/random.  Random data obtained from such a
   /dev/random device is suitable for key generation for long term keys,
   if enough random bits are in the pool or are added in a reasonable
   amount of time.

2つのユーザによってエクスポートされたインタフェースがあります。 およそエントロピーがゼロまで下がると、/dev/randomはプールにもかかわらず、ブロックからバイトを返します。 エントロピーがイベントからプールに加えられるとき、より多くのデータが/dev/randomを通して利用可能になります。 そのような/dev/randomデバイスから得られた無作為のデータは長期キーのためのキー生成に適しています、十分な無作為のビットがプールの中にあるか、または妥当な時間で加えられるなら。

   /dev/urandom works like /dev/random; however, it provides data even
   when the entropy estimate for the random pool drops to zero.  This
   may be adequate for session keys or for other key generation tasks
   for which blocking to await more random bits is not acceptable.  The
   risk of continuing to take data even when the pool's entropy estimate
   is small in that past output may be computable from current output,
   provided that an attacker can reverse SHA-1.  Given that SHA-1 is
   designed to be non-invertible, this is a reasonable risk.

/dev/urandomは/dev/randomのように働いています。 しかしながら、無作為のプールのためのエントロピー見積りがゼロまで下がると、それはデータを提供します。 セッションキーか、より多くの無作為のビット待つブロッキングが許容できない他のキー生成タスクに、これは適切であるかもしれません。 プールのエントロピー見積りが出力におけるそれでわずかであるときにさえ、データを取り続けるリスクは経常産出高によって計算できるかもしれません、攻撃者がSHA-1を逆にすることができれば。 SHA-1が非invertibleになるように設計されるなら、これは妥当な危険性です。

   To obtain random numbers under Linux, Solaris, or other UNIX systems
   equipped with code as described above, all an application has to do
   is open either /dev/random or /dev/urandom and read the desired
   number of bytes.

リナックス、Solaris、または他のUNIXの下に乱数を得るために、システムは上で説明されるようにコードを備えて、アプリケーションがしなければならないのは、/dev/randomか/dev/urandomのどちらかを開いて、バイトの必要な数を読むことです。

   (The Linux Random device was written by Theodore Ts'o.  It was based
   loosely on the random number generator in PGP 2.X and PGP 3.0 (aka
   PGP 5.0).)

(リナックスRandomデバイスはセオドアTs'oによって書かれました。 それはPGP 2.XとPGP3.0(通称PGP5.0)で緩く乱数発生器に基づきました。)

7.1.3.  Windows CryptGenRandom

7.1.3. Windows CryptGenRandom

   Microsoft's recommendation to users of the widely deployed Windows
   operating system is generally to use the CryptGenRandom pseudo-random
   number generation call with the CryptAPI cryptographic service
   provider.  This takes a handle to a cryptographic service provider

広く配布しているウインドウズ・オペレーティングシステムのユーザへのマイクロソフトの推薦は一般に、CryptAPIの暗号のサービスプロバイダーとのCryptGenRandom擬似乱数世代呼び出しを使用することです。 これは暗号のサービスプロバイダーにハンドルを連れて行きます。

Eastlake, et al.            Standards Track                    [Page 30]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[30ページ]。

   library, a pointer to a buffer by which the caller can provide
   entropy and into which the generated pseudo-randomness is returned,
   and an indication of how many octets of randomness are desired.

ライブラリ、訪問者がエントロピーを提供できて、発生している疑似偶発性が返されるバッファ、および偶発性のいくつの八重奏のしるしへの指針は望まれているか。

   The Windows CryptAPI cryptographic service provider stores a seed
   state variable with every user.  When CryptGenRandom is called, this
   is combined with any randomness provided in the call and with various
   system and user data such as the process ID, thread ID, system clock,
   system time, system counter, memory status, free disk clusters, and
   hashed user environment block.  This data is all fed to SHA-1, and
   the output is used to seed an RC4 key stream.  That key stream is
   used to produce the pseudo-random data requested and to update the
   user's seed state variable.

WindowsのCryptAPIの暗号のサービスプロバイダーはすべてのユーザと共に種子州の変数を保存します。 CryptGenRandomが呼ばれるとき、これは呼び出しに提供するどんな偶発性とプロセスIDや、スレッドIDや、システムクロックや、システム時間や、システムカウンタや、メモリ状態や、無料のディスククラスタや、論じ尽くされたユーザの環境ブロックなどの様々なシステムとユーザデータにも結合されます。 このデータをSHA-1にすべて入れます、そして、RC4の主要なストリームに種を蒔くのに出力を使用します。 その主要なストリームは、データが要求した擬似ランダムを生産して、ユーザの種子州の変数をアップデートするのに使用されます。

   Users of Windows ".NET" will probably find it easier to use the
   RNGCryptoServiceProvider.GetBytes method interface.

Windows「.NET」のユーザは、RNGCryptoServiceProvider.GetBytesメソッドインタフェースを使用するのが、より簡単であることがたぶんわかるでしょう。

   For further information, see [WSC].

詳しくは[WSC]を見てください。

7.2.  Generators Assuming a Source of Entropy

7.2. エントロピーの源を仮定するジェネレータ

   The pseudo-random number generators described in the following three
   sections all assume that a seed value with sufficient entropy is
   provided to them.  They then generate a strong sequence (see Section
   6.2) from that seed.

以下の3つのセクションで説明された疑似乱数生成器はすべて、十分なエントロピーがある種子値がそれらに提供されると仮定します。 そして、彼らはその種子から強い系列(セクション6.2を見る)を生成します。

7.2.1.  X9.82 Pseudo-Random Number Generation

7.2.1. X9.82擬似乱数世代

   The ANSI X9F1 committee is in the final stages of creating a standard
   for random number generation covering both true randomness generators
   and pseudo-random number generators.  It includes a number of
   pseudo-random number generators based on hash functions, one of which
   will probably be based on HMAC SHA hash constructs [RFC2104].  The
   draft version of this generator is described below, omitting a number
   of optional features [X9.82].

ANSI X9F1委員会が本当の偶発性ジェネレータと疑似乱数生成器の両方をカバーしながら乱数発生の規格を作成する最終段階にあります。 それはそれの1つがたぶんHMAC SHAハッシュ構造物[RFC2104]に基づくハッシュ関数に基づく多くの疑似乱数生成器を含んでいます。 多くのオプション機能[X9.82]を省略して、このジェネレータの草案バージョンは以下で説明されます。

   In the subsections below, the HMAC hash construct is simply referred
   to as HMAC but, of course, a particular standard SHA function must be
   selected in an particular use.  Generally speaking, if the strength
   of the pseudo-random values to be generated is to be N bits, the SHA
   function chosen must generate N or more bits of output, and a source
   of at least N bits of input entropy will be required.  The same hash
   function must be used throughout an instantiation of this generator.

もちろん、以下の小区分では、HMACハッシュ構造物は単にHMACと呼ばれますが、特定の使用で特定の標準のSHA機能を選択しなければなりません。 概して、選ばれたSHA機能は生成される擬似ランダム値の強さがNビットであることであるなら、出力のNビットを生成しなければなりません、そして、入力エントロピーの少なくともNビットの源が必要でしょう。 このジェネレータの具体化中で同じハッシュ関数を使用しなければなりません。

Eastlake, et al.            Standards Track                    [Page 31]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[31ページ]。

7.2.1.1.  Notation

7.2.1.1. 記法

   In the following sections, the notation give below is used:

中に、以下のセクション、記法は使用される下を与えます:

      hash_length is the output size of the underlying hash function in
         use.

ハッシュ_長さは使用中の基本的なハッシュ関数の出力サイズです。

      input_entropy is the input bit string that provides entropy to the
         generator.

入力_エントロピーはエントロピーをジェネレータに供給する入力ビット列です。

      K is a bit string of size hash_length that is part of the state of
         the generator and is updated at least once each time random
         bits are generated.

Kはそれぞれがいったん無作為のビットを調節すると少なくともジェネレータの状態の一部であり、アップデートされるサイズのハッシュ_長さのしばらくストリングが発生しているということです。

      V is a bit string of size hash_length and is part of the state of
         the generator.  It is updated each time hash_length bits of
         output are generated.

Vは、少し、サイズのストリングが_長さを論じ尽くすということであり、ジェネレータの状態の一部です。 出力のハッシュ_長さのビットが発生している各回それをアップデートします。

      "|" represents concatenation.

"|「連結を表します。」

7.2.1.2.  Initializing the Generator

7.2.1.2. ジェネレータを初期化します。

   Set V to all zero bytes, except the low-order bit of each byte is set
      to one.

すべてのバイトにどんなVを設定しないでください、そして、下位を除いて、それぞれのバイトのビットは1つに設定されます。

   Set K to all zero bytes, then set:

Kにバイトのゼロをすべて合わせて、次に、セットするように設定してください:

         K = HMAC ( K, V | 0x00 | input_entropy )

K=HMAC(K、V|0×00|入力_エントロピー)

         V = HMAC ( K, V )

VはHMACと等しいです。(K、V)

         K = HMAC ( K, V | 0x01 | input_entropy )

K=HMAC(K、V|0×01|入力_エントロピー)

         V = HMAC ( K, V )

VはHMACと等しいです。(K、V)

   Note: All SHA algorithms produce an integral number of bytes, so the
   lengths of K and V will be integral numbers of bytes.

以下に注意してください。 すべてのSHAアルゴリズムが整数のバイトを生産するので、KとVの長さは整数のバイトになるでしょう。

7.2.1.3.  Generating Random Bits

7.2.1.3. 無作為のビットを生成します。

   When output is called for, simply set:

出力が求められたら、単にセットしてください:

         V = HMAC ( K, V )

VはHMACと等しいです。(K、V)

   and use the leading bits from V.  If more bits are needed than the
   length of V, set "temp" to a null bit string and then repeatedly
   perform:

そして、V.Ifからの主なビットを使用してください。より多くのビットがVの長さ、セットがヌルビット列に「派遣社員として働い」て、次に、繰り返して働くより必要です:

Eastlake, et al.            Standards Track                    [Page 32]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[32ページ]。

         V = HMAC ( K, V )
         temp = temp | V

V=HMAC(K、V)臨時=臨時| V

   stopping as soon as temp is equal to or longer than the number of
   random bits requested.  Use the requested number of leading bits from
   temp.  The definition of the algorithm prohibits requesting more than
   2^35 bits.

要求された無作為のビットでは、臨時の次第止まるのは、等しいか、または数より長いです。 臨時からの主なビットの要求された数を使用してください。 アルゴリズムの定義は、2以上^を35ビット要求するのを禁止します。

   After extracting and saving the pseudo-random output bits as
   described above, before returning you must also perform two more
   HMACs as follows:

また、戻る前に上で説明されるように擬似ランダム出力がビットであると抽出して、保存した後に、あなたは以下のもう2HMACsを実行しなければなりません:

         K = HMAC ( K, V | 0x00 )
         V = HMAC ( K, V )

K=HMAC(V| K、0×00)V=HMAC(K、V)

7.2.2.  X9.17 Key Generation

7.2.2. X9.17キー生成

         The American National Standards Institute has specified the
         following method for generating a sequence of keys [X9.17]:

American National Standards Institutはキー[X9.17]の系列を生成するための以下のメソッドを指定しました:

      s  is the initial 64 bit seed.
       0

sは64ビットの初期の種子です。 0

      g  is the sequence of generated 64-bit key quantities
       n

gは発生している64ビットの主要な量nの系列です。

      k is a random key reserved for generating this key sequence.

kはこのキー順を生成するために予約されたランダムキーです。

      t is the time at which a key is generated, to as fine a resolution
         as is available (up to 64 bits).

tはキーが利用可能であるのと同じくらいよい解決に生成される時(最大64ビット)です。

      DES ( K, Q ) is the DES encryption of quantity Q with key K.

キーKでDES(K、Q)は量QのDES暗号化です。

   Then:

その時:

         g    = DES ( k, DES ( k, t ) XOR s  )
          n                                n

gが等しい、DES、(k、DES、(k、t)XOR s)n n

         s    = DES ( k, DES ( k, t ) XOR  g  )
          n+1                               n

sが等しい、DES、(k、DES、(k、t)XOR g)n+1n

   If g sub n is to be used as a DES key, then every eighth bit should
   be adjusted for parity for that use, but the entire 64 bit unmodified
   g should be used in calculating the next s.

g潜水艦nがDESキーとして使用されるつもりであるなら、8番目のビット毎はその使用のための同等ために調整されるべきですが、全体の64ビット変更されていないgは次のsについて計算する際に使用されるべきです。

Eastlake, et al.            Standards Track                    [Page 33]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[33ページ]。

7.2.3.  DSS Pseudo-random Number Generation

7.2.3. DSS擬似乱数世代

   Appendix 3 of the NIST Digital Signature Standard [DSS] provides a
   method of producing a sequence of pseudo-random 160 bit quantities
   for use as private keys or the like.  This has been modified by
   Change Notice 1 [DSS_CN1] to produce the following algorithm for
   generating general-purpose pseudo-random numbers:

NISTデジタル署名基準[DSS]の付録3は使用のために秘密鍵か同様のものとして擬似ランダムの160ビットの量の系列を作成するメソッドを提供します。 これは汎用擬似乱数を生成するための以下のアルゴリズムを作成するようにChange Notice1[DSS_CN1]によって変更されました:

         t = 0x 67452301 EFCDAB89 98BADCFE 10325476 C3D2E1F0

tは0x67452301EFCDAB89 98BADCFE10325476C3D2E1F0と等しいです。

         XKEY  = initial seed
             0

XKEYは初期の種子0と等しいです。

         For j = 0 to ...

…へのj=0のために

             XVAL = ( XKEY  + optional user input ) (Mod 2^512)
                          j

XVALはjと等しいです(XKEY+任意のユーザ入力)(モッズ風の2^512)。

             X  = G( t, XVAL )
              j

XはG(t、XVAL)jと等しいです。

             XKEY   = ( 1 + XKEY  + X  ) (Mod 2^512)
                 j+1            j    j

XKEYは(1+XKEY+X)(モッズ風の2^512)j+1j jと等しいです。

   The quantities X thus produced are the pseudo-random sequence of
   160-bit values.  Two functions can be used for "G" above.  Each
   produces a 160-bit value and takes two arguments, a 160-bit value and
   a 512 bit value.

このようにして生産された量Xは160ビットの値の擬似ランダム系列です。 「G」に上で2つの機能を使用できます。 それぞれが、160ビットの値を生産して、2つの議論、160ビットの値、および512ビットの値を取ります。

   The first is based on SHA-1 and works by setting the 5 linking
   variables, denoted H with subscripts in the SHA-1 specification, to
   the first argument divided into fifths.  Then steps (a) through (e)
   of section 7 of the NIST SHA-1 specification are run over the second
   argument as if it were a 512-bit data block.  The values of the
   linking variable after those steps are then concatenated to produce
   the output of G [SHA*].

1番目は5つのリンク変数を設定することによって、SHA-1と作品に基づいて、指示されて、最初の議論へのSHA-1仕様による添字があるHは5分の1に分割されました。 そして、NIST SHA-1仕様のセクション7のステップ(a)から(e)はまるでそれが512ビットのデータブロックであるかのように2番目の議論の上実行されます。 そして、それらのステップ後のリンク変数の値は、G[SHA*]の出力を起こすために連結されます。

   As an alternative method, NIST also defined an alternate G function
   based on multiple applications of the DES encryption function [DSS].

また、別法と、NISTはDES暗号化機能[DSS]の複数のアプリケーションに基づく代替のG機能を定義しました。

8.  Examples of Randomness Required

8. 偶発性の例が必要です。

   Below are two examples showing rough calculations of randomness
   needed for security.  The first is for moderate security passwords,
   while the second assumes a need for a very high-security
   cryptographic key.

以下に、セキュリティに必要である偶発性の概算を示している2つの例があります。 1番目は適度のセキュリティパスワードのためのものですが、2番目は非常に高い安全な暗号化キーの必要性を仮定します。

Eastlake, et al.            Standards Track                    [Page 34]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[34ページ]。

   In addition, [ORMAN] and [RSA_BULL13] provide information on the
   public key lengths that should be used for exchanging symmetric keys.

さらに、[ORMAN]と[RSA_BULL13]は対称鍵を交換するのに使用されるべきである公開鍵の長さの情報を提供します。

8.1.  Password Generation

8.1. パスワード世代

   Assume that user passwords change once a year and that it is desired
   that the probability that an adversary could guess the password for a
   particular account be less than one in a thousand.  Further assume
   that sending a password to the system is the only way to try a
   password.  Then the crucial question is how often an adversary can
   try possibilities.  Assume that delays have been introduced into a
   system so that an adversary can make at most one password try every
   six seconds.  That's 600 per hour, or about 15,000 per day, or about
   5,000,000 tries in a year.  Assuming any sort of monitoring, it is
   unlikely that someone could actually try continuously for a year.
   Even if log files are only checked monthly, 500,000 tries is more
   plausible before the attack is noticed and steps are taken to change
   passwords and make it harder to try more passwords.

ユーザパスワードが1年に一度変化して、敵が特定のアカウントのためのパスワードを推測できたという確率が1,000のうちの1未満であることが望まれていると仮定してください。 パスワードをシステムに送るのが、パスワードを試みる唯一の方法であるとさらに仮定してください。 そして、重要な質問は敵がどれくらいの頻度で可能性を試みることができるかということです。 敵がパスワードが6秒毎に試みるものを高々作ることができるように遅れがシステムに取り入れられたと仮定してください。 それは、毎時の600、1日あたりおよそ1万5000、または1年間でおよそ500万のトライです。 どんな種類のモニターも仮定して、だれかが実際に1年間絶え間なく試みることができたのは、ありそうもないです。 ログファイルが毎月チェックされるだけであっても、攻撃に気付いて、パスワードを変えて、より多くのパスワードを試みるのをより困難にするように方法を取る前に50万のトライが、よりもっともらしいです。

   To have a one-in-a-thousand chance of guessing the password in
   500,000 tries implies a universe of at least 500,000,000 passwords,
   or about 2^29.  Thus, 29 bits of randomness are needed.  This can
   probably be achieved by using the US DoD-recommended inputs for
   password generation, as it has 8 inputs that probably average over 5
   bits of randomness each (see section 7.1).  Using a list of 1,000
   words, the password could be expressed as a three-word phrase
   (1,000,000,000 possibilities).  By using case-insensitive letters and
   digits, six characters would suffice ((26+10)^6 = 2,176,782,336
   possibilities).

50万におけるパスワードが試みると推測するという1,000における1つの機会を持っているのは少なくとも5億のパスワード、またはおよそ2^29の宇宙を含意します。 したがって、偶発性の29ビットが必要です。 たぶんパスワード世代に米国のDoDお勧めの入力を使用することによって、これを達成できます、それにたぶんそれぞれ偶発性の5ビット以上を平均する8つの入力があるとき(セクション7.1を見てください)。 1,000の単語のリストを使用して、3単語の句(10億の可能性)としてパスワードを表すことができました。 大文字と小文字を区別しない手紙とケタを使用することによって、6つのキャラクタが十分であるだろう、(26、+10、)、^6 = 2,176,782,336可能性)

   For a higher-security password, the number of bits required goes up.
   To decrease the probability by 1,000 requires increasing the universe
   of passwords by the same factor, which adds about 10 bits.  Thus, to
   have only a one in a million chance of a password being guessed under
   the above scenario would require 39 bits of randomness and a password
   that was a four-word phrase from a 1,000 word list, or eight
   letters/digits.  To go to a one-in-10^9 chance, 49 bits of randomness
   are needed, implying a five-word phrase or a ten-letter/digit
   password.

より高いセキュリティパスワードに関しては、必要であるビットの数は上がります。 確率を1,000減少させるのは、およそ10ビットを加えるのと同じ要素から宇宙を増強するのをパスワードを要求します。 したがって、上のシナリオの下で推測されるパスワードの100万機会で1つしか持っていないのは1,000単語リスト、または8手紙/ケタからの4単語の句であった偶発性とパスワードの39ビットを必要とするでしょう。 中の1つ10^9の機会に行くために、5単語の句か10文字/ケタパスワードを含意して、偶発性の49ビットが必要です。

   In a real system, of course, there are other factors.  For example,
   the larger and harder to remember passwords are, the more likely
   users will bed to write them down, resulting in an additional risk of
   compromise.

もちろん、実システムには、他の要素があります。 例えば、パスワードが、より大きくて、覚えていにくければ困難であるほど、ユーザが彼らを書き留めるために寝るのが、よりありそうです、感染の追加リスクをもたらして。

Eastlake, et al.            Standards Track                    [Page 35]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[35ページ]。

8.2.  A Very High Security Cryptographic Key

8.2. 非常に高いセキュリティ暗号化キー

   Assume that a very high security key is needed for symmetric
   encryption/decryption between two parties.  Assume also that an
   adversary can observe communications and knows the algorithm being
   used.  Within the field of random possibilities, the adversary can
   try key values in hopes of finding the one in use.  Assume further
   that brute force trial of keys is the best the adversary can do.

非常に高いセキュリティキーが2回のパーティーの間の左右対称の暗号化/復号化に必要であると仮定してください。 また、敵がコミュニケーションを観測できて、使用されるアルゴリズムを知っていると仮定してください。 無作為の可能性の分野の中では、敵はものが使用中であることがわかるという望みでキー値を試みることができます。 キーの力任せのトライアルが敵が尽くすことができるベストであるとさらに仮定してください。

8.2.1.  Effort per Key Trial

8.2.1. 主要なトライアルあたりの取り組み

   How much effort will it take to try each key?  For very high-security
   applications, it is best to assume a low value of effort.  Even if it
   would clearly take tens of thousands of computer cycles or more to
   try a single key, there may be some pattern that enables huge blocks
   of key values to be tested with much less effort per key.  Thus, it
   is probably best to assume no more than a couple of hundred cycles
   per key.  (There is no clear lower bound on this, as computers
   operate in parallel on a number of bits and a poor encryption
   algorithm could allow many keys or even groups of keys to be tested
   in parallel.  However, we need to assume some value and can hope that
   a reasonably strong algorithm has been chosen for our hypothetical
   high-security task.)

各キーを試すのにどのくらいの取り組みを要するでしょうか? 非常に高い安全なアプリケーションに、取り組みの低値を仮定するのは最も良いです。 単一のキーを試すには明確に何万ものコンピュータサイクルか以上かかっても、膨大なブロックのキー値がはるかに少ない1キーあたりの取り組みでテストされるのを可能にする何らかのパターンがあるかもしれません。 したがって、2、3 1キーあたり100サイクルだけを仮定するのはたぶん最も良いです。 (どんな明確な下界もこれにありません、キーの多くのキーかグループさえ平行で検査されるのをコンピュータが平行で多くのビットを作動させて、貧しい暗号化アルゴリズムが、許容できたとき。 しかしながら、私たちは、何らかの値を仮定するのが必要であり、合理的に強いアルゴリズムが私たちの仮定している高セキュリティタスクに選ばれたことを望むことができます。)

   If the adversary can command a highly parallel processor or a large
   network of work stations, 10^11 cycles per second is probably a
   minimum assumption today.  Looking forward a few years, there should
   be at least an order of magnitude improvement.  Thus, it is
   reasonable to assume that 10^10 keys could be checked per second, or
   3.6*10^12 per hour or 6*10^14 per week, or 2.4*10^15 per month.  This
   implies a need for a minimum of 63 bits of randomness in keys, to be
   sure that they cannot be found in a month.  Even then it is possible
   that, a few years from now, a highly determined and resourceful
   adversary could break the key in 2 weeks; on average, they need try
   only half the keys.

敵が非常に平行なプロセッサかワークステーションの大きいネットワークを命令することができるなら、今日、10^11ヘルツがたぶん最小の仮定です。 数年間楽しみにしていて、改良が少なくとも1桁あるべきです。 したがって、それは、1週間あたりの毎時の2番目、または3.6*10^12単位で10個の^10キーをチェックできるだろうと仮定するのが妥当であるか6*10^14、または1カ月あたり2.4*10^15です。 これは、1カ月でそれらを見つけることができないのを確信しているようにキーの偶発性の最低63ビットの必要性を含意します。 その時でさえ、現在からの数年、非常に断固として才略にたけた敵が2週間でキーを壊すことができたのは、可能です。 平均的に、彼らはキーの半分だけを試みなければなりません。

   These questions are considered in detail in "Minimal Key Lengths for
   Symmetric Ciphers to Provide Adequate Commercial Security: A Report
   by an Ad Hoc Group of Cryptographers and Computer Scientists"
   [KeyStudy] that was sponsored by the Business Software Alliance.  It
   concluded that a reasonable key length in 1995 for very high security
   is in the range of 75 to 90 bits and, since the cost of cryptography
   does not vary much with the key size, it recommends 90 bits.  To
   update these recommendations, just add 2/3 of a bit per year for
   Moore's law [MOORE].  This translates to a determination, in the year
   2004, a reasonable key length is in the 81- to 96-bit range.  In
   fact, today, it is increasingly common to use keys longer than 96

これらの質問が中で詳細に考えられる、「左右対称の暗号が適切な商業セキュリティを提供する最小量のキー長:」 ビジネス・ソフトウエア連合会によって後援された「CryptographersとコンピュータScientistsのAd Hoc GroupによるReport。」[KeyStudy] 非常に高いセキュリティのための1995年の妥当なキー長が75〜90ビットの範囲にあるのが結論を下して、主要なサイズに従って暗号の費用があまり異ならないので、それは90ビットを推薦します。 これらの推薦をアップデートするには、ムーアの法則[ムーア]のためにしばらくについて1年あたりただ2/3を加えてください。 これは2004年の間、決断に翻訳されて、81には96ビットの範囲には妥当なキー長があります。 事実上、今日、96より長い間キーを使用するのはますます一般です。

Eastlake, et al.            Standards Track                    [Page 36]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[36ページ]。

   bits, such as 128-bit (or longer) keys with AES and keys with
   effective lengths of 112-bits with triple-DES.

AESがある128ビットの、そして、(より長い)のキーや三重のDESがある112ビットの有効長があるキーなどのビット。

8.2.2.  Meet-in-the-Middle Attacks

8.2.2. 中央で会っている攻撃

   If chosen or known plain text and the resulting encrypted text are
   available, a "meet-in-the-middle" attack is possible if the structure
   of the encryption algorithm allows it.  (In a known plain text
   attack, the adversary knows all or part (possibly some standard
   header or trailer fields) of the messages being encrypted.  In a
   chosen plain text attack, the adversary can force some chosen plain
   text to be encrypted, possibly by "leaking" an exciting text that is
   sent by the adversary over an encrypted channel because the text is
   so interesting.

暗号化アルゴリズムの構造がそれを許容するなら、「中央で会ってください」攻撃は選ばれているか、または知られているならプレーンテキストと結果として起こる暗号化されたテキストが利用可能であることが可能です。 知られているプレーンテキスト攻撃では、暗号化されていて、敵はメッセージのすべてか一部(ことによるといくつかの標準のヘッダーかトレーラ分野)を知っています。(選ばれたプレーンテキスト攻撃では、敵は強制的にプレーンテキストが選ばれたいくつかを暗号化させることができます、ことによるとテキストが非常におもしろいので敵によって暗号化されたチャンネルの上に送られるおもしろいテキストが「漏らす」であることによって。

   The following is an oversimplified explanation of the meet-in-the-
   middle attack:  the adversary can half-encrypt the known or chosen
   plain text with all possible first half-keys, sort the output, and
   then half-decrypt the encoded text with all the second half-keys.  If
   a match is found, the full key can be assembled from the halves and
   used to decrypt other parts of the message or other messages.  At its
   best, this type of attack can halve the exponent of the work required
   by the adversary while adding a very large but roughly constant
   factor of effort.  Thus, if this attack can be mounted, a doubling of
   the amount of randomness in the very strong key to a minimum of 192
   bits (96*2) is required for the year 2004, based on the [KeyStudy]
   analysis.

↓これが中の大会の単純化しすぎている説明である、-、-中央は攻撃されます: 敵は、すべての可能な前半キーがある知られているか選ばれたプレーンテキストを半分暗号化して、出力を分類して、次に、すべての後半キーがあるコード化されたテキストを半分解読することができます。 マッチが見つけられるなら、完全なキーを半分から組み立てて、メッセージか他のメッセージの他の部分を解読するのに使用できます。 最善では、このタイプの攻撃は取り組みの非常に大きい、しかし、およそ一定の要素を加えている間に敵によって必要とされた仕事の解説者を半分にできます。 したがって、この攻撃を仕掛けることができるなら、最低192ビット(96*2)の非常に強いキーの偶発性の量の倍増がその2004年に必要です、[KeyStudy]分析に基づいて。

   This amount of randomness is well beyond the limit of that in the
   inputs recommended by the US DoD for password generation and could
   require user-typing timing, hardware random number generation, or
   other sources of randomness.

この量の偶発性が、かなりパスワード世代のために米国DoDによって推薦された入力におけるその限界を超えていて、偶発性のユーザをタイプするタイミング、ハードウェア乱数発生、または他の源を必要とするかもしれません。

   The meet-in-the-middle attack assumes that the cryptographic
   algorithm can be decomposed in this way.  Hopefully no modern
   algorithm has this weakness, but there may be cases where we are not
   sure of that or even of what algorithm a key will be used with.  Even
   if a basic algorithm is not subject to a meet-in-the-middle attack,
   an attempt to produce a stronger algorithm by applying the basic
   algorithm twice (or two different algorithms sequentially) with
   different keys will gain less added security than would be expected.
   Such a composite algorithm would be subject to a meet-in-the-middle
   attack.

中央で会っている攻撃は、このように暗号アルゴリズムを分解できると仮定します。 うまくいけばどんな現代のアルゴリズムにも、この弱点がありませんが、ケースがキーがどんなアルゴリズムで使用されるかに、私たちがそれを確信していなくて、また同等でないところにあるかもしれません。 基本的なアルゴリズムはaを受けることがなくても中央で攻撃、二度基本的なアルゴリズムを適用することによって、より強いアルゴリズムを作成する試みを満たしてください、(2つの異なったアルゴリズム、連続して)、異なったキーと共に、予想であるだろうというほど加えられなかったセキュリティは獲得されているでしょう。 そのような複合法は中央で会っている攻撃を受けることがあるでしょう。

   Enormous resources may be required to mount a meet-in-the-middle
   attack, but they are probably within the range of the national
   security services of a major nation.  Essentially all nations spy on
   other nations' traffic.

莫大なリソースが中央で会っている攻撃を仕掛けるのに必要であるかもしれませんが、たぶん大国の国家安全保障サービスの範囲の中にそれらはあります。 本質的には万国は他の国のトラフィックを探ります。

Eastlake, et al.            Standards Track                    [Page 37]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[37ページ]。

8.2.3.  Other Considerations

8.2.3. 他の問題

   [KeyStudy] also considers the possibilities of special-purpose code-
   breaking hardware and having an adequate safety margin.

また、[KeyStudy]は、ハードウェアを壊して、適切な安全域を持ちながら、専用コードの可能性を考えます。

   Note that key length calculations such as those above are
   controversial and depend on various assumptions about the
   cryptographic algorithms in use.  In some cases, a professional with
   a deep knowledge of algorithm-breaking techniques and of the strength
   of the algorithm in use could be satisfied with less than half of the
   192 bit key size derived above.

上であることのそれらなどのキー長計算が論議を呼んで、使用中の暗号アルゴリズムに関する様々な前提によることに注意してください。 いくつかの場合、アルゴリズムを破るテクニックとアルゴリズムの強さに関する深い知識が使用中の専門家を上で引き出される192ビットの主要なサイズの半分未満に満たすことができました。

   For further examples of conservative design principles, see
   [FERGUSON].

昔からのデザイン原則のさらなる例に関しては、[ファーガソン]を見てください。

9.  Conclusion

9. 結論

   Generation of unguessable "random" secret quantities for security use
   is an essential but difficult task.

セキュリティ使用のための「蹄-可能」秘密の「無作為」の量の世代は不可欠の、しかし、難しいタスクです。

   Hardware techniques for producing the needed entropy would be
   relatively simple.  In particular, the volume and quality would not
   need to be high, and existing computer hardware, such as audio input
   or disk drives, can be used.

必要なエントロピーを生産するためのハードウェアのテクニックは比較的簡単でしょう。 ボリュームと品質は特に、高い必要はないでしょう、そして、音声入力やディスクドライブのように、既存のコンピュータ・ハードウェアは使用できます。

   Widely-available computational techniques can process low-quality
   random quantities from multiple sources, or a larger quantity of such
   low-quality input from one source, to produce a smaller quantity of
   higher-quality keying material.  In the absence of hardware sources
   of randomness, a variety of user and software sources can frequently,
   with care, be used instead.  However, most modern systems already
   have hardware, such as disk drives or audio input, that could be used
   to produce high-quality randomness.

広く利用可能なコンピュータのテクニックは、材料を合わせながら、よりわずかな量の、より高い品質を作り出すために複数のソースからの低品質の無作為の量、または1つのソースから入力されたそのような多く以上の量の低品質を処理できます。 偶発性のハードウェア源がないとき、代わりに頻繁に慎重にさまざまなユーザとソフトウェアソースを使用できます。 しかしながら、ほとんどの現代のシステムには、既に、高品質な偶発性を生産するのに使用できるディスクドライブか音声入力などのハードウェアがあります。

   Once a sufficient quantity of high-quality seed key material (a
   couple of hundred bits) is available, computational techniques are
   available to produce cryptographically-strong sequences of
   computationally-unpredictable quantities from this seed material.

一度、十分な数量の高品質な種子キーの材料(2、3 100ビット)は利用可能で、コンピュータのテクニックがこの種子の材料で計算上予測できない量の暗号で強い系列を作成するために利用可能であるということです。

10.  Security Considerations

10. セキュリティ問題

   The entirety of this document concerns techniques and recommendations
   for generating unguessable "random" quantities for use as passwords,
   cryptographic keys, initialization vectors, sequence numbers, and
   similar security applications.

このドキュメントの全体が使用のためにパスワード、暗号化キー、初期化ベクトル、一連番号、および同様のセキュリティアプリケーションとして「蹄-可能」「無作為」の量を生成するためのテクニックと推薦に関係があります。

Eastlake, et al.            Standards Track                    [Page 38]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[38ページ]。

11.  Acknowledgements

11. 承認

   Special thanks to Paul Hoffman and John Kelsey for their extensive
   comments and to Peter Gutmann, who has permitted the incorporation of
   material from his paper "Software Generation of Practically Strong
   Random Numbers".

彼らの大規模なコメントのためのポール・ホフマンとジョン・ケルシーと、そして、ピーター・ガットマンへの特別な感謝。ガットマンは、彼の論文「実際に強い乱数のソフトウェア世代」からの材料の編入を可能にしました。

   The following people (in alphabetic order) have contributed
   substantially to this document:

以下の人々は(アルファベット順に)実質的にこのドキュメントに貢献しました:

      Steve Bellovin, Daniel Brown, Don Davis, Peter Gutmann, Tony
      Hansen, Sandy Harris, Paul Hoffman, Scott Hollenback, Russ
      Housley, Christian Huitema, John Kelsey, Mats Naslund, and Damir
      Rajnovic.

スティーブBellovin(ダニエル・ブラウン)はマットのデイヴィス、ピーター・ガットマン、トニー・ハンセン、砂地のハリス、ポール・ホフマン、スコットHollenback、ラスHousley、クリスチャンのHuitema、ジョン・ケルシー、ジーター、およびDamir Rajnovicを身につけます。

   The following people (in alphabetic order) contributed to RFC 1750,
   the predecessor of this document:

以下の人々は(アルファベット順に)RFC1750、このドキュメントの前任者に貢献しました:

      David M.  Balenson, Don T.  Davis, Carl Ellison, Marc Horowitz,
      Christian Huitema, Charlie Kaufman, Steve Kent, Hal Murray, Neil
      Haller, Richard Pitkin, Tim Redmond, and Doug Tygar.

デヴィッドM.Balenson、T.デイヴィス、カール・エリソン、マーク・ホロビッツ、クリスチャンのHuitema、チャーリー・カウフマン、スティーブ・ケント、ハル・マレー、ニール・ハラー、リチャード・ピトキン、ティム・レッドモンド、およびダグTygarを身につけてください。

Eastlake, et al.            Standards Track                    [Page 39]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[39ページ]。

Appendix A: Changes from RFC 1750

付録A: RFC1750からの変化

   1. Additional acknowledgements have been added.

1. 追加承認は加えられます。

   2. Insertion of section 5.3 on mixing with S-boxes.

2. S-箱を混ぜるときのセクション5.3の挿入。

   3. Addition of section 3.3 on Ring Oscillator randomness sources.

3. Ring Oscillator偶発性ソースの上のセクション3.3の参加。

   4. Addition of AES and the members of the SHA series producing more
      than 160 bits.  Use of AES has been emphasized and the use of DES
      de-emphasized.

4. 160ビット以上を作り出すAESの追加とSHAシリーズのメンバー。 AESの使用は、強調されていて反-強調されたDESの使用です。

   5. Addition of section 6.3 on entropy pool techniques.

5. エントロピープールのテクニックのセクション6.3の参加。

   6. Addition of section 7.2.3 on the pseudo-random number generation
      techniques given in FIPS 186-2 (with Change Notice 1), 7.2.1 on
      those given in X9.82, section 7.1.2 on the random number
      generation techniques of the /dev/random device in Linux and other
      UNIX systems, and section 7.1.3 on random number generation
      techniques in the Windows operating system.

6. FIPS186-2(Change Notice1と)で与えられた擬似乱数世代のテクニックに関するセクション7.2.3の追加、7.2、.1、ウインドウズ・オペレーティングシステムにおける乱数発生のテクニックに関するX9.82で与えられたものとリナックスにおける/dev/randomデバイスの乱数発生のテクニックに関するセクション7.1.2と他のUNIXシステム、およびセクション7.1.3で。

   7. Addition of references to the "Minimal Key Lengths for Symmetric
      Ciphers to Provide Adequate Commercial Security" study published
      in January 1996 [KeyStudy] and to [RFC1948].

7. 1996[KeyStudy]年1月に発表された「左右対称の暗号が適切な商業セキュリティを提供する最小量のキー長」研究と[RFC1948]の参照の追加。

   8. Added caveats to using Diffie-Hellman as a mixing function and,
      because of those caveats and its computationally intensive nature,
      recommend against its use.

8. それらの警告とその計算上徹底的な本質のために、混合機能としてディフィー-ヘルマンを使用することで警告を加えて、使用を推薦します。

   9. Addition of references to the X9.82 effort and the [TURBID] and
      [NASLUND] papers.

9. X9.82取り組みの参照、[TURBID]、および[ジーター]書類の追加。

  10. Addition of discussion of min-entropy and Renyi entropy and
      references to the [LUBY] book.

10. [LUBY]の本の分エントロピー、レーニイエントロピー、および参照の議論の追加。

  11. Major restructuring, minor wording changes, and a variety of
      reference updates.

11. 主要な企業再構築、小さい方の言葉遣い変化、およびさまざまな参照最新版。

Eastlake, et al.            Standards Track                    [Page 40]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[40ページ]。

Informative References

有益な参照

   [AES]          "Specification of the Advanced Encryption Standard
                   (AES)", United States of America, US National
                   Institute of Standards and Technology, FIPS 197,
                   November 2001.

[AES] 「エー・イー・エス(AES)の仕様」、アメリカ合衆国、米国米国商務省標準技術局、FIPS197(2001年11月)。

   [ASYMMETRIC]    Simmons, G., Ed., "Secure Communications and
                   Asymmetric Cryptosystems", AAAS Selected Symposium
                   69, ISBN 0-86531-338-5, Westview Press, 1982.

[非対称の] シモンズ、G.、エド、「コミュニケーションと非対称の暗号系を保証してください」、Westviewが押すAAAS選択されたシンポジウム69、ISBN0-86531-338-5、1982

   [BBS]           Blum, L., Blum, M., and M. Shub, "A Simple
                   Unpredictable Pseudo-Random Number Generator", SIAM
                   Journal on Computing, v. 15, n. 2, 1986.

Computing、vの[BBS]ブルームとL.とブルーム、M.とM.シューブ、「簡単な予測できない疑似乱数生成器」シャムJournal。 15、n。 2, 1986.

   [BRILLINGER]    Brillinger, D., "Time Series: Data Analysis and
                   Theory", Holden-Day, 1981.

[BRILLINGER]Brillinger、D.、「時系列:」 「データ分析と理論」、ホールデン-日、1981

   [CRC]           "C.R.C. Standard Mathematical Tables", Chemical
                   Rubber Publishing Company.

[CRC] 「C.のR.のC.の標準の数表」、化学ゴム出版社。

   [DAVIS]         Davis, D., Ihaka, R., and P. Fenstermacher,
                   "Cryptographic Randomness from Air Turbulence in Disk
                   Drives", Advances in Cryptology - Crypto '94,
                   Springer-Verlag Lecture Notes in Computer Science
                   #839, 1984.

「ディスクドライブの乱気流からの暗号の偶発性」という[DAVIS]デイヴィス、D.、Ihaka、R.、およびP.Fenstermacherは暗号理論で進みます--暗号94年(コンピュータサイエンス#839、1984年の追出石-Verlag講演注意)。

   [DES]           "Data Encryption Standard", US National Institute of
                   Standards and Technology, FIPS 46-3, October 1999.
                   Also, "Data Encryption Algorithm", American National
                   Standards Institute, ANSI X3.92-1981.  See also FIPS
                   112, "Password Usage", which includes FORTRAN code
                   for performing DES.

[DES]「データ暗号化規格」、米国米国商務省標準技術局、FIPS46-3、1999年10月。 「データ暗号化アルゴリズム」、American National Standards Institut、ANSI X3.92-1981も。 FIPS112も、DESを実行するためのFORTRANコードを含んでいる「パスワード用法」を見てください。

   [D-H]           Rescorla, E., "Diffie-Hellman Key Agreement Method",
                   RFC 2631, June 1999.

[D-H] レスコラ、E.、「ディフィー-ヘルマンの主要な協定メソッド」、RFC2631、1999年6月。

   [DNSSEC1]       Arends, R., Austein, R., Larson, M., Massey, D., and
                   S. Rose, "DNS Security Introduction and
                   Requirements", RFC 4033, March 2005.

[DNSSEC1] Arends、R.Austein、R.、ラーソン、M.、マッシー、D.、およびS.ローズ、「DNSセキュリティ序論と要件」(RFC4033)は2005を行進させます。

   [DNSSEC2]       Arends, R., Austein, R., Larson, M., Massey, D., and
                   S. Rose, "Resource Records for the DNS Security
                   Extensions", RFC 4034, March 2005.

[DNSSEC2] Arends、R.、Austein、R.、ラーソン、M.、マッシー、D.、およびS.が上昇したと「リソースはDNSセキュリティ拡張子のために記録します」、RFC4034、2005年3月。

   [DNSSEC3]       Arends, R., Austein, R., Larson, M., Massey, D., and
                   S. Rose, "Protocol Modifications for the DNS Security
                   Extensions", RFC 4035, March 2005.

[DNSSEC3]Arends(R.、Austein、R.、ラーソン、M.、マッシー、D.、およびS.ローズ)は「DNSセキュリティ拡張子のための変更について議定書の中で述べます」、RFC4035、2005年3月。

Eastlake, et al.            Standards Track                    [Page 41]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[41ページ]。

   [DoD]           "Password Management Guideline", United States of
                   America, Department of Defense, Computer Security
                   Center, CSC-STD-002-85, April 1885.

[DoD]「パスワード管理ガイドライン」、アメリカ合衆国、国防総省、コンピュータセキュリティセンター、CSC-STD-002-85、1885年4月。

                   (See also "Password Usage", FIPS 112, which
                   incorporates CSC-STD-002-85 as one of its appendices.
                   FIPS 112 is currently available at:
                   http://www.idl.nist.gov/fipspubs/fip112.htm.)

(また、「パスワード用法」、付録の1つとしてCSC-STD-002-85を組み込むFIPS112を見てください。 FIPS112は現在、以下で利用可能です。 http://www.idl.nist.gov/fipspubs/fip112.htm 。)

   [DSS]           "Digital Signature Standard (DSS)", US National
                   Institute of Standards and Technology, FIPS 186-2,
                   January 2000.

[DSS]「デジタル署名基準(DSS)」、米国米国商務省標準技術局、FIPS186-2、2000年1月。

   [DSS_CN1]       "Digital Signature Standard Change Notice 1", US
                   National Institute of Standards and Technology, FIPS
                   186-2 Change Notice 1, 5, October 2001.

[DSS_CN1] 「デジタル署名基準変更通知1インチ、米国米国商務省標準技術局、FIPS186-2は通知1、5を変えます、2001年10月。」

   [FERGUSON]      Ferguson, N. and B. Schneier, "Practical
                   Cryptography",  Wiley Publishing Inc., ISBN
                   047122894X, April 2003.

[ファーガソン] ファーガソンとN.とB.シュナイアー、「実際的な暗号」、2003年4月に株式会社、ISBN 047122894Xを発行するワイリー。

   [GIFFORD]       Gifford, D., "Natural Random Number", MIT/LCS/TM-371,
                   September 1988.

[ギフォード]ギフォード、D.、「自然な乱数」、MIT/LCS/TM-371、1988年9月。

   [IEEE_802.11i]  "Amendment to Standard for Telecommunications and
                   Information Exchange Between Systems - LAN/MAN
                   Specific Requirements - Part 11: Wireless Medium
                   Access Control (MAC) and physical layer (PHY)
                   specifications: Medium Access Control (MAC) Security
                   Enhancements", IEEE, January 2004.

[IEEE_802.11i] 「テレコミュニケーションの規格の修正とシステムの間の情報交換(LAN/男性決められた一定の要求)は11を分けます」。 ワイヤレスのMedium Access Control(MAC)と物理的な層(PHY)の仕様: 「媒体アクセス制御(MAC)セキュリティ増進」、IEEE、2004年1月。

   [IPSEC]         Kent, S. and R. Atkinson, "Security Architecture for
                   the Internet Protocol", RFC 2401, November 1998.

[IPSEC] ケントとS.とR.アトキンソン、「インターネットプロトコルのためのセキュリティー体系」、RFC2401、1998年11月。

   [Jakobsson]     Jakobsson, M., Shriver, E., Hillyer, B., and A.
                   Juels, "A practical secure random bit generator",
                   Proceedings of the Fifth ACM Conference on Computer
                   and Communications Security, 1998.

[Jakobsson]Jakobssonとコンピュータの上の黙秘権ACMコンファレンスのM.とシュライバーとE.とヒリヤー、B.とA.Juels、「実用的な安全な無作為の噛み付いているジェネレータ」ProceedingsとCommunications Security、1998。

   [KAUFMAN]       Kaufman, C., Perlman, R., and M. Speciner, "Network
                   Security:  Private Communication in a Public World",
                   Prentis Hall PTR, ISBN 0-13-046019-2, 2nd Edition
                   2002.

[コーフマン]コーフマン、C.、パールマン、R.、およびM.Speciner、「セキュリティをネットワークでつないでください」 「公立の世界の私信」、ブレンティスホールPTR、ISBN0-13-046019-2、第2版2002

Eastlake, et al.            Standards Track                    [Page 42]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[42ページ]。

   [KeyStudy]      Blaze, M., Diffie, W., Riverst, R., Schneier, B.
                   Shimomura, T., Thompson, E., and M.  Weiner, "Minimal
                   Key Lengths for Symmetric Ciphers to Provide Adequate
                   Commercial Security: A Report by an Ad Hoc Group of
                   Cryptographers and Computer Scientists", January
                   1996.  Currently available at:
                   http://www.crypto.com/papers/keylength.txt and
                   http://www.securitydocs.com/library/441.

[KeyStudy] 炎、M.、ディフィー、W.、Riverst、R.、シュナイアー、B.Shimomura、T.、トンプソン、E.、およびM.ヴェイネル、「左右対称の暗号が適切な商業セキュリティを提供する最小量のキー長:」 1996年1月の「暗号使用者とコンピュータ科学者の専門家班によるレポート。」 現在、利用可能: http://www.crypto.com/papers/keylength.txt と http://www.securitydocs.com/library/441 。

   [KNUTH]         Knuth, D., "The Art of Computer Programming", Volume
                   2:  Seminumerical Algorithms, Chapter 3: Random
                   Numbers, Addison-Wesley Publishing Company, 3rd
                   Edition, November 1997.

[クヌース]クヌース、D.、「コンピュータ・プログラミングの芸術」、第2巻: Seminumericalアルゴリズム、第3章: 乱数、アディソン-ウエスリー出版社、第3版、1997年11月。

   [KRAWCZYK]      Krawczyk, H., "How to Predict Congruential
                   Generators", Journal of Algorithms, V. 13, N. 4,
                   December 1992.

[KRAWCZYK]Krawczyk、H.、「どうCongruentialジェネレータを予測します」アルゴリズムのジャーナル、V.13、1992年のN.12月4日。

   [LUBY]          Luby, M., "Pseudorandomness and Cryptographic
                   Applications", Princeton University Press, ISBN
                   0691025460, 8 January 1996.

[LUBY] Luby、M.、「Pseudorandomnessの、そして、暗号のアプリケーション」、プリンストン大学出版局、ISBN0691025460、1996年1月8日。

   [MAIL_PEM1]     Linn, J., "Privacy Enhancement for Internet
                   Electronic Mail: Part I: Message Encryption and
                   Authentication Procedures", RFC 1421, February 1993.

[メール_PEM1]リン、J.、「インターネット電子メールのためのプライバシー増進:」 部分I: 「メッセージ暗号化と認証手順」、RFC1421、2月1993日

   [MAIL_PEM2]     Kent, S., "Privacy Enhancement for Internet
                   Electronic Mail: Part II: Certificate-Based Key
                   Management", RFC 1422, February 1993.

[メール_PEM2]ケント、S.、「インターネット電子メールのためのプライバシー増進:」 パートII: 「証明書ベースのKey Management」、RFC1422、1993年2月。

   [MAIL_PEM3]     Balenson, D., "Privacy Enhancement for Internet
                   Electronic Mail: Part III: Algorithms, Modes, and
                   Identifiers", RFC 1423, February 1993.

[メール_PEM3]Balenson、D.、「インターネット電子メールのためのプライバシー増進:」 パートIII: 「アルゴリズム、モード、および識別子」、RFC1423、2月1993日

   [MAIL_PEM4]     Kaliski, B., "Privacy Enhancement for Internet
                   Electronic Mail: Part IV: Key Certification and
                   Related Services", RFC 1424, February 1993.

[メール_PEM4]Kaliski、B.、「インターネット電子メールのためのプライバシー増進:」 パートIV: 「主要な証明の、そして、関連のサービス」、RFC1424、1993年2月。

   [MAIL_PGP1]     Callas, J., Donnerhacke, L., Finney, H., and R.
                   Thayer, "OpenPGP Message Format", RFC 2440, November
                   1998.

[_PGP1] カラスとJ.とDonnerhackeとL.とフィニー、H.とR.セイヤー、「OpenPGPメッセージ・フォーマット」にRFC2440、1998年11月を郵送してください。

   [MAIL_PGP2]     Elkins, M., Del Torto, D., Levien, R., and T.
                   Roessler, "MIME Security with OpenPGP", RFC 3156,
                   August 2001.

2001年8月の[メール_PGP2]エルキンズとM.とデルTortoとD.とレヴィエン、R.とT.Roessler、「OpenPGPがあるMIMEセキュリティ」RFC3156。

Eastlake, et al.            Standards Track                    [Page 43]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[43ページ]。

   [S/MIME]        RFCs 2632 through 2634:

[S/MIME] RFCs2632年から2634:

                   Ramsdell, B., "S/MIME Version 3 Certificate
                   Handling", RFC 2632, June 1999.

Ramsdell、B.、「S/MIMEバージョン3証明書取り扱い」、RFC2632、1999年6月。

                   Ramsdell, B., "S/MIME Version 3 Message
                   Specification", RFC 2633, June 1999.

Ramsdell、B.、「S/MIMEバージョン3メッセージ仕様」、RFC2633、1999年6月。

                   Hoffman, P., "Enhanced Security Services for S/MIME",
                   RFC 2634, June 1999.

ホフマン、P.、「S/MIMEのための警備の強化サービス」、RFC2634、1999年6月。

   [MD4]           Rivest, R., "The MD4 Message-Digest Algorithm", RFC
                   1320, April 1992.

[MD4] Rivest、R.、「MD4メッセージダイジェストアルゴリズム」、RFC1320、1992年4月。

   [MD5]           Rivest, R., "The MD5 Message-Digest Algorithm ", RFC
                   1321, April 1992.

[MD5] Rivest、R.、「MD5メッセージダイジェストアルゴリズム」、RFC1321、1992年4月。

   [MODES]         "DES Modes of Operation", US National Institute of
                   Standards and Technology, FIPS 81, December 1980.
                   Also:  "Data Encryption Algorithm - Modes of
                   Operation", American National Standards Institute,
                   ANSI X3.106-1983.

[モード]「DES運転モード」、米国米国商務省標準技術局、FIPS81、1980年12月。 また: 「データ暗号化、アルゴリズム--運転モード、」、American National Standards Institut、ANSI X3.106-1983。

   [MOORE]         Moore's Law: the exponential increase in the logic
                   density of silicon circuits.  Originally formulated
                   by Gordon Moore in 1964 as a doubling every year
                   starting in 1962, in the late 1970s the rate fell to
                   a doubling every 18 months and has remained there
                   through the date of this document.  See "The New
                   Hacker's Dictionary", Third Edition, MIT Press, ISBN
                   0-262-18178-9, Eric S.  Raymond, 1996.

[ムーア]ムーアの法則: シリコン回路の論理密度の急激な増加。 元々、1964年に毎年の1962年に始まる倍増としてゴードン・ムーアによって定式化されています、1970年代後半に、レートは、倍増している18カ月毎まで低下して、そこにこのドキュメントの日付まで残っていました。 「新しいハッカーの辞書」、第3版、MITプレス、ISBN0-262-18178-9、エリック・S.レイモンド、1996を見てください。

   [NASLUND]       Naslund, M. and A. Russell, "Extraction of Optimally
                   Unbiased Bits from a Biased Source", IEEE
                   Transactions on Information Theory. 46(3), May 2000.

[ジーター]ジーターとM.とA.ラッセル、「偏っているソースからの最適に不遍のビットの抽出」、情報理論に関するIEEEトランザクション。 2000年5月の46(3)。

   [ORMAN]         Orman, H. and P. Hoffman, "Determining Strengths For
                   Public Keys Used For Exchanging Symmetric Keys", BCP
                   86, RFC 3766, April 2004.

[ORMAN] OrmanとH.とP.ホフマン、「対称鍵を交換するのに使用される公開鍵のために強さを測定する」BCP86、RFC3766、2004年4月。

   [RFC1750]       Eastlake 3rd, D., Crocker, S., and J. Schiller,
                   "Randomness Recommendations for Security", RFC 1750,
                   December 1994.

[RFC1750]イーストレーク3番目、D.とクロッカー、S.とJ.シラー、「セキュリティのための偶発性推薦」RFC1750、1994年12月。

   [RFC1948]       Bellovin, S., "Defending Against Sequence Number
                   Attacks", RFC 1948, May 1996.

[RFC1948]Bellovin S. (「一連番号攻撃に対して防御すること」でのRFC1948)は1996がそうするかもしれません。

Eastlake, et al.            Standards Track                    [Page 44]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[44ページ]。

   [RFC2104]       Krawczyk, H., Bellare, M., and R. Canetti, "HMAC:
                   Keyed-Hashing for Message Authentication", RFC 2104,
                   February 1997.

[RFC2104] Krawczyk、H.、Bellare、M.、およびR.カネッティ、「HMAC:」 「通報認証のための合わせられた論じ尽くす」RFC2104、1997年2月。

   [RSA_BULL1]     "Suggestions for Random Number Generation in
                   Software", RSA Laboratories Bulletin #1, January
                   1996.

[RSA_BULL1] 「ソフトウェアにおける乱数発生のための提案」、RSA研究所報告#1、1996年1月。

   [RSA_BULL13]    Silverman, R., "A Cost-Based Security Analysis of
                   Symmetric and Asymmetric Key Lengths", RSA
                   Laboratories Bulletin #13, April 2000 (revised
                   November 2001).

[RSA_BULL13] シルバーマン、R.、「左右対称の、そして、非対称のキー長の費用ベースの証券分析」、RSA研究所報告#13(2000(2001年11月に、改訂される)年4月)。

   [SBOX1]         Mister, S. and C. Adams, "Practical S-box Design",
                   Selected Areas in Cryptography, 1996.

[SBOX1] 「実用的なS-箱のデザイン」という氏、S.、およびC.アダムスは暗号、1996年に領域を選択しました。

   [SBOX2]         Nyberg, K., "Perfect Non-linear S-boxes", Advances in
                   Cryptography, Eurocrypt '91 Proceedings, Springer-
                   Verland, 1991.

K.、「完全な非線形のS-箱」という[SBOX2]ニーベルグは暗号、Eurocrypt91年の議事、追出石Verland、1991を進みます。

   [SCHNEIER]      Schneier, B., "Applied Cryptography: Protocols,
                   Algorithms, and Source Code in C", 2nd Edition, John
                   Wiley & Sons, 1996.

[シュナイアー]シュナイアー、B.、「適用された暗号:」 「プロトコルとアルゴリズムとC」のソースコードと第2版とジョン・ワイリーと息子、1996

   [SHANNON]       Shannon, C., "The Mathematical Theory of
                   Communication", University of Illinois Press, 1963.
                   Originally from:  Bell System Technical Journal, July
                   and October, 1948.

[シャノン]シャノン、C.、「コミュニケーションの数学の理論」、イリノイプレス大学、1963。 元々以下から ベルシステム専門誌、1948年7月、および10月。

   [SHIFT1]        Golub, S., "Shift Register Sequences", Aegean Park
                   Press, Revised Edition, 1982.

[SHIFT1] ゴラブ、S.、「シフトレジスタ系列」、エーゲ海の公園プレス、改訂版、1982。

   [SHIFT2]        Barker, W., "Cryptanalysis of Shift-Register
                   Generated Stream Cypher Systems", Aegean Park Press,
                   1984.

[SHIFT2] バーカー、W.、「シフトレジスタの発生しているストリーム暗号化システムの暗号文解読術」、エーゲ海の公園プレス、1984。

   [SHA]           "Secure Hash Standard", US National Institute of
                   Science and Technology, FIPS 180-2, 1 August 2002.

[SHA]「安全なハッシュ規格」、科学技術、FIPS180-2、2002年8月1日の米国の国家の研究所。

   [SHA_RFC]       Eastlake 3rd, D. and P. Jones, "US Secure Hash
                   Algorithm 1 (SHA1)", RFC 3174, September 2001.

[SHA_RFC]イーストレーク3番目とD.とP.ジョーンズ、「米国安全なハッシュアルゴリズム1(SHA1)」、RFC3174 2001年9月。

   [SSH]           Products of the SECSH Working Group, Works in
                   Progress, 2005.

SECSH作業部会、執筆中の作品、2005年の[セキュアシェル (SSH)]製品。

   [STERN]         Stern, J., "Secret Linear Congruential Generators are
                   not Cryptographically Secure", Proc. IEEE STOC, 1987.

[スターン]スターン、J.、「秘密のLinear Congruential GeneratorsはCryptographically Secureでない」Proc。 IEEE STOC、1987。

Eastlake, et al.            Standards Track                    [Page 45]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[45ページ]。

   [TLS]           Dierks, T. and C. Allen, "The TLS Protocol Version
                   1.0", RFC 2246, January 1999.

[TLS] Dierks、T.、およびC.アレン、「TLSは1999年1月にバージョン1インチ、RFC2246について議定書の中で述べます」。

   [TURBID]        Denker, J., "High Entropy Symbol Generator",
                   <http://www.av8n.com/turbid/paper/turbid.htm>, 2003.

[濁している] デンカー、J.、「高いエントロピーシンボルジェネレータ」、<http://www.av8n. com/濁している/紙/turbid.htm>、2003。

   [USENET_1]      Kantor, B. and P. Lapsley, "Network News Transfer
                   Protocol", RFC 977, February 1986.

[USENET_1] カンターとB.とP.ラプスリー、「ネットワークの電子情報を転送するプロトコル」、RFC977、1986年2月。

   [USENET_2]      Barber, S., "Common NNTP Extensions", RFC 2980,
                   October 2000.

[USENET_2] バーバー、S.、「一般的なNNTP拡張子」、RFC2980、2000年10月。

   [VON_NEUMANN]   Von Nuemann, J., "Various techniques used in
                   connection with random digits", Von Neumann's
                   Collected Works, Vol. 5, Pergamon Press, 1963.

[VON_ノイマン]フォンNuemann、J.、「乱数に関して使用される様々なテクニック」、VonノイマンのCollected Works、Vol.5、Pergamon Press、1963。

   [WSC]           Howard, M. and D. LeBlanc, "Writing Secure Code,
                   Second Edition", Microsoft Press, ISBN 0735617228,
                   December 2002.

[WSC] ハワード、M.、およびD.ルブランク、ISBN0735617228、「安全なコード、第2版を書い」て、マイクロソフトは押されて、12月は2002です。

   [X9.17]         "American National Standard for Financial Institution
                   Key Management (Wholesale)", American Bankers
                   Association, 1985.

[X9.17] 「金融機関Key Management(大量の)のための米国標準規格」、アメリカ銀行家協会、1985。

   [X9.82]         "Random Number Generation", American National
                   Standards Institute, ANSI X9F1, Work in Progress.
                      Part 1 - Overview and General Principles.
                      Part 2 - Non-Deterministic Random Bit Generators
                      Part 3 - Deterministic Random Bit Generators

[X9.82]「乱数発生」、American National Standards Institut、ANSI X9F1は進行中で働いています。 第1部--概要と綱領。 第2部--非決定論的な無作為のビットジェネレータは3--決定論的な無作為の噛み付いているジェネレータを分けます。

Eastlake, et al.            Standards Track                    [Page 46]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[46ページ]。

Authors' Addresses

作者のアドレス

   Donald E. Eastlake 3rd
   Motorola Laboratories
   155 Beaver Street
   Milford, MA 01757 USA

ドナルドE.イーストレーク第3モトローラ研究所155ビーバー通りMA01757ミルフォード(米国)

   Phone: +1 508-786-7554 (w)
          +1 508-634-2066 (h)
   EMail: Donald.Eastlake@motorola.com

以下に電話をしてください。 +1 508-786-7554 (w) +1 508-634-2066 (h) メールしてください: Donald.Eastlake@motorola.com

   Jeffrey I. Schiller
   MIT, Room E40-311
   77 Massachusetts Avenue
   Cambridge, MA 02139-4307 USA

ジェフリーI.シラーMIT、ケンブリッジ、余地のE40-311 77MA02139-4307米国マサチューセッツ通り

   Phone: +1 617-253-0161
   EMail: jis@mit.edu

以下に電話をしてください。 +1 617-253-0161 メールしてください: jis@mit.edu

   Steve Crocker

スティーブ・クロッカー

   EMail: steve@stevecrocker.com

メール: steve@stevecrocker.com

Eastlake, et al.            Standards Track                    [Page 47]

RFC 4086         Randomness Requirements for Security          June 2005

イーストレーク、他 規格は2005年6月にセキュリティのためのRFC4086偶発性要件を追跡します[47ページ]。

Full Copyright Statement

完全な著作権宣言文

   Copyright (C) The Internet Society (2005).

Copyright(C)インターネット協会(2005)。

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

このドキュメントはBCP78に含まれた権利、ライセンス、および制限を受けることがあります、そして、そこに詳しく説明されるのを除いて、作者は彼らのすべての権利を保有します。

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

このドキュメントと「そのままで」という基礎と貢献者、その人が代表する組織で提供するか、または後援されて、インターネット協会とインターネット・エンジニアリング・タスク・フォースはすべての保証を放棄します、と急行ORが含意したということであり、他を含んでいて、ここに含まれて、情報の使用がここに侵害しないどんな保証も少しもまっすぐになるという情報か市場性か特定目的への適合性のどんな黙示的な保証。

Intellectual Property

知的所有権

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

IETFはどんなIntellectual Property Rightsの正当性か範囲、実装に関係すると主張されるかもしれない他の権利、本書では説明された技術の使用またはそのような権利の下におけるどんなライセンスも利用可能であるかもしれない、または利用可能でないかもしれない範囲に関しても立場を全く取りません。 または、それはそれを表しません。どんなそのような権利も特定するどんな独立している取り組みも作りました。 BCP78とBCP79でRFCドキュメントの権利に関する手順に関する情報を見つけることができます。

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

IPR公開のコピーが利用可能に作られるべきライセンスの保証、または一般的な免許を取得するのが作られた試みの結果をIETF事務局といずれにもしたか、または http://www.ietf.org/ipr のIETFのオンラインIPR倉庫からこの仕様のimplementersかユーザによるそのような所有権の使用のために許可を得ることができます。

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.

IETFはこの規格を実装するのに必要であるかもしれない技術をカバーするかもしれないどんな著作権もその注目していただくどんな利害関係者、特許、特許出願、または他の所有権も招待します。 ietf ipr@ietf.org のIETFに情報を扱ってください。

Acknowledgement

承認

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

RFC Editor機能のための基金は現在、インターネット協会によって提供されます。

Eastlake, et al.            Standards Track                    [Page 48]

イーストレーク、他 標準化過程[48ページ]

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

カラーモードをCMYKで保存したJPEG画像は表示できません

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る