Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Алгоритм Берленкемпа-Месси.




Пусть P – некоторое поле, e – единица поля P. Обозначим через начальный отрезок произвольной последовательности u элементов поля P. Будем говорить, что многочлен

вырабатывает отрезок , если

,

то есть данный отрезок последовательности является отрезком некоторой линейной рекуррентной последовательности с характеристическим многочленом G (x). Алгоритм Берленкемпа-Месси строит многочлен G (x) наименьшей степени, вырабатывающий отрезок .

Определим функцию умножения последовательности на многочлен. Для произвольного многочлена и последовательности v положим H (x) · v = w, где

Многочлен G (x) вырабатывает l ³ m знаков последовательности u, если выполняется равенство

то есть если первые lm знаков последовательности v равны нулю, а следующий за ними отличен от нуля.

Для многочлена G (x) Î P [ x ] степени m и последовательности u введем параметры lu (G) и ku (G) = lu (G) – m Î N È {0, +¥}, где lu (G) – число знаков последовательности u, вырабатываемых многочленом G (x). Ясно, что ku (G) – максимальное число первых подряд идущих нулей в последовательности G (x) · u (либо ¥).

Будем индуктивно строить последовательность многочленов G 0(x), G 1(x), … неубывающих степеней 0 = m 0 < m 1 £ m 2 £ ….

Начальные условия: G 0(x) = e, m 0 = 0.

Этап 1. Если

то полагаем

Если G 1(xu = 0, то есть если ku (G 1) = ¥, то G 1(x) – искомый минимальный многочлен ЛРП u. В противном случае строим G 2(x).

Этап t + 1. пусть многочлены G 0(x), …, Gt (x) уже построены, и степень многочлена Gj (x) равна mj, причем 0 = m 0 < m 1 £ m 2 £ … mt. Пусть выполняются соотношения

Определим число s = s (t) так, чтобы выполнялись условия mt = mt - 1 = … = ms + 1 > ms (такое s найдется, так как m 1 > m 0). Положим

Если Gt +1(xu = 0, то нужный многочлен построен. В противном случае строим Gt +2(x).

Теорема: Если u – линейная рекуррентная последовательность над полем P с минимальным многочленом степени m, то F (x) = Gt (x) для некоторого подходящего значения t £ 2 m – 1 – k 0.

Усложнение линейных рекуррентных последовательностей.

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

Основной подход, применяемый при проектировании генератора гаммы на базе РСЛОС прост. Сначала берется один или несколько РСЛОС, обычно с различными длинами и различными характеристическими многочленами. (Если длины взаимно просты, а все многочлены обратной связи примитивны, то у сконструированного генератора будет максимальный период). Ключ является начальным состоянием регистров. Выходной бит представляет собой функцию, желательно нелинейную, некоторых битов РСЛОС.

Если выходной бит является функцией единственного РСЛОС, то генератор называется фильтрующим генератором.

Рис.22. Фильтрующий генератор.

Если выходной бит является функцией нескольких РСЛОС, то генератор называется комбинирующим генератором.

Рис.23. Комбинирующий генератор.

Еще один тип генераторов представляет собой композицию РСЛОС. В данной схеме выход одного из регистров подается на вход другого регистра.

Рис.24. Генератор на основе композиции регистров сдвига..

Кроме перечисленных схем усложнения применяются и другие схемы (с динамическим изменением закона рекурсии с элементами памяти и пр.).

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...