- •Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «воронежский государственный университет» ( фгбоу впо вгу)
- •Содержание
- •Список основных сокращений
- •Введение
- •Постановка задачи
- •Гпсп в системах защиты информации
- •1.1. Гпсп и шифрование мультимедийных данных [8]
- •1.2. Гпсп и хэширование
- •1.3. Гпсп и криптографические протоколы
- •1.4. Вероятностное шифрование и алгоритм эль-гамаля [1, 2]
- •Принципы построения и классификация гпсп
- •2.1. Два варианта построения гпсп
- •2.2. Криптографические гпсп
- •2.3. Линейные гпсп
- •2.4. Нелинейные гпсп [7]
- •Конечные поля и гпсп
- •3.1. Основные понятия теории конечных полей
- •3.2. Стохастические гпсп [3, 8]
- •Описание программы
- •4.1. Основные сведения
- •Инструкция по работе с программой
- •Графические тесты.
- •Оценочные тесты.
- •Заключение
- •Список использованных источников
- •Приложение
Конечные поля и гпсп
3.1. Основные понятия теории конечных полей
Поле - это множество элементов, обладающее следующими свойствами:
в нем определены операции сложения, вычитания, умножения и деления;
для любых элементов поля α, β и γ должны выполняться соотношения (свойства ассоциативности, дистрибутивности и коммутативности)
α+β=β+α, αβ = βα, α + (β+γ) = (α + β)+γ,
α(βγ) = (αβ)γ, α(β+γ) = αβ + αγ;
в поле должны существовать такие элементы 0, 1, -α и (для α ≠ 0) α-1, что
0 + α = α, α + (-α) = 0, 0α = 0,1α = α, α(α-1) = 1;
все ненулевые элементы конечного поля могут быть представлены в степени некоторого фиксированного элемента поля ω, называемого примитивным элементом. [8]
Конечное поле содержит конечное число элементов. Поле из L элементов обозначается GF(L) и называется полем Галуа в честь первооткрывателя Эвариста Галуа (1811-1832).
Простейшие поля получаются следующим образом. Пусть р - простое число. Тогда целые числа 0, 1, 2, ... , (р - 1) образуют поле GF(p), при этом операции сложения, вычитания, умножения и деления выполняются по модулю р. Более строго, GF(p) - это поле классов вычетов по модулю р, т. е.
GF(p) = {0, 1, 2, ... , (р - 1)},
где через 0 обозначаются все числа, кратные р, через 1 - все числа, дающие при делении на р остаток 1, и т. д. С учетом этого вместо р - 1 можно писать -1. Утверждение α = β в GF(p) означает, что α - β делится на р или что α сравнимо с β по модулю р, т. е.
α ≡ β(mod р).
Поле, содержащее L = рn элементов, где р - простое число, а n - натуральное, не может быть образовано из совокупности целых чисел по модулю L. Например, во множестве классов вычетов по модулю 4 элемент 2 не имеет обратного, так как 2∙2 = 0. Таким образом, хотя это множество состоит из 4 элементов, оно совсем не похоже на поле GF(L). Чтобы подчеркнуть это различие, обычно вместо GF(4) пишут GF(22).
Элементами поля из рn элементов являются все многочлены степени не более п - 1 с коэффициентами из поля GF(p). Сложение в GF(pn) выполняется по обычным правилам сложения многочленов, при этом операции приведения подобных членов осуществляются по модулю р. Многочлен с коэффициентами из GF(p) (т. е. многочлен над полем GF(p)), не являющийся произведением двух многочленов меньшей степени, называется неприводимым. Примитивный многочлен автоматически является неприводимым. Выберем фиксированный неприводимый многочлен φ(x) степени n. Тогда произведение двух элементов поля получается в результате их перемножения с последующим взятием остатка после деления на φ(х). Таким образом, поле GF(pn) можно представить как поле классов эквивалентности многочленов над GF(p). Два таких многочлена объявляются эквивалентными, если их разность делится на φ(х). Конечные поля порядка рп существуют для всех простых р и всех натуральных n.
3.2. Стохастические гпсп [3, 8]
В качестве одного из алгоритмов нелинейного преобразования элементов xi n-разрядной информационной последовательности

длиной т под управлением ключевой k-разрядной последовательности

такой
же длины и качественного
генератора псевдослучайных
последовательностей
(ПСП) с
числом состояний 2n
можно предложить
следующий (рис.
3.1).
Для
каждого элемента xi
(i
=
)
повторяем
нижеприведенную последовательность
действий:
очередной элемент хi входной последовательности загружаем в память генератора ПСП;
выполняем γi тактов работы генератора;
состояние генератора после γi тактов работы при начальном состоянии xi объявляем результатом γi преобразования элемента xi.
После преобразования всех элементов исходной последовальности будет получена результирующая последовательность
y = y1y2y3 ... yi ... ym
длинной m, для каждого элемента которой справедливо
yi = R(xi, γi).
Данное преобразование может эффективно использоваться для решения различных задач, связанных с защитой информации. Впервые оно было предложено С. А. Осмоловским для реализации стохастического кодирования информации [2, 3]. В данной главе рассматривается его применение для построения генераторов ПСП.

Рис. 3.1. Стохастическое преобразование информационной последовательности {хi}
R-Блок.
Схема одного из возможных вариантов построения блока R стохастического преобразования (Random) и его условное графическое обозначение показаны соответственно на рис. 3.2 и 3.3. Ключевая информация R-блока - характер заполнения таблицы
Н
= {Н(m)}, m
=
,
размерности
n
2n,
содержащей элементы GF(2n),
перемешанные
случайным
образом, т. е. Н(m)
GF(2n).
Результат RH(A,
В)
преобразования входного n-разрядного
двоичного набора А
зависит от
заполнения таблицы H
и параметра преобразования В,
задающего
смещение в таблице относительно ячейки,
содержащей значение
А,
следующим образом:
RH(А, В) = H ((mA + В) mod 2n),
где mА - адрес ячейки таблицы H, содержащей код А, т. е. H(mА) = А. Другими словами, результат работы R-блока суть считывание содержимого ячейки таблицы H, циклически смещенной на В позиций в сторону старших адресов относительно ячейки, содержащей код A.

Рис. 3.2. Логика работы R-блока

Рис. 3.3. Условное графическое обозначение R-блока
Для ускорения преобразования в состав R-блока вводится вспомогательный адресный массив
Addr = {Addr(j)}
размерности
n
2n,
причем

Иными словами, ячейка с адресом j в массиве Addr хранит адрес ячейки массива H, содержащей код j.
Заслуживают внимания следующие факты:
при Addr = {0, 1, 2, … , (2n-1)}, т. е. при записи в каждую ячейку массива Addr ее собственного адреса, и n = 4 результат преобразования в точности совпадает с результатами работы двух тактов (сложение с 4 битами ключа и замена в соответствующем узле замены) одной секции раундовой функции российского стандарта криптографической защиты, ГОСТ 28147-89;
в частном случае при Addr = {0, 1, 2, (2n-1)} и В = 0 получаем классический S-блок (блок замены) с таблицей замен H;
при записи в каждую ячейку массивов H и Addr ее собственного адреса получаем классический сумматор по модулю 2n, а значит, с полным на то основанием R-блок может быть назван стохастическим сумматором;
по такому же принципу (заменой сумматора по модулю 256 на операцию поразрядного XOR) может быть построен стохастический сумматор в поле GF(28) (стохастический XOR), а также другие элементы (AND, OR, mod р и т. п.) ;
требует дополнительного исследования схема стохастического преобразования, показанная на рис. 3.4, где функция F - сумматор по модулю 2 или поразрядный XOR (а возможно и другие операции AND, OR, mod р и т. п.).

Рис. 3.4. Вариант схемы блока стохастического преобразования (RF-блок)
Ключевая информация, необходимая для работы R-блока, - содержимое таблицы H стохастического преобразования. Алгоритм замены ключевой информации, т. е. «перемешивания» или «взбивания» таблиц H, показан на рис. 3.5. Каждая очередная пара байтов
BYTEi, BYTEi+1
инициализирующей последовательности меняет местами два соответствующих элемента массива H, т. е. выполняется операция
H(BYTEi) ↔ H(BYTEi+1), i = 0, 2, 4, ...,
где H(j) - элемент массива H, расположенный в ячейке с адресом j. Алгоритм формирования вспомогательного массива Addr показан на рис. 3.6.

Рис. 3.5. Схема алгоритма «перемешивания» таблицы стохастического преобразования с использованием инициализирующей ПСП BYTE0, BYTE1, BYTE2, ... , BYTEi, BYTEi+1, ...

Рис. З.6. Схема алгоритма формирования адресного массива Addr по известному массиву Н
Существует еще один возможный алгоритм формирования таблицы стохастического преобразования, его схема приведена на рис. 3.7. Для создания таблицы H может быть применен также любой из известных алгоритмов создания таблицы замены, например алгоритм, реализованный в поточном шифре RC4. Учитывая, что циклически сдвинутые таблицы стохастического преобразования эквивалентны, существует 255! различных вариантов заполнения таблицы H.

Рис. 3.7. Схема алгоритма формирования таблицы стохастического преобразования с использованием инициализирующей ПСП BYTE0, BYTE1, BYTE2, ..., BYTEi, ...
Возможен вариант использования R-блока, когда содержимое массива Н (а значит, и содержимое массива Addr) зафиксировано, а ключевая информация подается на вход В параметра преобразования. В этой ситуации для обеспечения возможности вычисления результата преобразования «на лету» (без использования таблиц) в качестве содержимого массива Н выбираются последовательные состояния генератора ПСП, который допускает эффективную программную реализацию.
Стохастические генераторы многоразрядных ПСП на регистрах сдвига - RFSR
Для построения стохастического генератора ПСП (Random Feedback Shift Register - RFSR) предлагается в схемах аддитивного генератора вместо блоков сложения использовать R-блоки (рис. 3.8). Ключевая информация - заполнение таблиц H, определяющих логику работы R-блоков.

Рис. 3.8. Общие схемы стохастических генераторов n-разрядной ПСП (режим OFB) с управляющим входом. Qi - состояние i-го регистра генератора
Все теоретические и практические результаты, полученные для LFSR при решении задач построения генераторов ПСП, легко обобщаются и позволяют столь же эффективно решать задачи защиты информации от умышленных деструктивных воздействий.
Рассмотрим вариант схемы генератора с одним R-блоком, который может быть представлен в одном из двух идентичных вариантов (рис. 3.9, а - RFSR1 или 3.9, б - RFSR2).

Рис. 3.9. Варианты схемы стохастического генератора RFSR с одним R-блоком (режим OFB)
При соответствующем выборе таблицы стохастического преобразования выходная ПСП по сути - это нелинейная M-последовательность, т. е. последовательность максимальной длины, по своим статистическим свойствам превосходящая классическую M-последовательность с выхода LFSR той же разрядности (рис. 3.10-3.11).

Рис. 3.10. Стохастический генератор при N = 2:
а - схема генератора; б - возможные таблицы преобразования и соответствующие им диаграммы переключений
На рис. 3.10 и 3.11 показаны примеры генераторов стохастической М-последовательности длиной соответственно 15 и 63.
На рис. 3.12 приведен пример преобразования стохастического генератора, диаграмма состояний которого состоит из трех циклов длиной 22, 25, 16 и одного тривиального цикла, состоящего из состояния 000, переходящего самого в себя, в генератор последовательности длиной 64. Преобразование потребовало включения в состав устройства сумматора и элемента ИЛИ-НЕ, выход которого соединен с входом переноса сумматора. Переходы исходного генератора на рис. 3.12 показаны пунктирной линией.

Рис. 3.11. Стохастический генератор при N = 3:
а - схема генератора и таблица стохастического преобразования; б - диаграмма его переключений
На рис. 3.13 приведена схема генератора ПСП с непрерывно изменяющейся таблицей стохастического преобразования. В каждом такте работы такого RFSR слово (BYTEi+1, BYTEi) с выхода управляющего генератора меняет местами содержимое двух ячеек таблиц Н:
H(BYTEi+1) ↔ H(BYTEi).

Рис. 3.12. Стохастический генератор ПСП длиной 64:
а - схема генератора и таблица стохастического преобразования; б - диаграмма его переключений

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