
- •Современные симметричные криптосистемы План
- •9.4.1.Режим "Электронная кодовая книга"……………………………………37
- •9.4.2. Режим "Сцепление блоков шифра"……………………………………..39
- •1.Основные методы и способы шифрования
- •Симметричная криптография. Основные понятия
- •2. Области применения
- •3. Платформы
- •4.Дополнительные требования
- •5. Сеть Фейстеля
- •6. Криптоанализ
- •7. Дифференциальный и линейный криптоанализ
- •8.Используемые критерии при разработке алгоритмов
- •9. Американский стандарт шифрования данных des
- •9.1. Принципы разработки
- •Основные достоинства алгоритма des:
- •9.2.Алгоритм процесса шифрования des
- •Графически все выглядит следующим образом:
- •9.3. Последовательность работы алгоритма шифрования des
- •Матрица начальной перестановки ip
- •Матрица обратной перестановки ip–1
- •Связь элементов матриц
- •1) Проводятся итерации с целью получения левых последовательностей входного блока бит т (исходного текста) текста Li и правых последовательностей Ri :
- •Приведем определения этих функций.
- •Функция расширения e
- •Функции преобразования s1, s2, ..., s8
- •Новое значение ключа Кi вычисляется из начального ключа к
- •Функция h завершающей обработки ключа (переставленная выборка 2)
- •9.4.Основные режимы работы алгоритма des
- •2.3.1.Режим "Электронная кодовая книга"
- •2.3.2. Режим "Сцепление блоков шифра"
- •2.4. Области применения алгоритма des
- •10. Отечественный стандарт шифрования данных
- •10.1. Описание алгоритма
- •11. Режимы работы алгоритма
- •11.1. Режим простой замены
- •11.2. Зашифрование открытых данных в режиме Простой замены
- •11.3. Расшифрование в режиме простой замены.
- •32, 31,..., 2, 1 Номер разряда n1
- •32, 31,..., 2,1 Номер разряда n2
- •12.Режим гаммирования
- •12.1. Реализация процедуры зашифрования в режиме гаммирования.
- •32, 31,..., 2, 1 Номер разряда n1
- •64, 63,..., 34, 33 Номер разряда n2
- •12.2. Расшифрование в режиме гаммирования.
- •12.3. Реализация процедуры расшифрования
8.Используемые критерии при разработке алгоритмов
Принимая во внимание перечисленные требования, обычно считается, что алгоритм симметричного шифрования должен:
Манипулировать данными в больших блоках, предпочтительно размером 16 или 32 бита.
Иметь размер блока 64 или 128 бит.
Иметь масштабируемый ключ до 256 бит.
Использовать простые операции, которые эффективны на микропроцессорах, т.е. исключающее или, сложение, табличные подстановки, умножение по модулю. Не должно использоваться сдвигов переменной длины, побитных перестановок или условных переходов.
Должна быть возможность реализации алгоритма на 8-битном процессоре с минимальными требованиями к памяти.
Использовать заранее вычисленные подключи. На системах с большим количеством памяти эти подключи могут быть заранее вычислены для ускорения работы. В случае невозможности заблаговременного вычисления подключей должно произойти только замедление выполнения. Всегда должна быть возможность шифрования данных без каких-либо предварительных вычислений.
Состоять из переменного числа итераций. Для приложений с маленькой длиной ключа нецелесообразно применять большое число итераций для противостояния дифференциальным и другим атакам. Следовательно,
должна быть возможность уменьшить число итераций без потери безопасности (не более чем уменьшенный размер ключа).
По возможности не иметь слабых ключей. Если это невозможно, то количество слабых ключей должно быть минимальным, чтобы уменьшить вероятность случайного выбора одного из них. Тем не менее, все слабые ключи должны быть заранее известны, чтобы их можно было отбраковать в процессе создания ключа.
Задействовать подключи, которые являются односторонним хэшем ключа. Это дает возможность использовать большие парольные фразы в качестве ключа без ущерба для безопасности.
Не иметь линейных структур, которые уменьшают комплексность и не обеспечивают исчерпывающий поиск.
Использовать простую для понимания разработку. Это дает возможность анализа и уменьшает закрытость алгоритма.
Большинство блочных алгоритмов основано на использовании сети Фейстеля, все имеют плоское пространство ключей, с возможным исключением нескольких слабых ключей.
9. Американский стандарт шифрования данных des
9.1. Принципы разработки
Самым распространенным и наиболее известным алгоритмом симметричного шифрования является DES (Data Encryption Standard). Алгоритм был разработан в 1977 году, в 1980 году был принят NIST (National Institute of Standards and Technology США) в качестве стандарта (FIPS PUB 46).
Стандарт DES предназначен для защиты от несанкционированного доступа к важной, но несекретной информации в государственных и коммерческих организациях США.
Алгоритм, положенный в основу стандарта DES, распространялся достаточно быстро, и уже в 1980 г. был принят Национальным институтом
стандартов и технологий США (НИСТ) как национальный стандарт. Появляются программное обеспечение и специализированные микроЭВМ,
предназначенные для шифрования и расшифрования информации в сетях передачи данных.
К настоящему времени DES является наиболее распространенным алгоритмом, используемым в системах защиты коммерческой информации.