Шрифт:
Первоначально замок с зафиксированной левой половинкой дуги (1) и расфиксированной правой (2), а также с ключом 2 (открытым) доставляется лицу, которое должно отправить тайное послание.
Получив замок и открытый ключ (2), отправитель навешивает его на сундук с тайным посланием и запирает его полученным ключом 2. Теперь сундук закрыт и даже отправитель не может его открыть, поскольку его ключ (2) может только зафиксировать правую часть дуги в замке, но не может освободить от фиксации.
Запертый замком сундук с тайным посланием отправляется получателю, у которого есть ключ (1), снимающий фиксацию левой половинки дуги и тем самым отпирающий замок. Но другие лица, даже если они будут иметь копию публичного ключа (2), открыть замок не смогут.
Получатель открывает замок ключом (1) и тайное послание прочитано!
Пользуясь терминологией асимметричной криптографии с открытым ключом, ключ 1 – это закрытый (приватный) ключ, а ключ 2 – это открытый (публичный) ключ.
В заключение отметим, что асимметричная криптография с открытым ключом получила широкое распространение не только в шифровании шпионских и дипломатических посланий. Асимметричную криптографию используют сайты с поддержкой протокола HTTPS 12 , мессенджеры, Wi-Fi-роутеры, банковские системы и многое другое. На основе асимметричной криптографии базируется электронная подпись. Также на асимметричной криптографии построен алгоритм блокчейна, на котором, в свою очередь, построены все криптовалюты, включая Биткоин.
12
HTTPS (HyperText Transfer Protocol Secure) – расширение веб-протокола HTTP для поддержки шифрования в целях повышения безопасности информации в WWW.
Электронная цифровая подпись: Просто и наглядно
Электронная цифровая подпись (ЭЦП) документа – это аналог обычной подписи, но возможности её гораздо шире.
Как работает ЭЦП? Как отправить по каналам связи (например, по электронной почте) заверенный и подписанный электронный документ? Попробуем разобраться…
С обычной бумажной почтой нет проблем – подписываете документ; заверяете его у нотариуса; отправляете заказным письмом. Всё! Ваш адресат, получив такое письмо, уверен, что документ подписан лично вами.
С электронной почтой (e-mail) так не получится. Конечно, можно отсканировать заверенный нотариусом документ и отправить его в виде файла, присоединенного к электронному письму. Но распечатка этого файла не будет легитимной.
Как же быть? На помощь приходит криптография!
Ранее в главе «Шифрование с открытым ключом: Наглядная иллюстрация» было рассказано об асимметричном шифровании, когда отправитель шифрует послание открытым (публичным) ключом, а получатель его расшифровывает соответствующим открытому закрытым (приватным) ключом.
У отправителя и получателя совершенно разные ключи, но они алгоритмически связаны – открытым (публичным) ключом можно только зашифровать (запереть) послание, а закрытым (приватным) – только расшифровать (отпереть).
Как это работает на примере с навесным замком с двумя замочными скважинами и двумя разными ключами было наглядно показано в вышеупомянутой главе.
А теперь представим ситуацию наоборот: отправитель зашифровывает (запирает) свое послание своим закрытым (приватным) ключом, а получатели могут расшифровать (отпереть) это послание соответствующим открытым (публичным) ключом, который они получили ранее от отправителя. Разумеется, эти ключи (приватный отправителя и публичный получателя) являются алгоритмически связанной парой – расшифровать послание можно только открытым ключом, который соответствует закрытому ключу отправителя.
Задача решена! Получатель по публичному ключу знает, что письмо отправлено конкретным отправителем, имеющим соответствующий приватный ключ.
Но в реальности нет необходимости зашифровывать само послание. Достаточно вычислить его хэш-код (см. главу «Хэширование: Просто и наглядно»), затем зашифровать этот хэш приватным ключом и присоединить к тексту сообщения. Вот этот зашифрованный хэш и есть ЭЦП – электронная цифровая подпись сообщения.
Получатель послания также вычисляет хэш-код сообщения и сравнивает его с расшифрованным публичным ключом ЭЦП. Если они совпадают, то всё нормально – письмо отправлено тем лицом, у которого есть соответствующий приватный ключ.
Но это еще не все! Использование хэширования послания позволяет также контролировать и его целостность – не были ли по пути к адресату в письмо внесены несанкционированные изменения?
Действительно, если расшифрованная ЭЦП не совпадает с хэшем текста послания, то из этого могут следовать две вещи: