Асимметричное шифрование

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

Публичный и приватный ключи

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

Принцип работы асимметричного шифрования

* Представим, что Боб хочет послать Алисе сообщение.
* У Алисы есть секретный ключ, на основе которого она вычисляет (генерирует) публичный ключ. И затем отправляет его Бобу.
* Злоумышленница Ева прекрасно видит этот публичный ключ и даже сама может отнести его Бобу. Для Евы этот публичный ключ абсолютно бесполезен.
* Боб получает публичный ключ и шифрует им свое сообщение. Шифрование открытым ключом работает лишь в одном направлении. Этим же открытым ключом расшифровать сообщение не получится.
* Алиса получает зашифрованное сообщение Боба и расшифровывает его своим секретным ключом.

Асимметричное шифрование

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

asymmetric encryption

Математическая база и потайной ход

Основой асимметричных алгоритмов шифрования являются так называемые односторонние функции. Вспомним немного математику. Функция — это соответствие между элементами двух множеств. Математически определение функции выглядит так: y = f(x). f — это все те действия, которые определяют, каким образом величина y (переменная) зависит от величины x (постоянная величина). Например, скорость движения автомобиля (f) определяет, каким образом пройденный путь (y) зависит от затраченного времени (х).

В асимметричной криптографии применяются односторонние функции с потайным ходом.

Необратимость функции заключается в следующем. Нам легко вычислить y для любых значений X. Но если для большинства значений Y сложно за приемлемое время подобрать x таким образом, чтобы y = f(x), то функция будет односторонней.

Примером односторонней функции, которая используется в асимметричных алгоритмах шифрования, является умножение двух больших чисел: N = P*Q. Представьте, что вы перемножили P и Q длиной хотя бы в пять знаков на калькуляторе. И получили результирующее число N. Сообщите это число N другу. И попросите его найти те самые числа P и Q, которые вы перемножили. Будьте уверены, что ваш друг вряд ли справится с этой задачей даже за несколько лет. Процедура подбора множителей P и Q для произведения N называют разложением на множители, или факторизацией больших чисел.

Потайной ход — это такое значение y, с помощью которого мы легко вычислим x, если нам известно значение f(x). Потайной ход — это и есть секретный ключ в асимметричном шифровании. Он никогда не покидает своего владельца и делает функцию обратимой.

В следующих статьях мы подробно расскажем о популярных ныне асимметричных алгоритмах RSA и ECDSA.

Поделиться в facebook
Поделиться в google
Поделиться в twitter
Поделиться в linkedin
Поделиться в telegram
Поделиться в vk
Поделиться в pocket
Поделиться в email