Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все лекции ИБ.doc
Скачиваний:
45
Добавлен:
24.12.2018
Размер:
1.54 Mб
Скачать

Криптосистемы с открытыми ключами (асимметричное шифрование)

Принципиальное отличие от симметричного шифрования в том, что для шифрования информации и ее последующей расшифровки используются различные ключи шифрования:

открытый ключ: используется для шифрования информации, вычисляется из секретного (закрытого) ключа;

секретный (закрытый) ключ: используется для расшифровки информации, зашифрованной с помощью парного ему открытого ключа.

Секретный и открытый ключ генерируются попарно. Секретный ключ должен оставаться у его владельца; он должен быть надежно защищен от несанкционированного доступа (аналогично ключу шифрования в симметричных алгоритмах). Копия открытого ключа должна находиться у каждого абонента криптографической сети, с которым обменивается информацией владелец секретного ключа.

Процесс обмена зашифрованной информацией выглядит следующим образом.

  1. Подготовительный этап:

1. Абонент i генерирует пару ключей: секретный ключ Ksi и открытый ключ Kpi.

2. Открытый ключ Kpi рассылается остальным абонентам (или делается доступным, например, на разделяемом ресурсе).

  1. Использование – обмен информацией между абонентами j и i:

3. Абонент j зашифровывает сообщение с помощью открытого ключа абонента i Kpi.

4. Абонент i расшифровывает сообщение с помощью своего секретного ключа Ksi. Никто другой (в том числе, абонент j) не может расшифровать данное сообщение, так как не имеет секретного ключа абонента i.

Сегодня наибольшую известность приобрели 4 метода шифрования с открытым ключом, среди которых наиболее перспективным считается ECC (Elliptic Curves Cryptography), а в качестве стандарта на Западе принят RSA.

Математическая основа асимметричного шифрования состоит в использовании однонаправленных функций с секретом. В качестве такой функции, например, в алгоритме RSA, применяется следующая операция для каждого i-го блока открытого текста:

Ci = Mie mod n, гдн e – открытый ключ некторогоо пользователя.

Обратная операция – вычисление Mi из Ci со знанием e является невозможной (то есть не решаемой в течение какого-либо реального временного интервала). Однако владелец секретного ключа d (из которого вычислен открытый ключ e) легко может выполнить операцию:

Mi’ = Cid mod n и получить верный результат. Секретный ключ d является тем самым секретом примененной в алгоритме однонаправленной функции, позволяющим расшифровать шифртекст.

Асимметричное шифрование по сравнению с симметричным обладает определенным преимуществом: оно позволяет динамически передавать открытые ключи, тогда как для симметричного шифрования до начала сеанса защищенной связи необходимо обменяться секретными ключами. Однако существует и ряд недостатков:

  • нет математического доказательства необратимости используемых в асимметричных алгоритмах функций.

  • асимметричное существенно медленнее, поскольку при шифровании и расшифровке используются весьма ресурсоемкие операции (в RSA это возведение одного большого числа в степень, являющуюся другим большим числом). По этой же причине реализовать аппаратный шифратор с асимметричным алгоритмом существенно сложнее, чем реализовать аппаратно симметричный алгоритм.

  • необходимо защищать открытые ключи от подмены.