Криптографически защищенный генератор псевдослучайных чисел
-
Определение и история CSPRNG
- CSPRNG — это криптографически стойкий генератор псевдослучайных чисел.
- CSPRNG используются для генерации ключей и других криптографических операций.
- Они отличаются от генераторов псевдослучайных чисел тем, что их выходные данные должны быть непредсказуемыми.
-
История и развитие CSPRNG
- Первые CSPRNG были разработаны в 1970-х годах для защиты от атак на генераторы случайных чисел.
- В 1990-х годах были разработаны стандарты для CSPRNG, включая ANSI X9.17 и NIST SP 800-90.
- В 2000-х годах появились новые стандарты, такие как FIPS 186-4 и NIST SP 800-90A Rev.1.
-
Криптографические стандарты и безопасность
- FIPS 186-4 содержит четыре PRNG, два из которых доказаны, а другие два имеют недостатки.
- NIST SP 800-90A Rev.1 удаляет Dual EC DRBG и заменяет его другими PRNG.
- Существуют стандарты для статистического тестирования новых конструкций CSPRNG.
-
Практические схемы CSPRNG
- Yarrow и Fortuna являются практическими схемами CSPRNG, используемыми в различных операционных системах.
- Ядро Linux CSPRNG использует ChaCha20 и BLAKE2s.
- arc4random и CryptGenRandom являются примерами CSPRNG в Unix-подобных системах и Windows.
-
Клептографический бэкдор в Dual EC DRBG
- В 2013 году было сообщено о бэкдоре АНБ в Dual EC DRBG, что позволяет АНБ расшифровывать зашифрованные данные.
- Некоторые компании, включая RSA Security, продолжали использовать Dual EC DRBG несмотря на бэкдор.
-
Недостатки в системе безопасности
- Атаки на WPA2 и японская шифровальная машина во время Второй мировой войны указывают на недостатки в системе безопасности.
-
Рекомендации и внешние ссылки
- В статье представлены рекомендации и внешние ссылки, включая RFC 4086 и Java «entropy pool».
Полный текст статьи: