Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
диплом_без_exe / Второй основной вариант.docx
Скачиваний:
92
Добавлен:
21.05.2015
Размер:
1.73 Mб
Скачать

2.3. Линейные гпсп

Важнейшим классом ПСП являются последовательности, формируемые генераторами на основе регистров сдвига с линей­ными обратными связями - LFSR (Linear Feedback Shift Register) [8]. Используемый при их анализе математический аппарат - теория линейных последовательностных машин и теория конечных по­лей (полей Галуа). Основными достоинствами этих генерато­ров являются:

  • простота аппаратной и программной реализации;

  • максимальное быстродействие;

  • хорошие статистические свойства формируемых последова­тельностей;

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

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

Наиболее известные примеры использования LFSR и матема­тического аппарата полей Галуа:

  • CRC-коды - идеальное средство контроля целостности ин­формации при случайных искажениях информации;

  • реализация концепции самотестирования БИС и СБИС;

  • поточные шифры А5, PANAMA, SOBER, SNOW и др.;

  • блочный шифр RIJNDAEL, принятый в 2001 г. в качестве стандарта криптографической защиты XXI века - AES.

Исходная информация для построения двоичного LFSR - так называемый образующий многочлен. Степень этого многочлена определяет разрядность регистра сдвига, а ненулевые коэффициенты - характер обратных связей. Так, например, многочлену

Ф(х) = x8 + x7 + x5 + x3 + 1

соответствуют два устройства, показанные на рис. 2.10 и 2.11. В общем случае двоичному образующему многочлену степени N

Ф(х) = , aN=a0=1, aj∈{0,1}, j=1,(N-1)

соответствуют устройства, показанные на рис. 2.12, a (LFSR1 – схема Фибоначчи) и б (LFSR2 - схема Галуа).

Рис. 2.10. Генератор Фибоначчи (LFSR1), соответствующий

Ф(х) = х8 + х7 + х5 + х3 + 1, и его диаграмма состояний

Рис. 2.11. Генератор Галуа (LFSR2), соответствующий

Ф(х) = х8 + х7 + х5 + х3 + 1, и его диаграмма состояний

Рассмотренные устройства могут использоваться только для генерации битовых ПСП. Если необходима n-разрядная последо­вательность, можно предложить два варианта действий. В первом случае выбираем образующий многочлен степени N > п (еще лучше N >> n), выбираем схему LFSR1 или LFSR2 и считываем очередной n-разрядный двоичный код с соседних разрядов реги­стра сдвига каждые п тактов работы LFSR. Во втором случае син­тезируем схему устройства, работающего в п раз быстрее исход­ного LFSR (иначе говоря, выполняющего за один такт своей ра­боты преобразования, которые в исходном LFSR выполняются за п тактов). Этот вариант особенно эффективен в тех случаях, ко­гда образующий многочлен генератора Фибоначчи имеет вид Ф(х) = xN + xi + 1, а i кратно п (рис. 2.13).

Рис. 2.12. Общий вид LFSR, соответствующих

Ф(х) = хN + аN-1хN-1 + ... + аiхi + ... + а2х2 + а1х + 1:

a - схема генератора Фибоначчи; б - схема генератора Галуа.

БУ - блоки умножения на aj {0,1}; qj(t) {0,1};

при aj = 1 умножение на aj равносильно наличию связи; при aj = 0 умножение на aj равносильно отсутствию связи

Общий вид генератора двоичных последовательностей, соот­ветствующего уравнению

Q(t + 1) = Tk Q(t),

где Q(t) и Q(t+1) - состояния регистра генератора ПСП соответ­ственно в моменты времени t и t+1 (до и после прихода синхро­импульса); T - квадратная матрица порядка N вида

,

N - степень образующего многочлена

k - натуральное, показан на рис. 2.14. В частном случае при k = 1, получаем либо схему генератора Фибоначчи (T = T1), либо схему генератора Галуа (T = T2).

Рис. 2.13. Байтовый генератор ПСП:

а - битовый генератор Фибоначчи, соответствующий многочлену Ф(х) = х65 +x32 +1; б - байтовый генератор Фибоначчи, соответствующий Ф(х) = х65 + х32 + 1, qi - состояние io разряда LFSR1, i =

Рис. 2.14. Генератор двоичных последовательностей, соответствующий уравнению Q(t +1) = TkQ(t)

Величина, на которую происходит умножение в каждом блоке умножения (БУ), определяется соответствующим коэффициентом aij сопровождающей матрицы:

Если аij = 0, это эквивалентно отсутствию связи между выхо­дом i-го разряда регистра генератора и входом j-го сумматора по модулю два. Если аij = 1, это эквивалентно наличию связи между выходом i-го разряда регистра генератора и входом j-го суммато­ра по модулю два.

Так как нулевое состояние регистра ГПК является запрещенным, максимально возможное число состояний устройства, а зна­чит, и максимально возможная длина формируемой двоичной последовательности, снимаемой с выхода любого из триггеров, равны 2N - 1. В этом случае диаграмма состояний генератора со­стоит из одного тривиального цикла и цикла максимальной длины 2N - 1.

Многочлен Ф(х) степени N называется примитивным, если он не делит нацело ни один многочлен вида xS - 1, где S < 2N - 1. Примитивные многочлены существуют для любого N. Показателем многочлена Ф(х) называется наименьшее натуральное число е, при котором хе - 1 делится на Ф(х) без остатка.

Пусть Ф(х) - примитивный многочлен степени N, тогда спра­ведливо следующее утверждение.

Свойство 1.1. Формируемая последовательность имеет макси­мальный период S = 2N - 1 тогда и только тогда, когда наиболь­ший общий делитель чисел S и k равен 1 (т. е. S и k взаимно про­сты).

Следствие. При k = 1 примитивность Ф(х) является необходимым и достаточным условием получения последовательности макси­мальной длины.

Последовательность максимальной длины принято называть М-последовательностью, а формирующий ее генератор - гене­ратором М-последовательности. Именно генераторы M-последовательностей обычно используются для формирования ПСП.

Каждая матрица V имеет характеристический многочлен φ(х) которым является определитель матрицы V - хЕ, т. е. φ(х) = |V - хЕ|, где Е - единичная матрица. Многочлен Ф(х) определяет только структуру генератора, свойства же последнего зависят именно от φ(х).

Свойство 1.2. Каждая квадратная матрица удовлетворяет своему характеристическому уравнению, т. е. φ(V) = 0.

Свойство 1.3. Характеристический и образующий многочлен ге­нератора связаны следующим соотношением:

φ(х) = Ф(x-1)xN,

т. е. являются взаимно обратными.

Примитивность φ(x) автоматически означает примитивность Ф(х) и наоборот.

Децимацией последовательности {qi(t)} по индексу k называет­ся формирование новой последовательности {q*i(t)}, состоящей из k-х элементов {qi(t)}, т. е. q*i(t) = qi(kt). Если период последо­вательности, полученной в результате децимации М-последовательности, равен максимальному, децимация называется собст­венной или нормальной.

Последовательность, снимаемая с выхода i-го триггера генератора, изображенного на рис. 2.14, является децимацией по индексу k последовательности, снимаемой с выхода i-го триггера генераторов, изображенных на рис. 2.12. Если Q - начальное состояние генератора, то последовательности состояний, в которых будут находиться устройства в следующие моменты времени, имеют вид

Q, QV, QV2, QV3, ...

(для устройства, изображенного на рис. 2.8) и

Q, QT, QT2, QT3, ...

(для устройств, изображенных на рис. 2.12, где Т = Т1 (а) или Т = Т2 (б)). Учитывая, что V = Tk, можно сделать вывод, что в ге­нераторе, показанном на рис. 2.14, за один такт осуществляются преобразования, которые в генераторах, показанных на рис. 2.12, происходят за k тактов. Таким образом, устройство, показанное на рис. 2.14, в котором содержимое первых k триггеров (при k ≤ N) полностью обновляется в каждом такте, может использо­ваться для генерации последовательности k-разрядных двоичных кодов, что нельзя сказать про устройства, показанные на рис. 2.12, которые формируют лишь сдвинутые копии одной и той же двоичной последовательности.

Соседние файлы в папке диплом_без_exe