Автор: Пользователь скрыл имя, 08 Декабря 2012 в 14:45, лабораторная работа
Наиболее эффективным и перспективным методом защиты ин¬формации является ее криптографическое преобразование (шиф¬рование для обеспечения секретности информации или формиро¬вание контрольного кода для проверки аутентичности информа¬ции). Более того, в некоторых случаях этот метод является единст¬венно возможным.
k0,k1,…,k7,k0,k1,…,k7,k0,k1,…,
Таким образом, в состав раунда ГОСТа входят следующие преобразования 32-разрядных двоичных наборов:
сложение правой половины R-блока данных с раундовым ключом;
разбиение результата на восемь 4-битовых элементов и замена каждого из них по таблице замен;
циклический сдвиг результата на 11 разрядов влево;
поразрядное сложение по модулю 2 (XOR) результата с левой половиной L блока данных;
новое значение элемента L становится равным R, новое значение элемента R становится равным результату предыдущей операции.
32-й раунд отличается от
Перемешивание и рассеивание информации (за счёт чего достигается)
2 раунд обеспечивает полное рассеивание и перемешивание информации.
Генератор ПСП – RC4
Алгоритм работы. Математическая модель
Одним из лучших поточных шифров является RC4 – шифр с переменным размером ключа, разработанный Р.Ривестом. Криптоалгоритм работает в режиме OFB, т.е. поток ключевой информации не зависит от открытого текста. Используются два 8-разрядных счетчика QI и Q2 и 8-разрядный блок замены (5-блок), таблица замен имеет размерность 8х256 и является перестановкой (зависящей от ключа) двоичных чисел от 0 до 255.
Схема генератора ПСП RCA
Рассмотрим алгоритм работы 8-разрядного генератора ПСП RC4, точнее, процедуру генерации очередного байта гаммы. Пусть S(i) и γ – содержимое ячейки с адресом i таблицы замен 5-блока и очередной байт гаммы.
Один такт работы генератора ПСП RC4:
Такт работы первого счетчика:
.
Такт работы второго счетчика:
.
Ячейки таблицы замен 5-блока с адресами Q1 и Q2 обмениваются своим содержимым:
.
Вычисление суммы содержимого ячеек таблицы замен 5-блока с адресами Q1 и Q2:
.
Считывание содержимого ячейки таблицы замен 5-блока с адресом T:
.
Таблица замен 5-блока медленно изменяется при использовании, при этом счетчик Q1 обеспечивает изменение каждого элемента таблицы, a Q2 гарантирует, что элементы таблицы изменяются случайным образом.
Генератор ПСП Э.Блюм – М.Блюма
Рассмотрим так называемый BBS-генератор, получивший свое название в честь авторов Э.Блюм, М.Блюма и М. Шуба, основанный на криптосистеме Блюма.
Пусть p и q – два больших простых числа примерно одинакового размера, причем
.
Тогда число называется целым числом Блюма. Пусть – множество целых положительных чисел, меньших n, которые не делятся ни на p, ни на q. Пусть QRn – подмножество состоящее из квадратичных вычетов по модулю n. Число элементов множества равно , причем в точности четвертую их часть составляют элементы подмножества QRn. Каждый элемент QRn имеет ровно четыре различных квадратных корня в , из них лишь один, называемый примитивным, принадлежит QRn.
Задача определения
эффективно вычисляется, а произвести
обратное преобразование может лишь
тот, кто знает
секрет – разложение n на множители. Пусть n – целое число Блюма.
Генератор ПСП Э. Блюм – М. Блюма – М. Шуба
Выберем в качестве инициализирующего вектора случайное число . Для этого возьмем случайное число x, такое, что , и вычислим
.
Искомой последовательностью бит длиной m будет являться последовательность
,
где bi – младший бит числа xi,
.
Важным достоинством этого генератора является то, что при знании разложения n на множители он допускает прямое определение отдельных бит, которые в нем вырабатываются. Имеем
.
По теореме Эйлера
,
а значит,
,
т.е. с помощью двух операций модульного возведения в степень, которые эффективно вычисляются, любое число x, может быть найдено исходя лишь из начального вектора x0 и индекса i.
Аналогичным образом можно построить генератор ПСП на основе другой односторонней функции с секретом, например, лежащей в основе криптосистемы RSA, т.е. на основе функции
,
где ; p и q – простые числа, причем р ≠ q, а e взаимно простое с .
Операции сложения, вычитания, умножения и деления в поле GF(24). Их вид.
Элементами поля GF(2n) являются двоичные многочлены степени меньшей и, которые могут быть заданы строкой своих коэффициентов, т. е. в виде w-разрядных двоичных кодов.
Сложение в поле GF(2n) - это обычная операция сложения многочленов с использованием операции XOR при приведении подобных членов; или операция поразрядного XOR, если элементы поля представлены в виде строки коэффициентов соответст вующих многочледов. Например, в поле GF(2b> элементами которого являются двоичные многочлены, степень которых меньше восьми, байту 01010111 ({57} в шестнадцатеричной форме) соответствует многочлен
х6+х4 + х2 + х + 1.
Устройства, соответствующие
Пример выполнения сложения в поле GF(28):
{57} + {83} = {D4}, так как
(х6 + х4 + £ + х + 1) + (х7 + х + 1) = х7 + хв + х4 + х2, или
01010111 4-10000011 = 11010100.
Программная реализация операции умножения двух элементов а и Р поля GF(2n) может быть выполнена двумя способами: табличным и вычислением результата аР «на лету».
а - LFSR, соответствующий характеристическому многочлену
ф(х)=х8 + х4 + х3 + х + 1;
б - генератор элементов
6F(28)
Имеем:
ф(х + 1) = (х + 1)8+(х + 1)4+(х + 1)3 + (х + 1) + 1 = = (х8+1) + (х4 + 1) + (х3+х2+х + 1) + (^ + 1) + 1 = = х8 + х4 + х3 + х2 +1 = <р(х).
Сложение и умножение
в поле GF(2n)
Пусть, например, для построения поля GF(2 ) выбран
<р(х) = х8 + х4 + х3 + х + 1
- неприводимый многочлен показателя 51. Диаграмма состояний соответствующего ему устройства (рис. 2.8, а), один такт работы которого суть умножение на х по модулю <р (х), имеет 5 кодовых колец по 51 состоянию в каждом и один вырожденный тривиальный цикл, соответствующий состоянию {00} (hex), переходящему самому в себя. Определим структуру устройства (генераторалементов поля), позволяющего сопоставить каждому ненулевому элементу поля соответствующую степень примитивного элемента.
Устройства, функционирующие в GF(L),
L > 2
Пусть L>2- степень простого числа, GF(L) - поле Галуа из L элементов. Общий вид генератора L-рйчных последовательностей, соответствующего уравнению
Q(t+l) = fQ(t),
где Q(t) и Q(t+1) - состояния генератора
соответственно в моменты времени t и t + 1 (до и после прихода
синхроимпульса)
Величина,
на которую происходит умножение в каждом
блоке умножения (БУ), определяется соответствующим
коэффициентом
щ G GF(L) сопровождающей матрицы V = 7* (/ = 0,(N-1),
7=0,(^-1)). Если a,j = 0, это эквивалентно отсутствию связи
между выходом /-го элемента памяти ГПК
и входом /то блока сложения (БС).
Если щ= 1, это эквивалентно наличию связи
между выходом 1-го элемента памяти генератора
и входом /-го блока сложения. При L = 2" блоки сложения
и умножения в поле GF(T) реализуются на сумматорах
по модулю два.
Максимально возможное число состояний
устройства, а значит, и максимально возможная
длина формируемой L-ричной последовательности,
снимаемой с выхода любого из элементов
памяти, равны LN - 1. В этом случае
диаграмма состояний генератора состоит
из одного тривиального цикла и цикла
максимальной длины LN - 1.
Генераторы
M – последовательностей и их
свойства
Основные свойства
и структурные особенности последовательностей
максимальной длины [7, 8]:
Q=QoQyQ2-Qps_2
- это ^/-последовательность из £2(Ф(х)), а а - ненулевой элемент поля GF(p), то а<2 также является Л/-последователь-ностью из £2(Ф(х));
Q = b,(Ob, со2/?,..., g/~2Z>, где & - последовательность длины
<р"-Щр-1), а со - примитивный элемент поля GF(p)t т. е. период Л/-по-следовательности всегда можно разделить на (р - 1) частей, причем элементы каждой последующей можно получить путем умножения соответствующих элементов предыдущей части на со;
6) пусть а - ненулевой элемент поля GF(p), na(l) и п0(1) - число
серий длиной / из элемента а и из / нулей соответственно.
7) в ^/-последовательности имеется равное
число серий из эле
ментов поля GF(p), это число равно
pn-2/(p-D;
8) частота появления символа а за период ^/-последовательности
равна
pn-1/(p-d,
Стохастическое преобразование информации
В качестве одного из алгоритмов нелинейного преобразования элементов jc,- «-разрядной информационной последовательности
длиной т под управлением ключевой и-разрядной последовательности
Y = Yi Y2Y3---Y/---Y«
такой же длины и качественного
генератора псевдослучайных
Поле - это множество элементов, обладающее следующими свойствами:
а + B = B + а, аB = Bа, а + (B + у) = (а + B) + у, а(Bу) = (аB)у, а(B + у) = aB + ay;
• в поле должны
существовать такие элементы 0, 1, -а и (для
а≠0) а-1 что
0 + а = а, а + (-а) = 0, 0а = 0, 1а = а, а(а-1) = 1;
• все ненулевые элементы конечного поля могут быть представлены в степени некоторого фиксированного элемента тюля со, называемого примитивным элементом.
Конечное поле содержит конечное число элементов. Поле из L элементов обозначается GF(L) и называется полем Галуа в честь первооткрывателя Эвариста Галуа (1811—1832)/
Простейшие поля получаются следующим образом. Пусть р -простое число. Тогда целые числа 0, 1, 2, .,. , (р - 1) образуют поле GF(p), при этом операции сложения, вычитания, умножения и деления выполняются по модулю р. Более строго, GF(p) - это поле классов вычетов по модулю р, т. е.
GF(p)={0,1,2,...,(р-1)}
где
через 0 обозначаются все числа, кратные
p, через 1 - все числа, дающие при делении
на р
остаток 1, и т. д. С учетом этого
вместо р - 1 можно
писать - 1. Утверждение а = Р в GF(p) означает, что а - р делится
на р
или что а сравнимо с р по модулю p,
т. е. а = B(modp),
Поле, содержащее L = рп элементов, где р - простое число, а/г- натуральное, не может быть образовано из совокупности целых чисел по модулю L. Например, в множестве классов вычетов по модулю 4 элемент 2 не имеет обратного, так как 2*2 = 0.
Пусть
р = 2, п = 4, ф(х) = х4 + х + 1 - примитивный над GF(2). Элементы поля GF(24) имеют вид
0,1, х,x+ 1,... ,х3 + х2 + х + 1.
Так как ф(х) - примитивный, ему соответствует устройство, диаграмма состояний которого состоит из цикла максимальной длины 24 - 1 и одного тривиального цикла, включающего состояние 0000, переходящее само в себя (рис. 2.1). Таким образом, в качестве w можно взять корень ф(х), а устройство, для которого ф(х) = х 4 + х + 1 является характеристическим многочленом, объявить генератором ненулевых элементов поля. В результате соответствие между различными представлениями элементов поля имеет вид, представленный на рис. 2.2. Состояния генератора определяют список элементов GF(24) в порядке возрастания степеней w, т. е. один такт работы устройства, соответствующего характеристическому многочлену ф(х), суть умножение текущего состояния устройства наw = х.