Вы наверняка слышали такое выражение - ключ шифрования 128 бит. Это значит что длинна ключа 128 бит (двоичная система счисления). 128 бит это 16 двоичных байт. По меркам языка С++ 16 байт это 4 переменные типа int. Что такое ключ шифрования. Например у нас есть исходное сообщение (просто текст) которое нужно зашифровать. И есть алгоритм шифрования. Алгоритм шифрования применяет ключ для зашифровки исходного сообщения, и для расшифровки. Шифрование данных происходит с помощью алгоритмов, которые преобразуют исходные данные в нечитабельный формат с использованием ключа шифрования.
Совершенно абстрактный пример алгоритма шифрования - у нас есть ключ 128 бит. У нас есть исходное сообщение -длинна 256 бит (исходный текст 256 символов длинной). Мы разбиваем исходное сообщение на 2 блока по 128 бит. На каждый блок накладываем ключ. Ключ длинна 128 бит, блок сообщения 128 бит. На один символ исходного сообщения накладывается одно значение из ключа. В зависимости от алгоритма шифрования по разному накладывается ключ на исходное сообщение. Так же при помощи этого ключа можно расшифровать зашифрованное сообщение.
При передаче данных важны два аспекта:
Для симметричного алгоритма есть один ключ для шифрования и расшифровки, а для ассиметричного два - один публичные для шифровки, другой приватный для расшифровки.
Для защиты ключей часто используются дополнительные методы, такие как обмен ключами по защищенным каналам.
Напрмер, ключ шифрования длиной 128 бит используется в симметричных алгоритмах шифрования, таких как AES (Advanced Encryption Standard). Процесс шифрования данных включает несколько этапов:
Исходные данные разбиваются на блоки размером 128 бит в соответствии с размерами блока шифрования, установленного в алгоритме AES. Хотя длина ключа также составляет 128 бит, размер блока и длина ключа — это разные параметры. Размер блока определяет, сколько данных обрабатывается за один раз, и фиксированный размер 128 бит выбран для обеспечения высокой скорости шифрования и эффективности обработки данных.
Вот некоторые популярные алгоритмы шифрования:
Кроме алгоритмов шифрования в криптографии есть шифры. На базе шифров создают алгоритмы шифрования.
Список известных шифров:
Алгоритмы шифрования — это математические процедуры, используемые для преобразования данных в нечитабельный вид с помощью ключа. Они обеспечивают конфиденциальность и целостность информации.
Шифры — это конкретные методы шифрования. Например, шифр Цезаря использует фиксированный сдвиг букв, в то время как шифр Виженера применяет ключевую фразу для сдвига. Алгоритмы шифрования определяют, как шифры работают и какую степень безопасности они обеспечивают.
Рассмотрим как происходит установка соединения по протоколу HTTPS. Это тот же протокол HTTP передачи веб-страниц (гипертекста HTTP) но только secure - приставка буква "S" обозначает "безопасный".
В процессе обмена ключами в HTTPS:
То есть как вы понимаете в протоколе HTTPS используется ловкий способ - сервер отправляет публичный ключ клиенту, клиент шифрует свой симметричный ключ при помощи этого публичного ключа и отправляет серверу, сервер расшифровывает симметричный ключ от клиента при помощи своего приватного ключа, дальше используя симметричный ключ полученный от клиента сервер начинает обмен данными с клиентом.