Skip to content

Криптография с открытым ключом

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

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

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

  • Шифрование сообщения для того, чтобы только получатель мог его прочитать.

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

  • Шифрование с целью подтверждение личности отправителя (цифровая подпись).

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

Принцип работы цифровой подписи

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

Сертификат

Сертификаты позволяют идентифицировать участвующую в обмене сторону. Цифровой сертификат представляет собой документ определенного формата, содержащий такую информацию, как, например, имя, порядковый номер, название компании, подразделения или IP-адрес организации. Сертификат также содержит экземпляр открытого ключа соответствующей стороны. Сам сертификат подписывается центром сертификации - некоторой третьей стороной, которой получатель сертификата полностью доверяет идентифицировать узлы и выдавать цифровые сертификаты. Для того чтобы проверить подпись центра сертификации в системе должен быть установлен корневой сертификат центра сертификации.

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