Так называемое асимметричное шифрование – общающиеся стороны владеют разным объемом информации.

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

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

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

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

Этот метод нашел широчайшее применение на практике. На этом принципе основываются безопасные сетевые соединения (HTTPS), удаленный доступ (SSL), аутентификация в web-приложениях (JWS-токены).