logo
Информационная безопасность / Информационная безопасность2006

Программные датчики. Общая модель

Исходные величины фиксируются заранее и называются стартовыми величинами.

Линейные рекуррентные формулы

  1. Мультипликативный конгруентный метод (метод вычетов)

–натуральные числа – параметры программного датчика.

Эта ПСП зацикливается, начиная с некоторого номера i=T. Её период, равный Т, не превосходит М-1.

Пусть М = 2q,q– количество бит целой константы ПК. Тогда:

Tmax= 2q-2=M/4 достигается, если:

1) – нечётное число, причём;

2) mod8 = 3mod8 илиmod8 = 5mod8.

Это условие выполняется, например, при = 52p+1,p= 0,1,2,… , или когда= 2m+ 3,m= 3,4,5,…

  1. Метод, использующий линейные смешанные формулы, в частности, смешанный конгруентный метод.

Для получения максимального периода следует брать М = 2nи использовать= 2q+ 1,q2,C– нечётное и– произвольное. Хоффман рекомендует выбиратьиз условияmod4 = 1.

Методы, использующие нелинейные рекуррентные формулы

  1. Метод середины квадрата.

Параметры датчика: kи. Заметим, что– число, образованное средними 2kбитами 4k-разрядного двоичного числа.

  1. Модификация метода – метод середины произведения.

  1. Квадратичный конгруентный метод (обобщение линейного).

Параметры датчика: .

Если М = 2qиq2, то наибольший период

Тmax=M= 2qдостигается, если, С – нечётные,– чётное, причём

  1. Метод Маклорена-Марсальи.

Метод основан на комбинации двух простейших датчиков. Пусть {bi} и {ci},i= 0,1,2,… есть ПСП, порожденные двумя независимо работающими датчикамиD1иD2соответсвенно. АV= {V(0),V(1), …,V(k-1)} – вспомогательная таблица изkцелых чисел.

Сначала таблица Vзаполненаkчленами ПСП {bi}, т.е.V(j) =bj,j= 0,1,2,…,k-1.

Результирующая ПСП получается в результате следующей последовательности действий:

s := Int(cjk)

di := V(s) i = 1,2,…

V(s) :=bi+k

Т.е. датчик D2делает случайный выбор из таблицыV, а также случайно заполняет её числами, порождёнными датчикомD1. Можно получить очень большой период ПСП, если периоды датчиковD1иD2– взаимно простые числа.