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

Поэтому мы можем представить эти группы следующим образом:

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

    • Симметричное шифрование

  • Асимметричная криптография (или криптография с открытым ключом)

    • Асимметричное шифрование (или шифрование с открытым ключом)

    • Цифровые подписи (могут включать или не включать шифрование)

В этой статье основное внимание будет уделено симметричным и асимметричным алгоритмам шифрования.


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

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


Понимание ключей шифрования

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

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

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

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


Длина ключей

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

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

Преимущества и недостатки

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

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


Случаи использования

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

Из-за своей большей скорости симметричное шифрование широко используется для защиты данных во многих современных компьютерных системах. Например, расширенный стандарт шифрования (AES) используется правительством США для шифрования секретной и конфиденциальной информации. AES заменил предыдущий стандарт шифрования данных (DES), который был разработан в 1970-х годах как стандарт симметричного шифрования.


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

Асимметричное шифрование может применяться к системам, в которых многим пользователям может потребоваться зашифровать и расшифровать сообщение или набор данных, особенно когда скорость и вычислительная мощность не являются первостепенными проблемами. Одним из примеров такой системы является зашифрованная электронная почта, в которой для шифрования сообщения можно использовать открытый ключ, а для его расшифровки — закрытый ключ.


Гибридные системы

Во многих приложениях симметричное и асимметричное шифрование используются вместе. Типичными примерами таких гибридных систем являются криптографические протоколы Security Sockets Layer (SSL) и Transport Layer Security (TLS), которые были разработаны для обеспечения безопасной связи в Интернете. Протоколы SSL теперь считаются небезопасными, и их использование следует прекратить. Напротив, протоколы TLS считаются безопасными и широко используются всеми основными веб-браузерами.


Используют ли криптовалюты шифрование?

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

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

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


Заключительные мысли

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