Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | |
т.е. 4i+1, 2j+1 - очччень просто!!! 28.01.04 17:35 Число просмотров: 3715
Автор: cp Статус: Незарегистрированный пользователь
|
|
<theory>
|
Генерация равномерно распределенных ключей? 20.11.03 19:31
Автор: o.Kabani Статус: Незарегистрированный пользователь
|
Доброе время суток, о всезнающий All.
Нужен алгоритм, способный работая на различных машинах (несколько тысяч), сгенерерить на каждой порядка 10^4 ключей.
Причем, очень важно, чтобы вссе сгенеренные ключи (на всех машинах суммарно) были максимально равномерно размазаны по всему ключевому пространству.
Т.е. все ключи после генерации сливаем в одно множество, и вот необходимо, чтобы множество сгенеренных ключей было бы как можно равномернее размазано по всему возможному ключевому пространству.
В общем, Pliz HELP!!
ЗЫ Если это важно, то ключи по 256 бит.
|
|
Если ты хотя бы в школе изучал информатику, то тебе должно... 14.04.04 16:16
Автор: armyman Статус: Незарегистрированный пользователь
|
> Нужен алгоритм, способный работая на различных машинах > (несколько тысяч), сгенерерить на каждой порядка 10^4 > ключей. > > Причем, очень важно, чтобы вссе сгенеренные ключи (на всех > машинах суммарно) были максимально равномерно размазаны по > всему ключевому пространству. Если ты хотя бы в школе изучал информатику, то тебе должно быть известно, что в языках высокого уровня существует функция random(RND, rand()...), которая генерирует случайные числа, равномерно распределенные в заданном промежутке.
В случае проблем с информатикой - пиши armyman666@mail.nnov.ru. Я сделаю программку, если надо.
|
| |
Эта функция не генерит случайные числа! а относительно... 14.04.04 17:17
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> Если ты хотя бы в школе изучал информатику, то тебе должно > быть известно, что в языках высокого уровня существует > функция random(RND, rand()...), которая генерирует > случайные числа, равномерно распределенные в заданном > промежутке.
Эта функция не генерит СЛУЧАЙНЫЕ ЧИСЛА! А относительно равномерного распределения - сргласен, хотя в различных реализациях могут быть ошибочки.
К тому же, я надеюсь, требуется получить неповторяющиеся ключики...
> В случае проблем с информатикой - пиши > armyman666@mail.nnov.ru. Я сделаю программку, если надо.
|
|
В качестве RNG могу посоветовать собственные "велосипеды" 24.11.03 13:33
Автор: leo <Леонид Юрьев> Статус: Elderman
|
http://leo.yuriev.ru/random
|
|
Конгруентные генераторы ПСЧ modulo 2^n 22.11.03 10:15
Автор: CP Статус: Незарегистрированный пользователь
|
Где можно найти примеры генераторов по модулю 2^n,
которые не требуют деления и взятия остатков как таковых?
На 32-bit я знаю такую ягодку:
iran=1664525*iran+1013904223;
Естественно, пробегает все 4G значений, включая ноль.
|
| |
Конгруентные генераторы ПСЧ modulo 2^n 22.11.03 13:03
Автор: RElf <M> Статус: Member
|
> Где можно найти примеры генераторов по модулю 2^n, > которые не требуют деления и взятия остатков как таковых?
По модулю 2^n подходит любой конгруэнтный генератор. Благо взятие остатка по модулю 2^n - тривиальная операция, не требующая деления.
> На 32-bit я знаю такую ягодку: > iran=1664525*iran+1013904223; > Естественно, пробегает все 4G значений, включая ноль.
Подобных ягодок - целое поле ;-)
Теорема:
Длина периода линейной конгруэнтной последовательности (т.е. последовательности, вида X=(a*X+c)% m) равна m тогда и только тогда, когда:
1. HОД(c,m) = 1 (т.е. c и m взаимно просты)
2. b=a-1 кратно p для всех простых p - делителей m
3. b кратно 4, если m кратно 4
|
| | |
т.е. 4i+1, 2j+1 - очччень просто!!! 28.01.04 17:35
Автор: cp Статус: Незарегистрированный пользователь
|
|
|
все просто 22.11.03 04:20
Автор: RElf <M> Статус: Member
|
> Нужен алгоритм, способный работая на различных машинах > (несколько тысяч), сгенерерить на каждой порядка 10^4 > ключей. > > Причем, очень важно, чтобы вссе сгенеренные ключи (на всех > машинах суммарно) были максимально равномерно размазаны по > всему ключевому пространству. > > Т.е. все ключи после генерации сливаем в одно множество, и > вот необходимо, чтобы множество сгенеренных ключей было бы > как можно равномернее размазано по всему возможному > ключевому пространству.
Достаточно иметь хороший RNG, проинициализированный на каждой машине уникальным образом. Тогда каждая машина может генерить ключи не заботясь об остальных. Если ключи каждой машины равномерно распределены в пространстве ключей, то и их объединение будет равномерно распределено. Еще раз подчеркиваю - при наличие хорошего RNG. "Хорошесть" здесь нужно понимать например как отсутствии корреляции между значениями выдаваемыми RNG при разных инициализациях (seed'ах).
В качестве кандитата на роль RNG могу посоветовать например Yarrow http://www.schneier.com/yarrow.html
|
|
Чуть поподробнее, пожалуйста. 21.11.03 11:01
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> Доброе время суток, о всезнающий All. > > Нужен алгоритм, способный работая на различных машинах > (несколько тысяч), сгенерерить на каждой порядка 10^4 > ключей.
Ну самый простой - каждому выделить равный диапазон. Ну и генерилка равномерно/случайно внутри своего диапазона генерить должна.
> Причем, очень важно, чтобы вссе сгенеренные ключи (на всех > машинах суммарно) были максимально равномерно размазаны по > всему ключевому пространству.
Это условие будет выполнено.
Хотя какой в этом смысл?!
> Т.е. все ключи после генерации сливаем в одно множество, и > вот необходимо, чтобы множество сгенеренных ключей было бы > как можно равномернее размазано по всему возможному > ключевому пространству.
Хотя какой в этом смысл?!
> > В общем, Pliz HELP!! > > ЗЫ Если это важно, то ключи по 256 бит. >
"ПОПОДРОБНЕЕ", я имел в виду для какого алгоритма ключи.
Мне думается, что разница в методах для симметричных и несимметричных алгоритмов будет.
Для симметричного предложу конкретно: Для каждой из 64 тысяч машин определить пару младших байт (чтоб у всех разные были). А остальные пусть формируют ГСЧ.
|
| |
Чуть поподробнее, пожалуйста. 21.11.03 13:08
Автор: o.Kabani Статус: Незарегистрированный пользователь
|
> > Доброе время суток, о всезнающий All. > > > > Нужен алгоритм, способный работая на различных машинах > > (несколько тысяч), сгенерерить на каждой порядка 10^4 > > ключей. > > Ну самый простой - каждому выделить равный диапазон. Ну и > генерилка равномерно/случайно внутри своего диапазона > генерить должна.
Ээх, если бы все было так просто, связи между компами нет. Т.е. прога попадает на машину и начинает брутфорсный взлом, перебирая ключи. Задача добиться как можно более равномерной выборки ключей на не связанных машиных ( тоесть невозможно разбивать на блоки для каждой конкретной машины)
> > "ПОПОДРОБНЕЕ", я имел в виду для какого алгоритма ключи. > Мне думается, что разница в методах для симметричных и > несимметричных алгоритмов будет.
Ну пока замах на симметричное шифрование, с ассиметрией пусть квантовщики разбираются ;)
|
| | |
Чуть поподробнее, пожалуйста. 21.11.03 17:11
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> Ээх, если бы все было так просто, связи между компами нет. > Т.е. прога попадает на машину и начинает брутфорсный взлом, > перебирая ключи. Задача добиться как можно более > равномерной выборки ключей на не связанных машиных ( тоесть > невозможно разбивать на блоки для каждой конкретной машины)
Как попадает - по сети, значит и свою порцию по сети взять можно, на дискете - значит при записи ее на дискету, туда же и диапазон кинуть.
> Ну пока замах на симметричное шифрование, с ассиметрией > пусть квантовщики разбираются ;)
Ну это отдельная тема.
|
|
|