Введение

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


Как работает криптография с публичным ключом?

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

Поскольку алгоритмы асимметричного шифрования генерируют пары ключей, которые математически связаны, длина их ключей намного больше, чем в симметричной криптографии. Эта большая длина, обычно от 1024 до 2048 бит, чрезвычайно усложняет вычисление частного ключа по его публичному аналогу. Один из наиболее распространенных алгоритмов асимметричного шифрования, используемых сегодня, известен как RSA.

В схеме RSA ключи генерируются с помощью модуля, полученного путём умножения двух чисел (часто двух больших простых чисел). Проще говоря, модуль генерирует два ключа (один публичный, которым можно поделиться и один приватный, который следует держать в секрете). Алгоритм RSA был впервые описан в 1977 году Rivest, Shamir и Adleman (отсюда и RSA) и остается основным компонентом систем криптографии с публичным ключом.


PKC как инструмент шифрования

Криптография с приватным ключом решает одну из древних проблем симметричных алгоритмов, а именно передачи ключа, используемого как для шифрования, так и для расшифровки. Отправка этого ключа незащищенным соединением может привести к его раскрытию третьим лицам, которые затем смогут прочитать любые сообщения, зашифрованные с помощью общего ключа. Хотя для решения этой проблемы существуют криптографические методы (например, протокол обмена ключами Diffie-Hellman-Merkle), они по-прежнему уязвимы для атак. И наоборот, в криптографии с приватным ключом, ключ, используемый для шифрования, может быть безопасно передан через любое соединение. Как следствие, асимметричные алгоритмы обеспечивают более высокий уровень защиты, чем симметричные.


Создание цифровых подписей

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


Ограничение

Хотя его можно использовать для повышения компьютерной безопасности и обеспечения проверки целостности сообщений, PKC имеет некоторые ограничения. Из-за сложных математических операций, связанных с шифрованием и расшифровкой, асимметричные алгоритмы могут быть достаточно медленными при работе с большими объемами данных. Этот тип криптографии также зависит от предположения, что приватный ключ всегда останется секретным. Если частный ключ будет случайно передан или раскрыт, безопасность всех сообщений, зашифрованных с помощью частного ключа, будет скомпрометирована. Пользователи могут случайно потерять свои частные ключи, и они не смогут получить доступ к зашифрованным данным.


Применение криптографии с публичным ключом

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

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

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

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

Следует отметить, что ассиметричная криптография, используемая в криптовалютных программах, отличается от используемой в целях компьютерной безопасности. Например, Bitcoin и Ethereum используют специальный алгоритм для проверки транзакций, известный как Алгоритм цифровой подписи на эллиптических кривых (ECDSA). Также ECDSA создает цифровые подписи без использования шифрования. Это означает, что блокчейн не нуждается в шифровании.


Итоги

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