Криптография с открытым ключом — это криптография, основанная на системе шифрования, при которой открытый ключ может передаваться по открытым каналам связи и применяется для проверки электронной подписи и для осуществления шифровки сообщений.
Общие сведения о криптографии
Криптография с открытым ключом, в англоязычном варианте Public key cryptography (PKC), представляет собой структуру, которая применяет как закрытый, так и открытый ключи, в отличие от одного ключа, применяемого в симметричной криптографии. Применение двух ключей предоставляет PKC отличную совокупность характеристик и возможностей, которые могут быть использованы для решения задач, присущих иным криптографическим методам. Этот формат криптографии стал важным компонентом передовой компьютерной безопасности, а также важным элементом разрастающейся криптовалютной экосистемы.
В структуре PKC открытый ключ применяется отправителем для зашифровки информации, в то время как закрытый ключ применяется получателем, для того чтобы расшифровать сообщение. Так как два ключа имеют отличия друг от друга, то открытый ключ можно безопасно использовать совместно, что не может поставить под угрозу приватную безопасность. Все пары асимметричных ключей являются уникальными, и это является гарантией того, что сообщение, которое было зашифровано с применением открытого ключа, может прочитать лишь тот человек, у которого имеется соответствующий закрытый ключ.
Так как алгоритмы асимметричного шифрования способны генерировать пары ключей, которые имеют математические связи, то длина данных ключей может быть значительно больше тех, которые применяются в симметричной криптографии. Размеры таких ключей могут составлять от 1024 до 2048 битов, что способно чрезвычайно затруднить вычисление закрытого ключа из его открытого аналога.
Одним из самых распространенных алгоритмов асимметричного шифрования, применяемых сегодня, является RSA (аббревиатура, образованная от фамилий Rivest, Shamir и Adleman). В структуре RSA ключи должны генерироваться с применением модуля, который может быть получен при помощи произведения двух чисел (зачастую двух больших простых чисел). Как правило, модуль должен генерировать пару ключей, один открытый ключ, который является общим, и другой закрытый, который необходимо держать в секрете.
Криптография с открытым ключом
Криптография с открытым ключом способна решить одну из насущных проблем симметричных алгоритмов, которая состоит в передаче ключа, применяемого как для шифровки, так и для дешифровки информации. Передача данного ключа по незащищенному каналу считается крайне рискованной операцией, так как ключ может получить некая третья сторона, которая может в дальнейшем читать все сообщения, прошедшие шифрование при помощи этого ключа. Хотя и известны криптографические методики, такие как, например, протокол обмена ключами Диффи – Хеллмана - Меркля, для решения этой проблемы, они все равно являются уязвимыми для атак.
В криптографии с открытым ключом, напротив, ключ, который используется для шифрования, можно безопасно передавать по любым каналам связи. В результате этого асимметричные алгоритмы способны обеспечить более высокую степень защиты по сравнению с симметричными.
Другим использованием алгоритмов асимметричной криптографии является аутентификация данных с применением цифровых подписей. По существу, цифровая подпись является хешем, то есть, математическим алгоритмом, отображающим данные произвольного размера в битовый массив фиксированного размера, который создан с применением данных, имеющихся в сообщении.
Когда данное сообщение послано, то получатель может выполнить проверку подписи, применяя открытый ключ отправителя, с целью определить подлинность источника сообщения и быть уверенным, что это сообщение не подделка. В отдельных случаях цифровые подписи и шифрование могут использоваться совместно, поскольку сам хэш можно подвергнуть шифровке в виде части сообщения. Необходимо заметить, что не все схемы цифровой подписи применяют методики шифрования.
Несмотря на то, что он может применяться для повышения компьютерной безопасности и проверки достоверности сообщений, PKC обладает и определенными ограничениями:
- Из-за сложных математических процедур, которые связаны с процессами шифровки и дешифровки, асимметричные алгоритмы способны стать достаточно медленными, когда им необходимо обрабатывать большие объемы данных.
- Данный тип криптографии также имеет значительную зависимость от предположения, что закрытый ключ должен оставаться секретным. Если секретный ключ случайно кому-то передали или он был раскрыт, то безопасность всех сообщений, которые шифровались при помощи соответствующего открытого ключа, будет находиться под угрозой.
- Есть также вероятность случайной потери пользователями своих закрытые ключей, и в таком варианте они могут потерять доступ к зашифрованным данным.
Криптография с открытым ключом применяется многим современным компьютерным оборудованием, для того чтобы обеспечить безопасность конфиденциальной информации. К примеру, электронные письма могут шифроваться с применением методов криптографии с открытым ключом для обеспечения конфиденциальности их содержания. Протокол уровня защищенных сокетов (SSL), делающий доступным безопасное подключение к веб-сайтам, также применяет асимметричную криптографию. Системы PKC даже применялись как средство обеспечения безопасной среды электронного голосования, которая способна предоставить избирателям возможность участия в выборах со своих домашних компьютеров.
PKC также может использоваться в технологиях блокчейн и криптовалют. При формировании нового криптовалютного кошелька, должна также генерироваться пара ключей (открытый и закрытый ключ). Публичный адрес должен генерироваться с применением открытого ключа и его можно безопасно передавать другим пользователям.