Посл.ответ |
Сообщение |
 Ранг: 467.7 (мудрец), 5thx Активность: 0.27↘0 Статус: Участник Иной :)
|
Создано: 29 января 2009 13:04 · Личное сообщение · #1
Предыдущая тема была закрыта, поэтому создал новую.
Раньше подымался вопрос насколько рандомны числа в PHP, так вот оказалось всеже рандомность не совсем случайная.
www.xakep.ru/post/46797/default.asp
Вперед на онлайн козино
----- Computer Security Laboratory | Сообщение посчитали полезным: |
|
Ранг: 203.3 (наставник) Активность: 0.22↘0 Статус: Участник UPX Killer -d
|
Создано: 29 января 2009 14:31 · Личное сообщение · #2
Странно. Вроде бы не секрет, что рандом на итерации (i+1) зависит от значения на шаге i.
Я откуда-то выковыривал функцию рандома на асме, всего строчек 10 да переменная для хранения предыдущего значения, на основе кот.вычисл.следующее зн-е.
----- Я медленно снимаю с неё UPX... *FF_User* | Сообщение посчитали полезным: |
Ранг: 251.3 (наставник), 81thx Активность: 0.14↘0.11 Статус: Участник
|
Создано: 29 января 2009 14:43 · Личное сообщение · #3
Писать брутфорсер на php это конечно жестоко...
| Сообщение посчитали полезным: |
 Ранг: 355.4 (мудрец), 55thx Активность: 0.32↘0 Статус: Uploader 5KRT
|
Создано: 29 января 2009 15:26 · Личное сообщение · #4
Если кейгены на пхп бывают, то почему же не...
----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes | Сообщение посчитали полезным: |
Ранг: 251.3 (наставник), 81thx Активность: 0.14↘0.11 Статус: Участник
|
Создано: 29 января 2009 18:08 · Личное сообщение · #5
Ну для кейгена который действительно генерит, а не брутит ключи скорость не так критична.
А вот для брутфорса скорость перебора очень даже критична, а у интерпретируемых языков она в любом случае будет меньше чем у native кода.
| Сообщение посчитали полезным: |
 Ранг: 467.7 (мудрец), 5thx Активность: 0.27↘0 Статус: Участник Иной :)
|
Создано: 29 января 2009 18:33 · Личное сообщение · #6
cppasm
imho это пример, а на чем уж реализовать, это дело второе.
----- Computer Security Laboratory | Сообщение посчитали полезным: |
Ранг: 3.8 (гость) Активность: 0=0 Статус: Участник
|
Создано: 17 февраля 2009 09:40 · Личное сообщение · #7
А если не инициализировать эти [s]не[/s]случайные числа, т.е. использовать вот так:
$rand = mt_rand(1, 1000000);
то что как здесь обстоят дела с крипто устойчивостью ? и вообще каким способом генерируется первый член последовательности ?
| Сообщение посчитали полезным: |
Ранг: 52.1 (постоянный), 1thx Активность: 0.02↘0 Статус: Участник
|
Создано: 17 февраля 2009 11:33 · Личное сообщение · #8
Первый член - функция от времени, есть переменная rnd_seed, которую можно установить самому, последующие случайные члены получаются из линейных конгруэнтных последовательностей.
В большинстве web-движнов переменная rnd_seed устанавливается как-нибудь вроде time*999999, т.е. диапазон первоначальных значений rnd_seed божет быть приблизительной определен.
Если я ничего не путаю.
| Сообщение посчитали полезным: |
Ранг: 253.9 (наставник) Активность: 0.13↘0 Статус: Участник
|
Создано: 17 февраля 2009 17:48 · Поправил: Tim · Личное сообщение · #9
то есть чтобы защититься, достаточно брать хэш от времени, а не само время? хм...
едит: гы, не прокатит ведь
----- MicroSoft? Is it some kind of a toilet paper? | Сообщение посчитали полезным: |
Ранг: 63.8 (постоянный), 2thx Активность: 0.03↘0 Статус: Участник
|
Создано: 18 февраля 2009 09:59 · Личное сообщение · #10
Tim
как по мне лучше просто писать свой make_seed() для srand с ксором на какою-то константу придуманную от балды или еще какой-то операцией... главное что бы не стандартно
| Сообщение посчитали полезным: |