Криптография с симметричным ключом (или симметричное шифрование) — это тип схемы шифрования, в которой один и тот же ключ используется как для шифрования, так и для дешифрования сообщений. Такой метод кодирования информации широко использовался в последние десятилетия для облегчения тайной связи между правительствами и военными. В настоящее время алгоритмы симметричного ключа широко применяются в различных типах компьютерных систем для повышения безопасности данных.
Как работает симметричное шифрование?
Схемы симметричного шифрования основаны на одном ключе, который используется двумя или более пользователями. Один и тот же ключ используется для шифрования и дешифрования так называемого открытого текста (который представляет собой кодируемое сообщение или фрагмент данных). Процесс шифрования состоит из прохождения открытого текста (входа) через алгоритм шифрования, называемый шифром, который, в свою очередь, генерирует зашифрованный текст (выход).
Если схема шифрования достаточно надежна, единственный способ прочитать или получить доступ к информации, содержащейся в зашифрованном тексте, — это использовать соответствующий ключ для ее расшифровки. Процесс дешифрования по сути представляет собой преобразование зашифрованного текста обратно в открытый текст.
Безопасность систем симметричного шифрования основана на том, насколько сложно случайно подобрать соответствующий ключ для их перебора. Например, чтобы угадать 128-битный ключ с использованием обычного компьютерного оборудования, потребуются миллиарды лет. Чем длиннее ключ шифрования, тем сложнее его взломать. Ключи длиной 256 бит обычно считаются высокозащищенными и теоретически устойчивыми к атакам методом перебора квантового компьютера.
Две наиболее распространенные схемы симметричного шифрования, используемые сегодня, основаны на блочном и потоковом шифрах. Блочные шифры группируют данные в блоки заранее определенного размера, и каждый блок шифруется с использованием соответствующего ключа и алгоритма шифрования (например, 128-битный открытый текст шифруется в 128-битный зашифрованный текст). С другой стороны, поточные шифры шифруют данные открытого текста не блоками, а скорее с шагом в 1 бит (1-битный открытый текст шифруется в 1-битный зашифрованный текст за раз).
Симметричное и асимметричное шифрование
Симметричное шифрование — один из двух основных методов шифрования данных в современных компьютерных системах. Другой вариант — асимметричное шифрование, которое является основным применением криптографии с открытым ключом. Основное различие между этими методами заключается в том, что в асимметричных системах используются два ключа, а не один, как в симметричных схемах. Один из ключей может быть общедоступным (открытый ключ), а другой должен храниться в секрете (закрытый ключ).
Использование двух ключей вместо одного также приводит к множеству функциональных различий между симметричным и асимметричным шифрованием. Асимметричные алгоритмы сложнее и медленнее симметричных. Поскольку открытый и закрытый ключи, используемые в асимметричном шифровании, в некоторой степени математически связаны, сами ключи также должны быть значительно длиннее, чтобы обеспечить аналогичный уровень безопасности, обеспечиваемый более короткими симметричными ключами.
Использование в современных компьютерных системах
Алгоритмы симметричного шифрования используются во многих современных компьютерных системах для повышения безопасности данных и конфиденциальности пользователей. Расширенный стандарт шифрования (AES), который широко используется как в приложениях для безопасного обмена сообщениями, так и в облачных хранилищах, является ярким примером симметричного шифрования.
Помимо программных реализаций, AES также может быть реализован непосредственно в компьютерном оборудовании. В аппаратных схемах симметричного шифрования обычно используется AES 256, который представляет собой особый вариант расширенного стандарта шифрования с размером ключа 256 бит.
Стоит отметить, что блокчейн Биткойна не использует шифрование, как многие склонны полагать. Вместо этого он использует особый тип алгоритма цифровых подписей (DSA), известный как алгоритм цифровой подписи с эллиптической кривой (ECDSA), который генерирует цифровые подписи без использования шифрования.
Распространенной путаницей является то, что ECDSA основана на криптографии с эллиптической кривой (ECC), которая, в свою очередь, может применяться для множества задач, включая шифрование, цифровые подписи и генераторы псевдослучайных чисел. Однако сам ECDSA вообще нельзя использовать для шифрования.
Преимущества и недостатки
Симметричные алгоритмы обеспечивают достаточно высокий уровень безопасности и в то же время позволяют быстро шифровать и расшифровывать сообщения. Относительная простота симметричных систем также является логистическим преимуществом, поскольку они требуют меньших вычислительных мощностей, чем асимметричные. Кроме того, безопасность, обеспечиваемую симметричным шифрованием, можно повысить, просто увеличив длину ключей. С каждым добавленным к длине симметричного ключа битом сложность взлома шифрования методом грубой силы возрастает в геометрической прогрессии.
Хотя симметричное шифрование предлагает широкий спектр преимуществ, с ним связан один серьезный недостаток: неотъемлемая проблема передачи ключей, используемых для шифрования и дешифрования данных. Когда эти ключи передаются через незащищенное соединение, они уязвимы для перехвата злонамеренными третьими лицами. Если неавторизованный пользователь получит доступ к определенному симметричному ключу, безопасность любых данных, зашифрованных с использованием этого ключа, будет поставлена под угрозу. Чтобы решить эту проблему, многие веб-протоколы используют комбинацию симметричного и асимметричного шифрования для установления безопасных соединений. Среди наиболее ярких примеров такой гибридной системы — криптографический протокол Transport Layer Security (TLS), используемый для защиты значительной части современного Интернета.
Следует также отметить, что все виды компьютерного шифрования подвержены уязвимостям из-за неправильной реализации. Хотя достаточно длинный ключ может сделать грубую атаку математически невозможной, ошибки в реализации, допущенные программистами, часто создают слабые места, которые открывают путь для кибератак.
Заключительные мысли
Благодаря своей относительной скорости, простоте и безопасности симметричное шифрование широко используется в самых разных приложениях: от защиты интернет-трафика до защиты данных, хранящихся на облачных серверах. Хотя схемы симметричного шифрования часто сочетаются с асимметричным шифрованием для решения проблемы безопасной передачи ключей, они остаются важнейшим компонентом современной компьютерной безопасности.



