Коллеги добрый день такой вопрос может где то есть исследования насколько использование функции CNG BCryptGenRandom безопасно для генерации ключей для симметричного шифрования. Если ли нюансы, если атакующему известно скажем 64-128 байт выданной последовательности этой функции, до того, как были созданы ключи и еще до 1024 байт после?
Кастомер не хочет исползать UI, что бы конечный пользователь сам мог вбить какую-то случайную последовательность (как в том же TrueCrypto), которая будет использоваться для “энтропии”.
Здравствуйте, JacobR, Вы писали:
JR>Добрый день,
JR> Коллеги добрый день такой вопрос может где то есть исследования насколько использование функции CNG BCryptGenRandom безопасно для генерации ключей для симметричного шифрования. Если ли нюансы, если атакующему известно скажем 64-128 байт выданной последовательности этой функции, до того, как были созданы ключи и еще до 1024 байт после? JR>Кастомер не хочет исползать UI, что бы конечный пользователь сам мог вбить какую-то случайную последовательность (как в том же TrueCrypto), которая будет использоваться для “энтропии”.
согласно мсдн, The default random number provider implements an algorithm for generating random numbers that complies with the NIST SP800-90 standard, specifically the CTR_DRBG portion of that standard.
Вики говорит что CTR_DRBG основан на алгоритме блочного шифра
В винде испольуется AES а в качестве V и K "Поставщик криптографических услуг Windows CryptAPI хранит переменную начального состояния у каждого пользователя. Когда вызывается CryptGenRandom, это сочетается с любой случайностью, предоставленной в вызове, и с различными системными и пользовательскими данными, такими как процесс ID, поток ID, системные часы, системное время, системный счетчик, состояние памяти, кластеры свободных дисков и блок хэшированной пользовательской среды"
Доки МС утверждают, что BCryptGenRandom это криптографически стойкий генератор. Так что похоже что знание байт до и после атакующему не поможет.
Здравствуйте, mike_rs, Вы писали:
_>Доки МС утверждают, что BCryptGenRandom это криптографически стойкий генератор. Так что похоже что знание байт до и после атакующему не поможет.
Спасибо, будем надеется, что у них нет закладок или багов в реализации)