Вы находитесь на странице: 1из 17

Математичні основи

криптоперетворень
Группа G  это множество из q элементов с бинарной
операцией () над ними, для которых выполняются
условия (1 – 4):
• Замкнутость: для всех a, b  G существует
единственный элемент с G, такой, что с = ab.
• Ассоциативность: для всех a, b, с  G: a (b c) = (a
b)c.
• Существование нейтрального элемента е: для всех
a  G a  e = e  a = a.
• Существование обратного элемента а1: для всех a 
G aa 1 = a1a = e.
• Коммутативность: для всех a, b G ab = ba
Коммутативная группа называется абелевой.
Модульная арифметика

Примеры: 18mod(5)= 3; 27mod(7)= 6;


-18mod(5)= -3 =5 – 3 = 2; 30 mod(5)= 0.

В Mathcad: a:=mod(A,n) ***


B Excel: a:=ОСТАТ(A,n)
Примеры: 18mod(5)= 3; 27mod(7)= 6;
• Множество {0, 1, 2, 3,…, n - 1} образует класс наименьших
положительных вычетов по mod(n).
• Таблица сложения Кэли по mod6
• + 012345
0 012345
• 1 123450
• 2 234501
• 3 345012
• 4 450123
• 5 501234
 Элементы {0,1,2,3,4,5} вместе с операцией + mod6 образуют
аддитивную группу
Ее нейтральный элемент - 0
• Т е о р е м а 1. Элемент a из множества Zn
имеет обратный по умножению элемент
a1 тогда и только тогда , когда НОД(a, n)
= 1, т. е. a и n – взаимно просты.
Элементы {0,1,2,3,4,5} вместе с операциями
(+ ) и умножения (×) по mod6 образуют
кольцо
Чтобы построить мультипликативную
группу вычетов, модуль n должен быть
простым числом: n = p. (p – prime - простое)
Пример мультипликативной группы с умножением по
modр, р = 5. Таблица умножения Кэли
•  1234
• 1 1234
• 2 2413
• 3 3142
• 4 4321
Элементы {1,2,3,4} вместе с операцией  mod5
образуют мультипликативную группу
Ее единичный элемент -1
 Порядок мультипликативной группы (число ее
элементов) равен р – 1.
• Минимальная ненулевая степень m элемента
мультипликативной группы, для которой am =
1, называется порядком элемента а
Пример: р = 7, порядок мульт. группы = 6
20 = 1 21 = 2 22 = 4 23 = 8 = 1mod7
Þ Порядок элемента 2 равен 3.
30 = 1 31 = 3 32 =9mod7 = 2 33 = 6mod7 =-1
36 = 1
 Порядок элемента 3 равен 6.
62 = 1  Порядок элемента 6 равен 2.
Элемент максимального порядка (р – 1)
называется примитивным (или
генератором группы)
Подмножество Н группы G называется
подгруппой этой группы, если Н само
образует группу с операцией группы G.
Группа называется циклической, если в ней
есть такой элемент а, все степени которого
пробегают все элементы группы
• Кольцо – это множество элементов с
операциями + и , все элементы к-рой
образуют аддитивную группу.
• Пример кольца: система вычетов Zn по
модулю составного n = pq с операциями
сложения и умножения.
• О п р е д е л е н и е. Конечное поле или поле
Галуа Fq – это множество из q элементов с
бинарными операциями сложения ( + ) и
умножения (), все элементы которого
образуют аддитивную абелеву группу, а все
ненулевые элементы – мультипликативную
абелеву группу
В поле можно складывать, умножать и делить.
Деление – это умножение на обратный
элемент: а/b = a*b-1
Пример: (3/2)mod7 = 3*2-1 = 3*4mod7 = 5
• Теорема Ферма:
аp-1 = 1modp, aFp*

Обратный элемент можно вычислить как


а-1 = аp-2modp.
Задание 1. В Мathcad
• построить таблицы Кэли сложения и умножения
элементов поля Fp при p = 5; 7; 13; 17; 23
• Найти обратные элементы в группе F13*
• Найти все подгруппы мультипликативной группы
F13*
Распределение ключей по схеме Диффи-
Хэллмана
Односторонняя функция Y=f(X): вычислить Y
при заданном Х легко, а вычислить обратную
функцию Х = f-1 (Y) практически невозможно.
Пример:
Y = gX modp – односторонняя функция,
Х – дискретный логарифм (секрет),
g – генератор мультипликативной группы
поля Fp.
Алгоритм КЕР:
А: 1а) X1 < p-1; 2a) YA = gX modp  B;
1

B: 1b) X2 < p-1; 2b) YB = gX modp  A;


2

А: 3а) YAB = (YB)X modp = gX X ;


1 2 1

B: 3b) YBA = (YA)X modp = gX X ;


2 1 2

Их общий секрет : YBА = YAB


Хотя частные секреты Х1,2 друг друга им
неизвестны!
Чтобы найти секреты X1 и X2 по известным YA и YВ,
необходимо решить DLP (Discret Logarithm
Problem) – найти X1 = logYA
Задание 2. 1) Разбиваетесь на пары А и В;
2). Договариваетесь об общем модуле р > 30;
3). Находите общий генератор g – элемент
максимального порядка;
4). Задаетесь каждый своим секретным ключом
Х1,2 < 30;
5). Вычисляете каждый свой открытый ключ YA
или YВ и обмениваетесь ими;
6). Рассчитываете общий ключ и сравниваете
результаты;
7) Отчет преподавателю.
Пример. Р = 23, порядок МГ равен 22 = 2*11.
1).Нужно найти элемент максимального (22-го)
порядка. Тестируем:
211 mod23 =2048 mod23 = 1
Þ 2 – непримитивный элемент. Дальше
311 mod23 = 1 – тоже не годится.
511 mod23 = 22 = -1  522 mod23 = (-1) 2 = 1
Þ g=5
2). Примем секреты Х1 = 10, Х2 = 20.
3). Вычисляем А: YA = 510 mod23 = 9  B
B: YB = 520 mod23 = 92 = 12  A
4) Рассчитываем А: YBA = 1210 mod23 = 2
B: YAB = 920 mod23 = 2
Декомпозиция вычислений:
A: 1210 = 210 *610 = 12*4 = 48mod23 = 2;
B: 920 = (910 )2 = 182 = (-182) = (23 - 18) 2 =52 = 2
Вывод: результаты совпадают YBA = YAВ