Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Генератор случайной последовательности 28.01.02 16:37 Число просмотров: 1327 Штраф: 10 [zelych]
Автор: zelych Статус: Member
|
нужен сабж.
идея такая:
Ф_инит1( а );
Ф_инит2( б );
// не надо удивляться - а и б задаются в разных местах - это принципиально
у1 = Ф();
у2 = Ф();
..... // и так далее
|у- 1 бит,б- 48 бит,а- не меньше 48
надо чтобы:
1. последовательность у1, у2.. была сбалансирована (да и вообще, желательно чтобы удовлетворяла постулатам Голомба)
2. у = Ф( б ) - имела высокую степень нелинейности (хотя бы 25)
3. при небольших изменениях а или б у менялся с вероятностью ~0.5
4. не использовалось всяких таблиц подстановки, управляемых сдвигов, делений по модулю и всего такого в этом роде (генератор надо запихнуть в маленький кусочек памяти)
вот чего я придумал, на большее фантазии не хватило:
рслос - регистр сдвига порядка 48 (можно и больше)
р - внутреннее состояние регистра
р = а
р = Н( б, р ) // Н - функция, возможно линейная
ц = рслос( р ) // и так 96 раз // ц - бит, который выдвигается из рслос
у = ц
после этого у = Ф( б ) - имеет гарантированный порядок нелинейности ~48
вопросы:
может кто придумает как всё это сделать подругому??
есть ли дырки в моей схеме??
как влияет на у1, у2.. линейность Н()??
ну и ещё, заодно: может кто подскажет простенькие, но достаточно нелинейные функции (чтобы вместо Н вставить) буквально на пару строчек кода??
|
- Генератор случайной последовательности - zelych 28.01.02 16:37 [1327] [штраф:10]
|
|
|