Криптология состоит из двух направлений: криптографии и криптоанализа.
Криптография – наука о способах преобразования (шифрования)
информации с целью ее защиты от несанкционированных пользователей.
Криптоанализ – наука (и практика ее применения) о методах и способах несанкционированного вскрытия шифров (атаки на шифры). Вскрытием шифров занимаются так называемые криптоаналитики.
Задачи криптографии:
1. Защита данных при хранении и передаче;
2. Целостность информации;
3. Электронно-цифровая подпись (ЭЦП);
4. Аутентификация – проверка подлинности.
Существует вспомогательная часть криптосистемы – управление ключами, включающее следующее:
1. генерация;
2. система передачи ключей;
3. хранение ключей;
Криптография основана на математических методах из разделов математики :
- Теория чисел
- Абстрактная алгебра
- Полимиальная алгебра
Данный курс лекций посвящен рассмотрению этих разделов, их применению для решения задач криптографии.
В разделе Теория чисел рассмотрим ряд важных для криптографии понятий и алгоритмов.
Абстрактная алгебра – раздел где изучается определенные системы состоящие из определенного множества элементов ( чисел) S и операций
(умножение, сложение, по модулю…и.т.д.) над элементами. Преобразование (шифрование) информации основано на правилах, определяемых абстрактной алгеброй.
Полимиальная алгебра изучает полиномы с целочисленными
коэффициентами. Мы будем рассматривать, в основном, роль полиномов как генераторов псевдослучайных последовательностей.
Классификация методов шифрования и алгоритмов.
Методы шифрования и алгоритмы делятся на симметричные (одноключевые) и асимметричные (двухключевые или системы с открытым ключом).
Методы шифрования
1. Симметричные
· Блочные (необходимый объем информации делится на блоки, каждый блок шифруют)
· Поточные (объем информации не делится, для повышения скорости передачи информации)
· Комбинированные
2. Асимметричные
· Блочные
Пример1простейшего симметричного шифра: шифр Цезаря
yi = (xi+a)mod m
где x-открытый текст (чило из диапазона (1 – m-1))
y-шифрованный (чило из диапазона (1 – m-1))
а- смещение (секретный ключ) -(чило из диапазона (1 – m-1))
xi= (yi+(m-a))mod m
Пример2.Модифицированный алгоритм Цезаря
а)yi = (xib+a)mod m , где b-ключ и а-другой ключ b->b-1 (ставим в соответствие);
xi= [(yi+(m-a))b-1]mod m, где bi-1
- обратный элемент элементу bi (чило из диапазона (1 – m-1))
Обратный элемент удовлетворяет условию (bb-1)modm=1.
б)yi=(xibi)mod m;
xi= (xibi-1)mod m,
если m простое число, то в качестве bi – любое число в интервале от 1 до m-1,
а когда m- составное число, то не все числа в интервале от 1 до m-1имеют
обратный элемент.
(число называется простым если оно делится без остатка только на 1 и на себя иначе оно составное).
Требования к шифрам
1. Шифротекст читается только при наличии секретного ключа;
2. Число операций для определения секретного ключа по фрагменту шифротекста и такого же кусочка открытого текста должно быть
не меньше общего числа возможных ключей, которое
определяется как 2ⁿ, где n-разряд;
3. Знание алгоритма шифрования не должно влиять на надежность защиты;
4. Незначительное изменение ключа шифрования должно приводить к существенному изменению вида шифротекста;
5. Незначительное изменение открытого текста должно приводить к существенному изменению вида шифротекста, даже при использовании одного и того же секретного ключа;
6. Структурные элементы алгоритма шифрования должны быть неизменными (иначе не будет выполняться п. 4, 5);
7. Длина шифротекста должна быть равной длине исходного текста;
8. Не должно быть простых и легко устанавливаемых зависимостей между ключами, последовательно используемыми в процессе шифрования;
9. Любой ключ из множества возможных должно обеспечивать надежную ЗИ.
Все эти требования определились в систематизированном виде после публикации статьи «Теории секретной передачи информации» Шеннона (1949-1950г.), где обосновывались теоретически криптостойкий алгоритм, практически криптостойкий алгоритм, а также принципы алгоритмов шифрования, обеспечивающие теоритическую и практическую криптостойкость. Таких принципов два. Они дают возможность выполнения данных 9 требований.
1. Принцип перемешивания. Шифрограмма не должна отличаться от случайного процесса;
2. Рассеивание (п. 5, 6, 7).
Реализация этих принципов основана на теоретических положениях разделов - Теория чисел, Абстрактная алгебра, Полимиальная алгебра