Современные криптографические системы разделяются на два основных направления: симметричная и асимметричная криптография. Симметричное шифрование часто отождествляют с симметричной криптографией в целом. В свою очередь, асимметричная криптография включает два главных способа применения: асимметричное шифрование и цифровые подписи.
Таким образом, эти группы можно представить в следующем виде:
- Симметричная криптография
- Симметричное шифрование
- Асимметричная криптография (или криптография с открытым ключом)
- Асимметричное шифрование (или шифрование с открытым ключом)
- Цифровые подписи (которые могут как включать, так и не включать само шифрование)
В данной статье основное внимание уделяется алгоритмам симметричного и асимметричного шифрования.
Симметричное и асимметричное шифрование
Алгоритмы шифрования принято делить на две категории: симметричное и асимметричное шифрование. Принципиальное различие между ними заключается в том, что симметричные алгоритмы используют один ключ, а асимметричные — два разных, но связанных между собой ключа. Это кажущееся простым различие объясняет функциональные особенности обоих методов шифрования и определяет способы их применения.
Понимание ключей шифрования
В криптографии алгоритмы шифрования генерируют ключи — последовательности битов, которые используются для зашифровывания и расшифровывания информации. То, как эти ключи применяются, и определяет разницу между симметричным и асимметричным шифрованием.
Симметричные алгоритмы используют один и тот же ключ как для шифрования, так и для расшифровки. В асимметричных алгоритмах для шифрования данных используется один ключ, а для их расшифровки — другой.
В асимметричных системах ключ для шифрования называется открытым ключом; его можно свободно передавать другим участникам. Ключ для расшифровки называется закрытым ключом и должен храниться в секрете.
Рассмотрим на примере. Если Алиса отправляет Бобу сообщение, защищённое симметричным шифром, она должна передать ему тот же ключ, который использовала для шифрования, чтобы он мог его расшифровать. Это создаёт риск: если злоумышленник перехватит ключ, он получит доступ к информации.
Если же Алиса использует асимметричную схему, она шифрует сообщение открытым ключом Боба. Тогда расшифровать его сможет только Боб, используя свой закрытый ключ. Таким образом, асимметричное шифрование обеспечивает более высокий уровень безопасности, поскольку даже перехват открытого ключа Боба не позволит злоумышленнику прочитать сообщение.
Длина ключей
Ещё одно важное различие между симметричным и асимметричным шифрованием касается длины ключей. Длина ключей измеряется в битах и напрямую влияет на уровень безопасности, который обеспечивает криптографический алгоритм.
В симметричных схемах ключи выбираются случайным образом, и их длина обычно составляет 128 или 256 бит в зависимости от требуемой степени защиты. В асимметричном шифровании между открытым и закрытым ключами существует математическая зависимость. Поскольку эту зависимость потенциально можно использовать для взлома, асимметричные ключи должны быть значительно длиннее, чтобы обеспечить сопоставимый уровень безопасности. Разница в длине настолько велика, что 128-битный симметричный ключ и 2048-битный асимметричный ключ обеспечивают примерно одинаковую стойкость.
Преимущества и недостатки
Оба типа шифрования имеют свои преимущества и недостатки. Алгоритмы симметричного шифрования работают намного быстрее и требуют меньше вычислительных мощностей. Их главный недостаток — распределение ключей. Поскольку один ключ используется и для шифрования, и для расшифровки, его необходимо безопасно передать всем, кто должен иметь доступ к данным, что создаёт дополнительные риски.
В свою очередь, асимметричное шифрование решает проблему распределения ключей благодаря использованию открытых ключей для шифрования и закрытых — для расшифровки. Однако компромисс заключается в том, что асимметричные системы работают очень медленно по сравнению с симметричными и требуют значительно больше вычислительной мощности из-за использования более длинных ключей.
Примеры применения
Симметричное шифрование
Благодаря высокой скорости симметричное шифрование широко применяется для защиты данных в современных компьютерных системах. Например, стандарт AES (Advanced Encryption Standard) используется правительством США для шифрования секретной и конфиденциальной информации. AES пришёл на смену стандарту DES (Data Encryption Standard), который был разработан в 1970-х годах.
Асимметричное шифрование
Асимметричное шифрование применяется в системах, где многим пользователям требуется шифровать данные, а скорость и вычислительные затраты не являются критичными. Один из примеров — шифрование электронной почты, где для шифрования используется открытый ключ получателя, а для расшифровки — его закрытый ключ.
Гибридные системы
Во многих приложениях симметричное и асимметричное шифрование используются вместе. Типичные примеры таких гибридных систем — протоколы безопасной связи SSL (Secure Sockets Layer) и TLS (Transport Layer Security), разработанные для защиты интернет-соединений. Протоколы SSL сегодня считаются небезопасными, и их использование прекращено. В отличие от них, протоколы TLS считаются безопасными и повсеместно используются современными веб-браузерами.
Используется ли шифрование в криптовалютах?
Методы шифрования применяются во многих криптовалютных кошельках для повышения безопасности. Например, алгоритмы шифрования используются, когда пользователь устанавливает пароль для своего кошелька — файл для доступа к программному обеспечению при этом шифруется.
Однако из-за того, что Биткойн и другие криптовалюты используют пары открытых и закрытых ключей, существует распространённое заблуждение, будто системы на блокчейне применяют асимметричные алгоритмы шифрования. Как было отмечено ранее, асимметричное шифрование и цифровые подписи — это два разных способа использования асимметричной криптографии.
Не все системы цифровой подписи используют шифрование, даже если в них задействованы открытый и закрытый ключи. Сообщение может быть подписано цифровой подписью без его шифрования. Алгоритм RSA — пример, который можно использовать для подписи зашифрованных сообщений. Однако алгоритм цифровой подписи, используемый в Биткойне (ECDSA), вообще не применяет шифрование.
Ключевые различия: краткий итог
- Ключи: Симметричное шифрование использует один ключ, асимметричное — два (открытый и закрытый).
- Скорость: Симметричное шифрование работает быстрее и требует меньше ресурсов.
- Безопасность: Асимметричное шифрование безопаснее решает проблему распределения ключей.
- Длина ключей: Асимметричные ключи значительно длиннее симметричных при равном уровне стойкости.
- Применение: Симметричное шифрование подходит для быстрого шифрования больших объёмов данных, а асимметричное — для безопасного обмена ключами и цифровых подписей.
Заключение
Как симметричное, так и асимметричное шифрование играют важнейшую роль в обеспечении безопасности конфиденциальной информации и коммуникаций в цифровом мире. Каждый из методов имеет свои сильные и слабые стороны, что определяет области их применения. По мере развития криптографии для противодействия новым угрозам и симметричные, и асимметричные системы остаются фундаментальными элементами компьютерной безопасности.





