Линейный конгруэнтный генератор

Из известных процедур генерации последовательности псевдослучайных целых чисел наиболее часто применяется так называемый линейный конгруэнтный генератор. Этот генератор вырабатывает последовательность псевдослучайных чисел Y1, Y2, Yi-1,Yi, ., используя соотношение

(2.3)

где Yi - i-e (текущее) число последовательности; Yi-1 - предыдущее число последовательности; а,b и m - константы; m - модуль;

а - множитель (коэффициент); b - приращение; Yo - порождающее число (исходное значение).

Текущее псевдослучайное число Yi получают из предыдущего числа Yi-1 умножением его на коэффициент а, сложением с приращением b и вычислением остатка от деления на модуль m. Данное уравнение генерирует псевдослучайные числа с периодом повторения, который зависит от выбираемых значений параметров а, и m и может достигать значения m. Если a, b и m выбраны правильно, то генератор будет с максимальным периодом (например, b должно быть взаимно простым с m и коэффициент а должен быть нечетным числом). Значение модуля m берется равным 2n либо равным простому числу, например m=231-1.

Преимуществом линейных конгруэнтных генераторов является их быстрота за счет малого количества операций на бит.

Конгруэнтные генераторы, работающие по алгоритму, предложенному

Национальным бюро стандартов США, используются, в частности, в системах программирования. Эти генераторы имеют длину периода 224 и обладают хорошими статистическими свойствами. Однако такая длина периода мала для криптографических применений. Кроме того, доказано, что последовательности, генерируемые конгруэнтными генераторами, не являются криптографически стойкими.

Однако линейные конгруэнтные генераторы сохраняют свою полезность для не криптографических приложений, например, для моделирования. Они эффективны в большинстве используемых эмпирических тестах и демонстрируют хорошие статистические характеристики.

Читайте также

Разработка локальной сети предприятия (на материалах ОАОТ Дабрабыт)
Локальная вычислительная сеть(Local Area Network), именуемая в дальнейшем LAN, - это совокупность компьютеров и других средств вычислительной техники (активного сетевого оборудования, пр ...

Разработка конструкции линейного коммутатора
Радиоэлектронная аппаратура (РЭА), в основу функционирования которой положены принципы электроники, строится на базе электронных компонентов различного назначения (микросхем, резисторов, ...

Назначение и виды ударно-контактных извещателей
Извещатели ударно-контактные формируют тревожное извещение при нормированном ударном воздействии на контролируемую поверхность охраняемого объекта. Они предназначены для обнаружения раз ...

Основные разделы

Все права защищены! (с)2018 - www.generallytech.ru