Й учебный вопрос: Асимметричное шифрование

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

- открытый ключ для шифрования информации, вычисляется из секретного ключа;

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

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

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

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

– абонент I генерирует пару ключей – секретный ключ и открытый ключ ;

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

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

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

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

Наиболее совершенными являются следующие методы шифрования с открытым ключом: ЕСС, на западе в качестве стандарта принят RSA.

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

,

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

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

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

Однако существуют недостатки:

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

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

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

Последнее рассмотрим подробнее. Пусть на ПК абонента j хранится открытый ключ абонента I . Злоумышленник n имеет доступ к открытым ключам, хранящимся у абонента j. Он генерирует свою пару ключей и и подменяет у абонента j открытый ключ абонента i на свой открытый ключ . Для того, чтобы отправить некоторую информацию абоненту I абонентjшифрует ее на ключе , думая, что это ключ . Соответственно, это сообщение не сможет прочитать абонент i, но зато легко расшифрует и прочитает абонент n.

От подмены ключей может спасти процедура сертификации ключей.

 



>23