- •§ 1 Понятия теории чисел
- •Алгоритм Евклида нахождения наибольшего общего делителя
- •Сравнения и их свойства
- •Функция Эйлера1
- •§ 2 Генераторы псевдослучайных чисел. Линейный конгруэнтный генератор
- •§ 5 Алгоритм последовательного возведения в квадрат
- •Алгоритм последовательного возведения в квадрат
- •§ 8 Дискретный логарифм
- •Алгоритм больших - малых шагов (Шенкса)
- •Алгоритм Нечаева – Поллига - Хеллмана
- •§ 10 Группы
- •Переборный алгоритм нахождения дискретного логарифма
- •Множество Zn
- •Свойства образующих (примитивных) элементов мультипликативной группы Zn*
- •Подгруппы
- •§ 11 Кольца. Поля Кольца
- •Конечные поля – поля Галуа2
- •§ 12 Эллиптические кривые в криптографии
- •Алгоритм вычисления точек эллиптической кривой
- •Алгоритм вычисления порядка группы точек эллиптической кривой
- •Литература
Функция Эйлера1
Определение. Функцией Эйлера (n) называется число натуральных чисел, не превосходящих n и взаимно простых с n.
Утверждение. Если a, b – взаимно просты, (a, b) = 1, то ( a b ) = ( a ) ( b ) .
Утверждение. Если p – простое число, то ( p ) = p – 1 ( p – 1 ).
Утверждение. Если p – простое число, то ( p ) = p – 1 .
Утверждение. Если
,
где p1, p2,…,
pk – попарно
различные простые числа, то
или
.
Пример. (45) = (9) (5) = 3*2*4 = 24.
Утверджение (теорема Эйлера). Если a и n взаимно просты, то a ( n ) = 1 mod n.
Утверджение (малая теорема Ферма). Если p – простое число и a < p., то a p – 1 = 1 mod p.
Контрольные вопросы
Дайте определение взаимно простых чисел.
Определите НОД и НОК.
Опишите алгоритм Евклида нахождения НОД.
Что означает, что два числа сравнимы по модулю.
Каковы свойства сравнений.
Что такое классы вычетов?
Определите функцию Эйлера.
По каким формулам можно вычислять функцию Эйлера?
Сформулируйте теорему Эйлера.
Сформулируйте малую теорему Ферма.
В каких криптографических алгоритмах используются сравнения?
§ 2 Генераторы псевдослучайных чисел. Линейный конгруэнтный генератор
Примером генератора псевдослучайных чисел (ПСЧ) является линейный конгруэнтный датчик ПСЧ:
Тi+1 = ( A*Ti + C ) mod M, (1)
где M – модуль генератора, А и С – неотрицательные константы, меньшие модуля M, Т0 – начальное значение генератора. Величины А, С, Т0 образуют ключ генератора ПСЧ. Значение M обычно выбирается достаточно большим.
Такой датчик ПСЧ генерирует псевдослучайные числа с максимальным периодом повторения M, зависящим от значений А и С, при выполнении условий следующего утверждения.
Утверждение. Длина периода последовательности Ti , определяемой формулой (1), равна М в том и только том случае, если
С и М взаимно просты;
B = A – 1 кратно p для любого простого p – делителя M;
если M кратно 4, то и B кратно 4.
Для получения последовательности, принимающей значения из отрезка [0,1], нормируем последовательность Ti по формуле
Ri = Ti /M. (2)
Для оценки равномерности распределения
последовательности R на отрезке [0,1]
построим гистограмму. Для этого отрезок
[0,1] разбиваем на t (например, t=8) равных
частей и подсчитываем количество ПСЧ,
попавших в каждый отрезок. В MathCAD
используем функцию hist ( t, R ), которая
возвращает вектор значений
– количество ПСЧ, попавших в j-тый
интервал.
Рисунок 1 – Гистограмма распределения последовательности из 64 ПСЧ на отрезке [0,1].
Контрольные вопросы
Дайте определение псевдослучайной последовательности.
Для какой цели применяют последовательности ПСЧ.
Опишите известные генераторы ПСЧ.
Какими свойствами должны обладать генераторы ПСЧ для использования их в криптографии.
Как оценить равномерность и случайность последовательности ПСЧ.
Какие методы применяют для улучшения качеств последовательности ПСЧ.
