rand() – можно ли предугадать?
Привет.
Можно ли предугадать rand() в линупсе(юнипсе, винде)? Можно получить сколько угодно значений, может даже сколько угодно последовательных.
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
Нормы пользования. Некоторые права на материалы сайта защищены по условиям лицензии CreativeCommons. Движок
openSpace 0.8.25a и дизайн сайта © 2006-2007 Vlad "SATtva" Miller.
|
||||||||||||||||||||||||
можно
комментариев: 212 документов: 27 редакций: 20
http://www.google.com/search? H.....crypto%2Frand&aqi=g3
http://www.google.com/search? H.....=crypto+rando&aqi=g3
ну чтойти такое могу предложить)
комментариев: 9796 документов: 488 редакций: 5664
комментариев: 212 документов: 27 редакций: 20
/comment31126
меня интересовало, можно ли его отломать, и если да, то как, а не как сделать надежный генератор.
Так как его сломать?
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 11558 документов: 1036 редакций: 4118
for i in [ 1..2**16 ]?
Вам unknown выше привёл цитату, что в ней непонятно? Какая разница, каков источник случайности, если значение пишется в целое единичной точности, имеющее длину 16 бит? Перебрать эти 16 бит — доля секунды на любом современном ПК.
Я по сети получаю с сервака значение, из него можно получить результат выполнения rand() на серваке. Есть возможность получить несколько последовательных значений (но не 2**16 есесно). По ним потом надо получить (предугадать) следующие (предыдущие значения). Можно ли так сделать?
Я думал, что я плохо сформулировал вопрос, но слово "предугадать" в теме как бы намекает..
комментариев: 11558 документов: 1036 редакций: 4118
А кто-то сказал, что нет?
А это уже зависит от источника энтропии в конкретной реализации функции. Но если сервер не ограничивает число попыток, выполняемых клиентом, опять же, достаточно перебрать всё пространство комбинаций.
Так конкретных советов никто не даст (кроме невыполнимого брутефорса)?