
- •Введение в высшую алгебру.
- •Группы.
- •Кольца.
- •Подгруппыи смежные классы.
- •Идеалы и классы вычетов.
- •Классы вычетов.
- •Идеалы и классы вычетов целых чисел.
- •Изоморфность.
- •Мультипликативная группа поля Галуа.
- •Основные положения теории чисел
- •Теорема Ферма.
- •Функция Эйлера.
- •Теорема Эйлера.
- •Классификация методов шифрования.
- •Пример обмена информацией по методу Эль-гамаля.
- •Алгоритм обмена сообщениями по Эль-гамалю (модификация дифи).
- •Алгоритм rsa
- •Алгоритм Диффи-Хеллмана. Открытое распределение ключей.
- •Вычислительные алгоритмы для криптологии. Алгоритм Евклида.
- •Расширенный алгоритм Евклида.
- •Модульные алгоритмы.
- •Модульное возведение в степень.
- •Нахождение числа, обратного по модулю.
- •Двоичный алгоритм Евклида.
- •Парадокс дней рождения.
- •Факторизация.
- •Вычисление числа по его вычетам.
- •АлгоритмМиллера-Рабина:
- •Вычисление длины периода последовательности (метод Флойда)
- •Полиномы.
- •Алгебра классов вычетов многочленов.
- •Поля галуа.
- •Поле Галуа для полиномов.
- •Свойства неприводимых многочленов.
- •Линейные переключательные схемы.
- •АлгоритмCrc:
- •Наиболее популярные магические полиномы:
- •Выбор полинома.
- •Типы ошибок:
- •Генераторы случайных последовательностей.
- •Постулаты случайности последовательностей Голомба.
- •Регистр с обратной связью.
- •Шифрование при помощи случайной последовательности (гамма-последовательности).
- •Потоковые шифры.
- •Генератор Греффе.
- •Генератор с нелинейным фильтром.
- •Сжимающий генератор.
- •Система блочного шифрования.
- •Информационная безопасность.
- •Подотчетность.
- •Гарантированность.
Основные положения теории чисел
Главный объект теории чисел – простые числа.Определяется наличием у него делителей.
Если число b делит a, то остатка нет и это обозначают как b|a. В этом случае b – делитель a.
Положительные делители числа 24: 1, 2, 3, 4, 6, 8, 12.
Положительные делители числа 28: 1, 2, 4,7,14.
Совершенные числа – сумма делителей образует само число. Например, 6 и 28.
Если a делит 1, то
.
Если b делит a
и a делит b,
то
.
Любое число
делит ноль.
Если b|g, и b|h, то b|(m*g+l*h).
Доказательство:
Если b|g =>n*b = g
Если b|h =>p*b = h
m*g+l*h = (m*n*b + l*p*b) = b* (m*n + l*p).
Пример: 7|14 и 7|63.Тогда 7|(3*14+2*63) =(3*2+2*9)*7.
Теорема (следствие из алгоритма Евклида): Любое число a>1 может быть разложено на множители и единственным способом представлено в виде:
, где
–простые
числа.
,
либо как
–произведение
по всем возможным простым числам
.
Умножение 2х чисел – суммирование показателей. Делители – любые числа с показателями, меньшими, чем у данного числа.
НОД(a,b) – число, у которого каждый показатель есть минимум из показателей чисел aи b.
НОК(a,b) –максимум из соответствующих показателей этих двух чисел.
Теорема Ферма.
Если p — простое число и
целое a не делится на p,
то
(или
делится на p).
Другими словами,
–я
степень
при делении на
дает остаток 1.
Другая формулировка:
Доказательство:
.
Все части равенства умножим на остатки от деления на p:
(p-1) число образуют мультипликативную группу, для которой справедлива таблица умножения.
ПРОПУЩЕНО ДОКАЗАТЕЛЬСТВО.
Функция Эйлера.
Обозначается как
,
где
– натуральное число и представляет
собой число положительных целых чисел,
меньших
и
взаимно простых с ним.
Свойства:
Для p – простого числа:
,
т.е. это все числа <p.
Для двух взаимно простых чисел
и
и
:
.
Т.е. функция мультипликативна.
.
Доказательство:
Изобразим прямоугольник, где координаты – 2 идеала, полученные как остатки modq(X) и modp(ось Y). Взаимно простые числа с p*q – числа, которые не делятся на p и не делятся на q. Это те числа, у которых остаток = 0, т.е. 2 идеала. Нужно подсчитать число чисел внутри многоугольника:
.
Нужно из всех точек вычесть количество точек на плоскостях. «+1» т.к. 2 раза вычитаем «0».
Теорема Эйлера.
Для любых взаимно простых чисел
и
имеет место
,
где
–
функция Эйлера.
Ход доказательства: если число n простое, то это равенство верно по теореме Ферма. Если n составное, то оно является произведением простых чисел и доказательство по индукции так же покажет верность утверждения.
Малая теорема Ферма – частный случай теоремы Эйлера.
Классификация методов шифрования.
Методы шифрования можно разделить на:
Потоковое шифрование - каждый знак текста шифровки являетсяфункцией значения и положения соответствующего знака открытоготекста. Знаки – это биты, байты и редко - более крупные единицы. Можно производить табличными методами.
Пример: гаммирование, XOR,XOR + длинный ключ.
Достоинства: отсутствует размножение ошибок. Простота реализации, высокая скорость.
Недостаток: необходима синхронизация для смены ключей. Для выбора ключа передается случайный ключ, необходимый для выбора ключа шифрования.
Блочное шифрование - взбивалки, скрамблеры. Текст делится нанезависимые блоки, которые шифруют с последующей перестановкой дляполучения блоков шифровки той же длины. Хороший прием - умножениена Xk mod g(x).
Достоинства: небольшие изменения текста или блока приводят к большому изменению результата.
Недостатки: но из-за одной ошибки производится её размножение. Пропадет весь блок. Для одинаковых блоков шифр выглядят одинаково. Значит можно собрать статистику.
Смешанные методы шифрования: блочные плюс потоковые.
Шифрование с открытым ключом: знание ключа для шифрованиянедостаточно для расшифровки, и наоборот. Всегда требуется иметь 2 ключа. Такое шифрование всегдаблочное.
Очень медленны. Их применяют для аутентификации и цифровой подписи.
Сверточное шифрование. Функция шифрования зависит как от ключа,так и от одного или нескольких предшествующих символов или блоковтекста шифровки.
Сверточные шифры защищают от манипуляторов. Ошибки шифрования размножаются, сразу видно внешнее вмешательство в передачу информации. Но в том же неудобство - целая полоса блоков испорчена. Так же большая сложность их разработки и реализации.
Методы шифрования с открытым ключом.