- •Лабораторная работа №6. Изучение алгоритма хэш – функции системы sha – 1…………………………………………………………………
- •Введение
- •1. Математические операции криптографических систем Введение
- •1.1. Понятие группы
- •1.2. Конечные поля
- •1.3. Операции в полях Галуа
- •Как проверить, является ли число простым
- •Поиск наибольшего общего делителя
- •1.4. Свойства арифметических операций в классах вычетов
- •1.5. Операции над многочленами
- •2.2. Примитивные элементы
- •2.2.1 . Структура конечного поля
- •2.4. Построение устройств генерации ключей
1. Математические операции криптографических систем Введение
При защите обрабатываемой, хранимой и передаваемой информации применяются математические вычисления, которые часто осуществляются над конечным множеством элементов. В качестве этих элементов могут быть биты, байты, слова, сообщения. Сообщения представляются последовательностью бит, байт. Элементы могут быть отображены в цифровом виде с конечным или бесконечным числом, а сами цифры в системах счисления с различным основанием. На практике наиболее часто используются системы счисления с основанием 2, 8, 10, 16.
Математические операции могут осуществляться с бесконечным или фиксированным числом различных элементов. В первом случае операции осуществляются над элементами бесконечного поля ("привычные" математические операции), а во втором - над элементами конечного поля, которые называют также полями Галуа [1,7].
Вычисления в конечных полях имеют свои особенности, и они нашли в частности широкое применение при защите информации. Поэтому приведем основные понятия и теоретические основы вычислений в конечных полях.
Структура полей Галуа связана со следующими определениями:
1) Коммутативная (абелева) группа: множество математических объектов, которые можно "складывать" и "вычитать".
2) Кольцо: множество математических объектов, которые можно "складывать", "вычитать" и "умножать".
3) Поле: множество математических объектов, которые можно "складывать", "вычитать", "умножать" и "делить".
Кавычки здесь обозначают, что это не обычные, но сходные с ними, арифметические операции.
Простейшее конечное поле состоит из двух элементов. Поле вещественных чисел содержит бесконечное число элементов. Если обозначить два элемента поля через 0 и 1, то операции умножения и сложения выглядят следующим образом:
Здесь - сложение по модулю 2.
Таким образом, полученные операции сложения и умножения называются сложением по модулю 2 и умножением по модулю 2.
Из равенства 1+1=0
следует, что
,
а из равенства
,
что
.
Алфавит из двух символов 0 и 1 вместе со
сложением и умножением по модулю 2
называется полем из двух элементов и
обозначается через GF(2).
1.1. Понятие группы
Группой G называется множество элементов с определенной для каждой пары элементов операций (обозначаемой *), обладающее следующими 4 свойствами:
1) замкнутость:
для каждой пары a
и b
из множества элементов
принадлежит множеству;
2)
ассоциативность:
для всех b
и c
из множества
;
3) существование
единицы:
в множестве существует элемент, называемый
единичным элементом e
таким, что
для любого элемента a
множества;
4) существование
обратных
элементов:
для любого a
из множества существует некоторый
элемент e
из множества, называемый обратным
элементу a
и такой, что
.
Если группа G
содержит конечное число элементов, то
она называется конечной
группой, а
число элементов в G
называется порядком
G.
Некоторые группы обладают дополнительным
свойством: для любых a
и b
из группы
.
Такое свойство называется
коммутативностью,
а группа - коммутативной
или абелевой.
Есть много примеров групп, из которых многие содержат бесконечное число элементов. Примером могут служить целые числа относительно операции сложения, положительные числа относительно умножения. Примером группы является группа перестановок из символов. Пусть x представляет множество {1,2,..., n}. Взаимно однозначное отображение этого множества на само себя называется перестановкой. Всего имеется n! таких перестановок.
Возьмем n=5.
Всего имеются 5!=120 перестановки в группе
.
Типичный элемент группы
равен
a
= [(12345)
(34152)]
и является перестановкой, заменяющей 1 на 2, 2 на 4, 3 на 1 и 4 на 3. Другой такой перестановкой является
Тогда произведение
в группе
равно перестановке, получающейся в
результате применения сначала a,
а затем b:
что является элементом группы . С таким определением умножения группа перестановок является неабелевой.
Предположим, что
G - группа, и пусть H - некоторое подмножество
в G. Тогда Н называется подгруппой группы
G, если Н является группой относительно
ограничения операции на Н. Чтобы
проверить, что непустое множество Н
является подгруппой группы G, следует
только проверить, что для всех a
и b
из Н элемент
принадлежит Н (замкнутость) и что
элемент, обратный к а
из Н, также принадлежит Н. Остальные
групповые свойства наследуются из
группы G. Например, множество всех четных
чисел и множество чисел, кратных 3,
являются подгруппами в множестве всех
целых чисел (положительных, отрицательных
и 0) относительно операции сложения.
