Симметричные криптосистемы шифрования — это криптосистемы, использующие метод шифрования, в котором для шифрования и расшифровки сообщения используется один и тот же криптографический ключ.
Общие сведения о методах шифрования
Шифрование - это процесс преобразования информации в непонятный для постороннего человека вид с помощью определенного алгоритма и ключа. Шифрование используется для защиты конфиденциальной информации от несанкционированного доступа и передачи ее по незащищенным каналам связи. Расшифровка сообщения возможна только при наличии правильного ключа.
Существует множество методов шифрования, каждый из которых имеет свои преимущества и недостатки. Некоторые из них используются для защиты информации на уровне государственных секретов, в то время как другие могут быть использованы для защиты информации на уровне личной переписки. Известно также множество различных систем шифрования, но все они можно разделить на две основные категории:
- Симметричные системы шифрования. В таких системах используется один и тот же ключ для зашифровки и расшифровки сообщения. Примером такой системы является шифр Цезаря, где каждая буква заменяется на букву, расположенную на несколько позиций в алфавите.
- Асимметричные системы шифрования. В таких системах используются два разных ключа: публичный и приватный. Публичный ключ используется для зашифровки сообщения, а приватный ключ - для его расшифровки. Примером такой системы является RSA-шифрование.
Системы шифрования используются во многих сферах, включая банковское дело, интернет-безопасность, государственную безопасность и так далее. Однако, ни одна система шифрования не является абсолютно надежной и безопасной, поэтому они постоянно улучшаются и совершенствуются.
Симметричные криптосистемы шифрования
Одним из самых распространенных методов шифрования является симметричное шифрование, при котором один и тот же ключ используется для шифрования и расшифровки сообщения. Другой метод - асимметричное шифрование, использующее два разных ключа: публичный и приватный. Публичный ключ может быть распространен широко, в то время как приватный ключ должен быть известен только владельцу.
Шифрование играет важную роль в современном мире, где информация становится все более ценной и нуждается в защите. Однако, как и любая другая технология, она не является непобедимой и может быть подвержена атакам со стороны злоумышленников. Поэтому постоянное совершенствование методов шифрования и защиты информации является необходимостью.
Симметричное шифрование вплоть до семидесятых годов прошлого века, когда были созданы первые асимметричные шифры, по сути являлось единственным криптографическим методом.
В общем и целом, симметричным может считаться любой шифр, который использует один и тот же секретный ключ для шифрования и расшифровки. К примеру, когда алгоритм подразумевает замену букв числами, то и передающая сообщение сторона, и принимающая должна иметь одну и ту же таблицу соответствия букв и чисел. Первая при ее помощи выполняет шифровку сообщения, а вторая это сообщение расшифровывает.
Следует отметить, что подобные самые простые шифры легко взламываются. К примеру, если известна частотность разных символов в языке, то имеется возможность соотнести наиболее часто встречающиеся символы с самыми многочисленными числами в коде, до тех пор, пока не получатся осмысленные слова. С применением компьютерного оборудования подобная задача может занять такое мизерное время, что использование таких алгоритмов утрачивает всякий смысл.
Учитывая сказанное выше, передовые симметричные алгоритмы могут считаться надежными, если они удовлетворяют следующие требования:
- Выходные данные не содержат статистических паттернов исходных данных, то есть, самые частотные символы осмысленного текста не должны иметь соответствие с самыми частотными символами шифра.
- Шифр должен быть нелинейный. Это означает, что в зашифрованной информации не должны проявляться закономерности, которые могут отслеживаться, при наличии несколько открытых текстов и шифров к ним.
Практически все актуальные симметричные шифры для достижения результатов, которые соответствуют данным требованиям, применяют комбинацию операций подстановки. То есть, это подмена участков исходного сообщения, к примеру букв, на иные данные, к примеру цифры, по заданному правилу или при помощи таблицы соответствий. Также может использоваться и перестановка, то есть, смешивание фрагментов исходного сообщения по заданному правилу, поочередно повторяя их. Один круг шифрования, который состоит из этих операций, именуется раундом.
В соответствии с принципами функционирования алгоритмы симметричного шифрования подразделяются на следующие типы:
- Симметричные алгоритмы блочного типа.
- Симметричные алгоритмы потокового типа.
Блочные алгоритмы выполняют шифрование данных блоками, имеющими фиксированную длину (64, 128 или иное число бит в зависимости от алгоритма). Когда все сообщение или его заключительная часть меньше, чем размер блока, то система должна дополнить его заданными в алгоритме символами, которые именуются дополнением. К актуальным блочным алгоритмам можно отнести:
- Алгоритм AES.
- Алгоритм ГОСТ 28147-89.
- Алгоритм RC5.
- Алгоритм Blowfish.
- Алгоритм Twofish.
Потоковое шифрование данных подразумевает процесс обработки всех битов информации с применением гаммирования, то есть, изменения каждого бита при помощи соответствующего ему бита псевдослучайных секретных последовательностей чисел, которые создаются на базе ключа и обладают такой же длиной, что и шифруемое сообщение.
Обычно биты исходного сообщения должны сравниваться с битами секретной последовательности при помощи логической операции XOR, то есть, исключающее ИЛИ. На выходе получается нуль, когда значения битов совпадают, и единица, когда они отличаются.