Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Как я уже отмечал выше, если атакующий имеет 624 числа сгенерированных с помощью Вихря Мерсенна этого достаточно для того чтобы восстановить все внутреннее состояние и предугадывать с вероятностью 100% все генерируемые в последующем числа.
class CryptoMercenVortex
{
private const int MaxCalls = 600;
private Random _rand = new Random();
private int _calls = 0;
private MT19937 _mercen = new MT19937();
public int Next()
{
if (_calls++ > MaxCalls )
{
_mercen = new MT19937(_rand.Next());
_calls = 0;
}
return _mercen.Next();
}
}
В поисках криптостойкого ГПСЧ