RFC4086 · Требования к случайности для безопасности
Randomness Requirements for Security
RFC 4086 описывает практики получения непредсказуемых случайных величин для паролей, криптографических ключей, векторов инициализации, номеров последовательности и других задач безопасности. Документ объясняет риски слабых источников энтропии и статистически случайных, но предсказуемых псевдослучайных последовательностей. Рекомендуются аппаратные источники энтропии, смешивание некоррелированных источников и криптографически стойкие генераторы, и приводятся примеры требуемых объёмов случайности. RFC имеет статус Best Current Practice для интернет-сообщества.
IETF · RFC
Назначение
Помочь проектировщикам и разработчикам безопасно генерировать непредсказуемые секретные величины и оценивать достаточность их энтропии.
Применение
Применять при проектировании генерации ключей, паролей, начальных значений, номеров последовательности и криптографических генераторов случайных чисел; учитывать источники энтропии, их возможную управляемость противником, смешивание и защиту внутреннего состояния генератора.
Документ опубликован в июне 2005 года как BCP 106 и заменяет RFC 1750. Оценки алгоритмов, программных интерфейсов и размеров ключей отражают состояние на момент публикации; современные решения следует сверять с актуальными криптографическими стандартами.
Официальная английская аннотация
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.
{
"id": "RFC4086",
"number": 4086,
"title_en": "Randomness Requirements for Security",
"title_ru": "Требования к случайности для безопасности",
"summary_ru": "RFC 4086 описывает практики получения непредсказуемых случайных величин для паролей, криптографических ключей, векторов инициализации, номеров последовательности и других задач безопасности. Документ объясняет риски слабых источников энтропии и статистически случайных, но предсказуемых псевдослучайных последовательностей. Рекомендуются аппаратные источники энтропии, смешивание некоррелированных источников и криптографически стойкие генераторы, и приводятся примеры требуемых объёмов случайности. RFC имеет статус Best Current Practice для интернет-сообщества.",
"purpose_ru": "Помочь проектировщикам и разработчикам безопасно генерировать непредсказуемые секретные величины и оценивать достаточность их энтропии.",
"use_ru": "Применять при проектировании генерации ключей, паролей, начальных значений, номеров последовательности и криптографических генераторов случайных чисел; учитывать источники энтропии, их возможную управляемость противником, смешивание и защиту внутреннего состояния генератора.",
"full_translation_path": "translations/rfc4086.html",
"full_translation_checked_at": "2026-10-10",
"full_translation_source_sha256": "d2c111e67e7628c3de41887c79ed87d0ba69ef1310eeb6698bdfb17fb9651589",
"architect_note_ru": "Документ опубликован в июне 2005 года как BCP 106 и заменяет RFC 1750. Оценки алгоритмов, программных интерфейсов и размеров ключей отражают состояние на момент публикации; современные решения следует сверять с актуальными криптографическими стандартами.",
"topics_ru": [],
"translation_state": "reviewed",
"verification_level": "primary_source_reviewed",
"verification_level_ru": "Проверено по первичному тексту и реестру RFC Editor",
"verification_note_ru": "Полный текст и карточка независимо сверены с первоисточником. 2026-10-10",
"abstract_en": "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.",
"authors": [
"D. Eastlake 3rd",
"J. Schiller",
"S. Crocker"
],
"organizations": [],
"publication_date": "2005-06-01",
"current_status": "BEST CURRENT PRACTICE",
"current_status_ru": "Лучшая современная практика",
"publication_status": "BEST CURRENT PRACTICE",
"publication_status_ru": "Лучшая современная практика",
"lifecycle": "active",
"lifecycle_ru": "Действующий",
"stream": "IETF",
"stream_ru": "IETF",
"area": "",
"area_ru": "",
"working_group": "NON WORKING GROUP",
"source_draft": "draft-eastlake-randomness2-10",
"page_count": 48,
"doi": "10.17487/RFC4086",
"keywords": [
"cryptographic algorithms",
"passwords",
"cryptographic keys",
"pseudo-random",
"random",
"numbers",
"seed"
],
"formats": [
"TXT",
"HTML"
],
"relations": {
"obsoletes": [
"RFC1750"
],
"obsoleted_by": [],
"updates": [],
"updated_by": [],
"is_also": [
"BCP106"
],
"see_also": []
},
"links": {
"info": "https://www.rfc-editor.org/info/rfc4086/",
"html": "https://www.rfc-editor.org/rfc/rfc4086.html",
"txt": "https://www.rfc-editor.org/rfc/rfc4086.txt",
"datatracker": "https://datatracker.ietf.org/doc/rfc4086/"
}
}