- •Основные понятия криптографии. Блочные и поточные шифры. Понятие криптосистемы. Ручные и машинные шифры. Основные требования к шифрам.
- •Методы криптоанализа. Понятие криптоатаки. Классификация криптоатак. Классификация методов анализа криптографических алгоритмов.
- •Основные свойства криптосистемы. Классификация атак на криптосистему с секретным ключом.
- •Традиционная криптография и криптография с открытым ключом: область использования, достоинства и недостатки. Требования, предьявляемые к алгоритмам шифрованияя.
- •Поточные и блочные шифры. Принципы блочного шифрования. Шифр Файстеля.
- •7. Режимы работы блочных шифров. Область применения. Достоинства и недостатки.
- •Режим электронной книги:
- •Режим обратной связи по шифротексту.
- •8. Принципы построения криптографических алгоритмов. Криптографическая стойкость шифров. Имитация и подмена сообщения. Характеристика имитостойкости шифров
- •9. Стандарт шифрования данных (des). Шифрование и дешифрование des.Достоинства и недостатки.
- •10. Стандарт aes. (Требования к стандарту, финалисты конкурса, сравнение алгоритмов rc6, Twofish, Rijndael,Serpent, Mars).
- •Гаммирование с обратной связью.
- •12. Потоковые шифры на основе рслос. Генератор Геффе, «старт-стоп» Бета-Пайпера. Пороговый генератор.
- •13. Распределение секретных ключей. Подход на основе алгоритма традиционного шифрования. Продолжительность использования сеансового ключа.
- •14. Ключевая информация: сеансовый, секретный, мастер-ключ, открытый и закрытый ключ. Требования к качеству ключевой информации и источнику ключей.
- •15. Распределение секретных ключей. Обмен ключами по Диффи-Хельмана.
- •16. Криптосистемы rsa и Эль-Гамаля.
- •17. Криптографические функции аутентификации.
- •18. Сертификаты открытых ключей. Распределение сертификатов открытых ключей.
- •20. Электронная подпись. Подход rsa и dss. Гост 34.10-2001 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки и электронной цифровой подписи.
- •21. Фз №63 «Об электронной подписи»:
- •22. Взаимосвязь между протоколами аутентификации и цифровой подписи.
- •23. Распределение сеансовых ключей по протоколу Kerberos.
- •Формальное описание
- •24. Простой и защищённый протокол аутентификации (Kerberos).
- •26. Сравнение алгоритмов хеширования: гост 34.11 – 94, sha-3, ripemd-160, md5.
- •27. Код аутентичности сообщения: требования, область применения, методы получения кода аутентичности (имитовставки).
- •28. Линейные конгруэнтные генераторы. Регистры с обратной линейной связью. Линейная сложность. Корреляционная стойкость.
- •29. Криптография в стандарте gsm. Алгоритм аутентификации а8 и алгоритм генерации ключа шифрования а3.
- •30. Поточный алгоритм a5/X
- •31. Методы получения случайных и псевдослучайных последовательностей.
15. Распределение секретных ключей. Обмен ключами по Диффи-Хельмана.
13+
Алгори́тм Ди́ффи — Хе́ллмана позволяет двум или более пользователям обменяться без посредников ключом, который может быть использован затем для симметричного шифрования.
Данный алгоритм не применяется для шифрования сообщений или формирования электронной подписи. Его назначение – в распределении ключей.
Это была первая криптосистема, которая позволяла защищать информацию без использования секретных ключей, передаваемых по защищенным каналам.
Предположим, существует два абонента: Алиса и Боб. Обоим абонентам известны некоторые два числа g и p, которые не являются секретными и могут быть известны также другим заинтересованным лицам. Для того, чтобы создать неизвестный более никому секретный ключ, оба абонента генерируют большие случайные числа: Алиса — число a, Боб— число b. Затем Алиса вычисляет значение (1):
(1)
и пересылает его Бобу , а Боб вычисляет (2):
(2)
и передаёт Алисе. Предполагается, что злоумышленник может получить оба этих значения, но не модифицировать их (то есть у него нет возможности вмешаться в процесс передачи).
На втором этапе Алиса на основе имеющегося у ней a и полученного по сети B вычисляет значение (3):
(3)
Боб на основе имеющегося у него b и полученного по сети A вычисляет значение (4):
(4)
Как нетрудно видеть, у Алисы и Боба получилось одно и то же число (5):
(5)
Его они и могут использовать в качестве секретного ключа, поскольку здесь злоумышленник встретится с практически неразрешимой (за разумное время) проблемой вычисления (3) или (4) по перехваченным и , если числа p,a,b выбраны достаточно большими.
При работе алгоритма, каждая сторона:
генерирует случайное натуральное число a — закрытый ключ
совместно с удалённой стороной устанавливает открытые параметры p и g (обычно значения p и g генерируются на одной стороне и передаются другой), где
p является случайным простым числом
g является первообразным корнем по модулю p
вычисляет открытый ключ A, используя преобразование над закрытым ключом
A = ga mod p
обменивается открытыми ключами с удалённой стороной
вычисляет общий секретный ключ K, используя открытый ключ удаленной стороны B и свой закрытый ключ a
K = Ba mod p
К получается равным с обеих сторон, потому что:
Ba mod p = (gb mod p)a mod p = gab mod p = (ga mod p)b mod p = Ab mod p
В практических реализациях, для a и b используются числа порядка 10100 и p порядка 10300. Число g не обязано быть большим и обычно имеет значение в пределах первого десятка.
16. Криптосистемы rsa и Эль-Гамаля.
RSA — криптографический алгоритм с открытым ключом, основывающийся на вычислительной сложности задачи факторизации больших целых чисел.
Криптосистема RSA стала первой системой, пригодной и для шифрования, и для цифровой подписи. Алгоритм используется в большом числе криптографических приложений, включая PGP, S/MIME,TLS/SSL, IPSEC/IKE и других.
RSA-ключи генерируются следующим образом:
Выбираются два различных случайных простых числа и заданного размера (например, 1024 бита каждое).
Вычисляется их произведение , которое называется модулем.
Вычисляется значение функции Эйлера от числа :
Выбирается целое число ( ), взаимно простое со значением функции . Обычно в качестве берут простые числа, содержащие небольшое количество единичных бит в двоичной записи, например, простые числа Ферма 17, 257 или 65537.
Число называется открытой экспонентой (Слишком малые значения , например 3, потенциально могут ослабить безопасность схемы RSA.)
Вычисляется число , мультипликативно обратное к числу по модулю , то есть число, удовлетворяющее условию:
Число называется секретной экспонентой. Обычно, оно вычисляется при помощи расширенного алгоритма Евклида.
Пара публикуется в качестве открытого ключа RSA
Пара играет роль закрытого ключа RSA и держится в секрете.
Схема Эль-Гамаля — криптосистема с открытым ключом,основанная на трудности вычисления дискретных логарифмов в конечном поле. Криптосистема включает в себя алгоритм шифрования и алгоритм цифровой подписи. Схема Эль-Гамаля лежит в основе стандартов электронной цифровой подписи в США (DSA) и России (ГОСТ Р 34.10-94).
Генерация ключей
Генерируется случайное простое число длины битов. Выбирается случайный примитивный элемент поля . Выбирается случайное целое число такое, что .
Вычисляется . Открытым ключом является тройка , закрытым ключом — число .
Работа в режиме шифрования
Шифросистема Эль-Гамаля является фактически одним из способов выработки открытых ключей Диффи — Хеллмана.
Шифрование
Сообщение шифруется следующим образом:
Выбирается сессионный ключ — случайное целое число такое, что
Вычисляются числа и .
Пара чисел является шифротекстом.
Нетрудно видеть, что длина шифротекста в схеме Эль-Гамаля длиннее исходного сообщения вдвое.
Расшифрование
Зная закрытый ключ , исходное сообщение можно вычислить из шифротекста по формуле: При этом нетрудно проверить, что
и поэтому .
Для практических вычислений больше подходит следующая формула:
