@misc{rfc4086, series = {Request for Comments}, number = 4086, howpublished = {RFC 4086}, publisher = {RFC Editor}, doi = {10.17487/RFC4086}, url = {https://www.rfc-editor.org/info/rfc4086}, author = {Donald E. Eastlake 3rd and Steve Crocker and Jeffrey I. Schiller}, title = {{Randomness Requirements for Security}}, pagetotal = 48, year = 2005, month = jun, 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.}, }