
- •Оглавление
- •Глава 5. Основы математической теории информации 58
- •Глава 6. Элементы теории чисел 74
- •6.2.1. Основные определения 83
- •Глава 7. Алгебраические структуры 87
- •Введение
- •Глава 1.Введение
- •1.1.Основные понятия криптографии
- •1.1.1.История развития криптографии
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •1.1.2.Сложность алгоритмов
- •1.1.3.Стойкость криптографических систем
- •Глава 2.Элементы теории множеств
- •2.1.Основные понятия теории множеств
- •2.1.1.Обозначения и способы задания множеств
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •2.1.2.Операции над множествами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •2.1.3.Прямое произведение множеств
- •П римеры решения задач
- •Задачи для самостоятельного решения
- •2.2.Отношения между множествами
- •2.2.1.Определение бинарных отношений
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •2.2.2.Представление бинарных отношений в виде графа, матрицы
- •Примеры решения задач
- •Построенная таблица есть таблица бинарного отношения. Задачи для самостоятельного решения
- •2.2.3.Свойства бинарных отношений, отношение эквивалентности
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Вопросы для повторения
- •Глава 3.Булева алгебра
- •3.1.Булевы функции
- •3.1.1.Понятие булевой функции
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.1.2.Суперпозиция функций
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.1.3.Двойственные функции
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.1.4.Логические схемы
- •Примеры решения задач
- •3.2.Нормальные формы
- •3.2.1.Разложение функций по переменным
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.2.2.Минимизация нормальных форм, карты Карно
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Полиномы Жегалкина, алгоритм их построения для произвольных функций
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.3.Полные системы функций
- •3.3.1.Полнота множества функций
- •Примеры решения задач
- •Глава 4.Элементы теории графов
- •4.1.Основные понятия теории графов
- •4.1.1.Способы задания графов, основные определения
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.2.Числовые характеристики графов
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.3.Операции с графами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.4.Изоморфизм графов
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.6.Расстояния в графе, центры графа
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.7.Эйлеровы циклы
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.8.Алгоритм построения Эйлерова цикла
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.9.Гамильтоновы циклы
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.10.Алгоритм построения гамильтонова цикла в графе
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.2.2.Алгоритм Краскала для построения минимального остовного дерева
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.2.3.Обходы дерева
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Задачи для повторения
- •Вопросы для повторения
- •Глава 5.Основы математической теории информации
- •5.1.Меры информации
- •5.1.1.Мера Хартли
- •Примеры решения задач
- •5.1.2.Мера Шеннона
- •Примеры решения задач
- •5.1.3.Единицы измерения количества информации
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.2.2.Код Хаффмана
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3. Помехоустойчивое кодирование
- •5.3.1. Код с проверкой на четность
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3.2.Коды с повторением
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3.3.Групповой код Хемминга
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3.4.Помехозащищенность кода
- •Примеры решения задач
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.2.Теорема о делении с остатком. Алгоритм Евклида
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.3.Отношение сравнимости
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.4.Алгебра вычетов
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.5.Решение сравнений вида ахb(mod m)
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.6.Применение алгебры вычетов к простейшим шифрам
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.7.Построение и использование хеш-функций
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Задачи для повторения
- •6.2.Алгебра многочленов
- •6.2.1.Основные определения
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.2.2.Нод многочленов
- •Примеры решения задач
- •Задачи для самостоятельного решения.
- •6.2.3.Разложение многочлена на множители
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Вопросы для повторения
- •Глава 7.Алгебраические структуры
- •7.1.Основные понятия и свойства алгебраических структур
- •7.1.1.Алгебра
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.2.Группа
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.3.Кольцо
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.4.Поле
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.5.Конечные поля
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.Многочлены над конечными полями
- •7.2.1.Каноническое разложение многочлена
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.2.Порядок многочлена над конечным полем
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.3.Сравнение многочленов по данному модулю
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.4.Поиск неприводимых многочленов поля gf(g(X)) над полем gf(р)
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.3.Генераторы псевдослучайных последовательностей
- •7.3.1.Понятие псевдослучайной последовательности чисел
- •7.3.2.Практические методы получения псевдослучайных чисел
- •Задачи для самостоятельного решения
- •7.3.3.Понятие линейной последовательности
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.3.4. Периодичность линейных рекуррентных последовательностей
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.3.5.Связь линейных рекуррентных последовательностей над конечными полями с многочленами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Вопросы для повторения
- •214018, Г. Смоленск, проспект Гагарина, 56, т.: (0812) 55 – 41 – 04.
Задачи для самостоятельного решения
Введите в схему Фибоначчи «бит переноса», который может иметь начальные значения 0 или 1, постройте генератор сложения с переносом и получите последовательность псевдослучайных чисел.
7.3.3.Понятие линейной последовательности
Определение. Пусть k - натуральное число, а,а0,а1,…,аk-1 - заданные элементы конечного поля Fq. Последовательность s0,s1,… элементов поля Fq., удовлетворяющая соотношению sn+k=ak-1sn+k-1+ak-2sn+k-2+…+a0sn+a, n=1,2,… называется линейной рекуррентной последовательностью (ЛРП) k - го порядка над полем Fq.
Первые члены s0,s1,…sk-1 однозначно определяют всю последовательность и называются начальными значениями. Будем считать, что линейное рекуррентное соотношение k - го порядка (k - го порядка над полем Fq) называется однородным, если а=0, в противном случае - неоднородным.
В практическом плане линейные рекуррентные последовательности реализуются на базе современных компьютерных систем, работающих на основе двузначной логики. Все числовые данные в ЭВМ представляются с помощью элементов двух типов 0 и 1. Т.е. вся обработка информации осуществляется на основе элементов простого конечного поля F2 или его расширений F2N. Реализация линейных рекуррентных последовательностей над полем F2 может быть достаточно просто осуществлена на основе регистров сдвига с обратной связью. Пусть у нас имеется однородное линейное рекуррентное соотношение вида (т.е. порядка k=4): sn+4=a3sn+3+a2sn+2 +a1sn+1+a0sn, a0=a1=a2=a3=1. Тогда его реализация на основе регистра сдвига из k=4 разрядов с обратной связью будет иметь вид:
Рис. 96
Если какой либо из коэффициентов a1,a2,a3 равен нулю, то соответствующий сумматор из цепи обратной связи исключается.
Нетрудно видеть, что под действием тактовых импульсов в моменты времени n=1,2,… на выходе регистра происходит генерация последовательности sn,sn+1,sn+2,… Вектор {sn,sn+1,sn+2,…sn+k-1} - это вектор n - го состояния регистра. При n=0 - это вектор начального состояния.
Примеры решения задач
Запишите линейную рекуррентную последовательность 4 порядка над полем Fq.
Решение. Если порядок k=4, тогда имеем линейную рекуррентную последовательность 4 порядка над полем Fq вида: sn+4=a3sn+3+a2sn+2 +a1sn+1+a0sn+a.
Задачи для самостоятельного решения
Запишите линейную рекуррентную последовательность 5 порядка над полем F2.
Запишите однородную линейную рекуррентную последовательность 6 порядка над полем F2, a0=a1=a2=a3=1. Зная вектор начального состояния {0,1,1,1,0,1}, вычислите s6, s7, s8, s9, s10, s11.
7.3.4. Периодичность линейных рекуррентных последовательностей
Пусть S - произвольное непустое множество, и пусть s0,s1,… последовательность элементов из множества S. Если существуют целые числа r>0 и n0>0, такие что sn+r=sn для всех nn0, то последовательность s0,s1,… называется периодической последовательностью, а r - периодом этой последовательности. Наименьший из всех возможных периодов называется минимальным периодом.
Периодическая последовательность s0,s1,… с минимальным периодом r называется чисто периодической, если равенство sn+r=sn выполняется при всех n=0,1,2,…
Рассмотрим теперь основные результаты о свойствах периодичности линейных рекуррентных последовательностей над конечными полями, т.к. для криптографических приложений желательно иметь ЛРП с как можно большим минимальным периодом r .
Теорема. Пусть Fq - произвольное конечное поле, k - некоторое натуральное число. Тогда каждая линейная рекуррентная последовательность k - го порядка над полем Fq является периодической. При этом ее минимальный период r удовлетворяет неравенству r qk, а в случае однородной последовательности r qk-1.
Из всех однородных линейных рекуррентных последовательностей над полем Fq удовлетворяющих соотношению k - го порядка, т.е. sn+k=ak-1sn+k-1+ak-2sn+k-2+…+a0sn, можно выделить одну ЛРП с максимальным значением минимального периода r, которую называют импульсной функцией или ЛРП, порожденной импульсом. Эта последовательность обозначается d0,d1,… и определяется начальными значениями d0=d1=…=dk-2=0, dk-1=1 и линейным рекуррентным соотношением dn+k=ak-1dn+k-1+ak-2dn+k-2+…+a0dn, (n=0,1,…).