выбираем новый ГПСЧ в DiskCryptor
В новой версии DiskCryptor, в целях улучшения доверия, я хочу поменять ГПСЧ на какую-нибудь стандартную, хорошо изученную конструкцию.
Рассмотренные варианты:
1. AES_CTR_DRBG. Плюсы: простота, изученность. Минусы: DC помимо AES позволяет использовать Twofish, Serpent, а также каскады. Завязывание на AES увеличивает количество точек отказа при использовании альтернативных шифров.
2. HASH_DRBG на sha512, который уже используется в pkdbf2 разворачивании ключей, следовательно его использование в PRNG не увеличивает количество точек отказа.
3. HMAC_DRBG. ИМХО более безопасный вариант, имеющий запас прочности на случай взлома хэшей. HMAC уже есть в программе, есть резон его использовать.
4. Yarrow. Плюсы: изученность, используется в BSD. Минусы: использует sha1, лишняя точка отказа. Нет официальных тестовых векторов.
5. Fortuna. Плюсы: самая параноидальная конструкция. Минусы: громоздкий, требует два криптопримитива, нет тестовых векторов.
6. Keccak. Плюсы: самый современный (но плюс ли это?), продвинутый дизайн. Минусы: еще не стандарт, использование лишних криптопримитивов (новая точка отказа).
Итого: наиболее подходящим видится HMAC DRBG. Какие мысли будут у вас?
комментариев: 9796 документов: 488 редакций: 5664
комментариев: 9796 документов: 488 редакций: 5664
Не знаю, что там подразумевается под ГПСЧ (при поверхностном чтении ничего про ГПСЧ там не увидел), но поведение рынка обычно описывается случайными блужданиями, которые есть вроде как тип марковского процесса. Именно из-за этого кривые выглядят хоть и ломаными, но грубо аппроксимируемыми какими-то интерполянтами (в полностью случайном процессе значения бы скакали на каждом шаге на произвольную величину, и аппроксимация стала бы бессмысленной).
Произвольный случайный процесс, в общем случае, конечно же немарковский, поэтому все эти модели прогнозов на нём не сработают. Т.е. нужно отличать случайность в рамках модели от случайности самой модели. Например, монетка со смещённым распределением (орёл выпадает чаще, чем решка) может быть совершенно случайной и непрогнозируемой в рамках своей модели, но наличие какой-то конкретной модели уже вносит некоторую конкретику, поэтому угадать выпадание смещённой монетки на практике проще, чем несмещённой (хотя полностью случайны как та, так и эта).
Ещё можно так пояснить: в теории вероятности полностью случайным называют то, что принципиально нельзя описать точнее, чем задав вероятности выборок из пространства событий (это подразумевает любые возможные типы распределений для случайной величины). А в криптографии полностью случайным называют конкретное распределение — i.i.d (независимые одинаково распределённые случайные величины).