Randomness Requirements for Security
Metadata
- Publisher
- IETF
- Doc Type
- Best Practice
- Pages
- 48
- 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. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.
- Publication Date
- 2005-06-01
- Status Note
- Best Current Practice
- DOI
10.17487/RFC4086- Link
- https://doi.org/10.17487/RFC4086
- Author(s)
- Donald E. Eastlake 3rdJeffrey I. SchillerSteve Crocker
- Keyword(s)
- Cryptographic Algorithms, Passwords, Cryptographic Keys, Pseudo-random, Random Numbers, SEED
Latest version of IETF RFC 4086
Document Versions — IETF RFC 4086
-
▶ IETF RFC 4086 (2005-06-01)THIS DOC [ACTIVE] [LATEST VERSION]
Bibliographic Reference(s)
- ISBN.047122894X — FERGUSON EXTERNAL
- ISBN.0130460192 — KAUFMAN EXTERNAL
- ISBN.0262181789 — MOORE EXTERNAL
- ISBN.0691025460 — LUBY EXTERNAL
- ISBN.0735617228 — WSC EXTERNAL
- ISBN.0865313385 — ASYMMETRIC EXTERNAL
- ISBN.9780471117094 — 7. Menezes A. van Oorshot P. Vanstone S. , Handbook of Applied Cryptography , CRC Press , 1997 . EXTERNAL
- NIST FIPS 46-3 [Withdrawn]
- NIST.FIPS.81 — FIPS PUB 81, DES Modes of Operation, 2 December 1980, defines specific modes in which the Data Encryption Standard algorithm may to be used to perform encryption. EXTERNAL
- NIST.FIPS.112 — DoD EXTERNAL
- NIST FIPS 180-2 [Withdrawn]
- NIST FIPS PUB 186-2 [Withdrawn]
- NIST FIPS 197 [Superseded]
- Shannon, C., "The Mathematical Theory of Communication", University of Illinois Press, 1963. Originally from: Bell System Technical Journal, July and October, 1948. EXTERNAL
- Von Nuemann, J., "Various techniques used in connection with random digits", Von Neumann's Collected Works, Vol. 5, Pergamon Press, 1963. EXTERNAL
- Silverman, R., "A Cost-Based Security Analysis of Symmetric and Asymmetric Key Lengths", RSA Laboratories Bulletin #13, April 2000 (revised November 2001). EXTERNAL
- Products of the SECSH Working Group, Works in Progress, 2005. EXTERNAL
- "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 EXTERNAL
- "American National Standard for Financial Institution Key Management (Wholesale)", American Bankers Association, 1985. EXTERNAL
- 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. EXTERNAL
- Golub, S., "Shift Register Sequences", Aegean Park Press, Revised Edition, 1982. EXTERNAL
- "C.R.C. Standard Mathematical Tables", Chemical Rubber Publishing Company. EXTERNAL
- Blum, L., Blum, M., and M. Shub, "A Simple Unpredictable Pseudo-Random Number Generator", SIAM Journal on Computing, v. 15, n. 2, 1986. EXTERNAL
- 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 . EXTERNAL
- "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. EXTERNAL
- Brillinger, D., "Time Series: Data Analysis and Theory", Holden-Day, 1981. EXTERNAL
- "Suggestions for Random Number Generation in Software", RSA Laboratories Bulletin #1, January 1996. EXTERNAL
- "Password Management Guideline", United States of America, Department of Defense, Computer Security Center, CSC-STD-002-85, April 1885. EXTERNAL
- Krawczyk, H., "How to Predict Congruential Generators", Journal of Algorithms, V. 13, N. 4, December 1992. EXTERNAL
- Gifford, D., "Natural Random Number", MIT/LCS/TM-371, September 1988. EXTERNAL
- Mister, S. and C. Adams, "Practical S-box Design", Selected Areas in Cryptography, 1996. EXTERNAL
- Knuth, D., "The Art of Computer Programming", Volume 2: Seminumerical Algorithms, Chapter 3: Random Numbers, Addison-Wesley Publishing Company, 3rd Edition, November 1997. EXTERNAL
- Denker, J., "High Entropy Symbol Generator", < http://www.av8n.com/turbid/paper/turbid.htm >, 2003. EXTERNAL
- Nyberg, K., "Perfect Non-linear S-boxes", Advances in Cryptography, Eurocrypt '91 Proceedings, Springer- Verland, 1991. EXTERNAL
- Barker, W., "Cryptanalysis of Shift-Register Generated Stream Cypher Systems", Aegean Park Press, 1984. EXTERNAL
- Naslund, M. and A. Russell, "Extraction of Optimally Unbiased Bits from a Biased Source", IEEE Transactions on Information Theory. 46(3), May 2000. EXTERNAL
- 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. EXTERNAL
- Stern, J., "Secret Linear Congruential Generators are not Cryptographically Secure", Proc. IEEE STOC, 1987. EXTERNAL
- IETF RFC 977 [Superseded*]
- IETF RFC 1320 [Superseded*]
- IETF RFC 1321 [Active*]
- IETF RFC 1421 [Active*]
- IETF RFC 1422 [Active*]
- IETF RFC 1423 [Active*]
- IETF RFC 1424 [Active*]
- IETF RFC 1750 [Superseded*]
- IETF RFC 1948 [Superseded*]
- IETF RFC 2104 [Active, Amended*]
- IETF RFC 2246 [Superseded*]
- IETF RFC 2401 [Superseded*]
- IETF RFC 2440 [Superseded*]
- IETF RFC 2631 [Active*]
- IETF RFC 2632 [Superseded*]
- IETF RFC 2633 [Superseded*]
- IETF RFC 2634 [Active*]
- IETF RFC 2980 [Active*]
- IETF RFC 3156 [Active*]
- IETF RFC 3174 [Active, Amended*]
- IETF RFC 3766 [Active*]
- IETF RFC 4033 [Active*]
- IETF RFC 4034 [Active*]
- IETF RFC 4035 [Active*]
Source Data (JSON)
Full registry record with provenance metadata. Open directly: /api/doc/RFC4086.json
Reference Tree
Explore all references and references to this document, as a navigable tree.
Open Reference TreeReference this Doc
Plain text (ISO 690 compliant)
Preview:
IETF RFC 4086, Randomness Requirements for Security. Available at https://doi.org/10.17487/RFC4086
Snippet:
IETF RFC 4086, Randomness Requirements for Security. Available at https://doi.org/10.17487/RFC4086
HTML (ISO 690 compliant)
Preview:
IETF RFC 4086, Randomness Requirements for Security. Available at https://doi.org/10.17487/RFC4086
Snippet:
<span class="citation"><cite>IETF RFC 4086</cite>, Randomness Requirements for Security. Available at <a href="https://doi.org/10.17487/RFC4086" target="_blank" rel="noopener">https://doi.org/10.17487/RFC4086</a></span>
SMPTE's HTML Pub
Preview:
IETF RFC 4086, Randomness Requirements for Security
doi: 10.17487/RFC4086
url: https://doi.org/10.17487/RFC4086
doi: 10.17487/RFC4086
url: https://doi.org/10.17487/RFC4086
Snippet:
<li> <cite id="bib-rfc4086">IETF RFC 4086</cite>, Randomness Requirements for Security <span class="doi">10.17487/RFC4086</span> </li>
Referenced By
- IETF RFC 4004 [Active*]
- IETF RFC 4107 [Active*]
- IETF RFC 4120 [Active*]
- IETF RFC 4122 [Superseded*]
- IETF RFC 4186 [Active*]
- IETF RFC 4187 [Active*]
- IETF RFC 4193 [Active*]
- IETF RFC 4211 [Active*]
- IETF RFC 4251 [Active*]
- IETF RFC 4279 [Active*]
- IETF RFC 4306 [Superseded*]
- IETF RFC 4340 [Active*]
- IETF RFC 4346 [Superseded*]
- IETF RFC 4493 [Active*]
- IETF RFC 4507 [Superseded*]
- IETF RFC 4535 [Active*]
- IETF RFC 4538 [Active*]
- IETF RFC 4615 [Active*]
- IETF RFC 4634 [Superseded*]
- IETF RFC 4721 [Active*]
- IETF RFC 4763 [Active*]
- IETF RFC 4764 [Active*]
- IETF RFC 4851 [Active*]
- IETF RFC 4861 [Active*]
- IETF RFC 4880 [Superseded*]
- IETF RFC 4895 [Active*]
- IETF RFC 4941 [Superseded*]
- IETF RFC 4949 [Active*]
- IETF RFC 4960 [Superseded*]
- IETF RFC 5018 [Active*]
- IETF RFC 5077 [Superseded*]
- IETF RFC 5116 [Active*]
- IETF RFC 5191 [Active*]
- IETF RFC 5246 [Superseded*]
- IETF RFC 5272 [Superseded*]
- IETF RFC 5415 [Active*]
- IETF RFC 5652 [Active*]
- IETF RFC 5751 [Superseded*]
- IETF RFC 5766 [Superseded*]
- IETF RFC 5931 [Active*]
- IETF RFC 5971 [Active*]
- IETF RFC 5996 [Superseded*]
- IETF RFC 5997 [Active*]
- IETF RFC 6012 [Active*]
- IETF RFC 6090 [Active*]
- IETF RFC 6120 [Active*]
- IETF RFC 6124 [Active*]
- IETF RFC 6234 [Active*]
- IETF RFC 6275 [Active*]
- IETF RFC 6455 [Active*]
- IETF RFC 6733 [Active*]
- IETF RFC 7030 [Active*]
- IETF RFC 7170 [Superseded*]
- IETF RFC 7217 [Active*]
- IETF RFC 7252 [Active*]
- IETF RFC 7296 [Active*]
- IETF RFC 7515 [Active*]
- IETF RFC 7616 [Active*]
- IETF RFC 7925 [Active*]
- IETF RFC 8032 [Active*]
- IETF RFC 8446 [Superseded*]
- IETF RFC 8915 [Active*]
- IETF RFC 9000 [Active*]
- IETF RFC 9048 [Active*]
- IETF RFC 9725 [Active*]