Самое простое объяснение принципа работы современных алгоритмов симметричного шифрования
(Нашёл в твиттере тред с очень крутым объяснением работы симметричных шифров. Его написал Colm MacCárthaigh один из основных контрибьюторов Apache. Я спросил разрешение Колма на перевод, он любезно согласился).
Я объясню вам доступным языком, что происходит при шифровании данных. Надеюсь, что без мистики и сложных штук, которые были придуманы криптографами.
Итак, симметричное шифрование — это именно то, что мы используем в большинстве случаев, когда хотим зашифровать кучу данных. Ваш браузер отправляет и получает данные, используя симметричное шифрование. Если вы шифруете файлы или диск, в этом случае тоже работает симметричное шифрование. iMessage, Signal, WhatsApp — все они используют симметричное шифрование для безопасности вашей переписки.
Если вы думаете, что при шифровании данные перемешиваются так, что их никто не может прочитать без ключа, так оно и происходит на самом деле.
Вот простой пример. Допустим, у меня есть строка «Ovaltine» и я хочу её зашифровать. Я мог бы воспользоваться rot13 — очень простым олдскульным шифром Цезаря, который делает хоровод из букв, где a и z держатся за ручки, и заменяет каждую букву другой буквой алфавита, которая находится от заменяемой буквы на расстоянии 13 символов. Таким образом «O» превращается в «B», а «v» становится «i», в итоге «Ovaltine» превращается в «Binygvar». Конечно, это не очень безопасно. Это наивный пример, который очень легко взломать, так как атакующий может выяснить, какая буква встречается чаще всего (обычно в оригинальном тексте это «e») и найти оставшиеся буквы подобным образом.
Сейчас вы можете представить, что должны существовать более хитрые способы «перемешивания» букв. Например, некая сложная схема, в которой «a» переходит в «p», но при повторном шифровании — в «f». Может даже иногда эта схема начинает шифровать «a» двумя буквами, например «jd» или в что-нибудь другое. Таким образом эта усложнённая схема может зашифровать «Ovaltine» в строку «FGyswDmweeRq» (заметьте, что она стала длиннее). 7 = 3. Возьмите любое число, которое вам нравится или любые данные, и это всегда будет работать — XOR всегда сможет расшифровать себя.
Бит за битом — вот как мы в действительности шифруем и расшифровываем данные, нет никакого перемешивания, только XOR-инг. Трудная часть — поиск данных, к которым мы можем применить XOR. Один из подходов заключается в том, чтобы взять большой кусок секретных данных, лежащих под рукой, и использовать его в качестве второго аргумента XOR. При этом все участники процесса передачи зашифрованных данных должны использовать один и тот же набор секретных данных для шифрования и расшифровки. И это будет работать. Правда есть несколько проблем.
Первая проблема. Секретные данные должны казаться случайными. Вы не можете взять текст из книги или что-то в этом роде. Любые паттерны будут проявляться в зашифрованных данных. Это именно то, благодаря чему союзные войска получили преимущество во Второй мировой войне.
Вторая проблема. Вам нельзя переиспользовать секретные данные, так как паттерны проявятся снова. Таким образом вы как-то должны предоставлять большие куски секретных данных для всех, кто в них нуждается как в шифре Вернама (One-time pad). Это слишком трудно.
В современном шифровании мы «генерируем» нужные нам секретные данные из маленьких ключей. Эти ключи гораздо проще таскать с собой и защищать. Вот чем в действительности являются алгоритмы симметричного шифрования — схемами для детерминированной генерации случайных данных из ключа. Часть про «детерминированность» очень важна: два человека с одним и тем же ключом должны генерировать абсолютно один и тот же набор данных, иначе они не смогут понять друг друга. Вероятно, вы слышали про такие алгоритмы: AES, 3DES, DES, RC4, ChaCha20. Все они делают это.
Оказывается, что математическая задача генерации случайного потока данных (в котором нет паттернов в любом предсказуемом виде) с помощью ключа очень сложна. Из этого списка сегодня считаются безопасными только AES и ChaCha20. Другие алгоритмы были взломаны: люди смогли предсказывать их. Причём AES имеет немного запятнанную репутацию, потому что криптографы говорят следующее:
AES — основной и наиболее проанализированный алгоритм шифрования. Абсолютно золотой стандарт! :dark_sunglasses:
Но при этом добавляют:
Реализации AES в программном обеспечении (не в аппаратном) или небезопасны, или медленны, а иногда и не безопасны, и медленны. Он не был разработан с учётом того, что его взлом можно осуществить с помощью анализа кэша. :facepalm:
Не пугайтесь слишком сильно, если это вам непонятно. Главная мысль заключается в следующем: AES шикарен с точки зрения математики, но очень сложен в программной реализации. Но не надо беспокоиться — у нас почти всегда есть поддержка AES на уровне аппаратного обеспечения (список всех процессоров с аппаратной поддержкой AES можно посмотреть тут https://en.wikipedia.org/wiki/AES_instruction_set, — прим. переводчика).
Как бы то ни было, продолжаем… Как эти алгоритмы работают в действительности? Каким образом мы можем взять ключ и безопасно сгенерировать случайный поток данных? Я буду тут немного упрощать и начну с блоков.
Эти алгоритмы получают на вход три параметра и на выходе отдают зашифрованный текст. Входные параметры — ключ, шифруемый текст и… сюрприз — что-то странное под названием «вектор инициализации» (initialization vector, IV).
AES(key, IV, plaintext) -> encrypted_data.
Ключ и IV комбинируются между собой, чтобы создать набор «стартовых условий» для алгоритма; это подобно начальной перестановке или перемешиванию плиток в игре Скрэббл. Одинаковая комбинация ключа и IV всегда будет создавать одинаковый набор стартовых условий. Спрашиваете, почему нам вообще тогда понадобился IV? Нам нужен IV, чтобы мы могли шифровать множество сообщений, используя одинаковый ключ. Без IV, каждый генерируемый поток данных был бы одинаков, и это плохо. Это бы нарушило одно из правил, про которое мы говорили ранее: мы не можем переиспользовать одни и те же данные при шифровании. Таким образом нам нужен IV для перемешивания результата. Но в отличии от ключа IV может быть публичным.
Итак, когда вы шифруете сообщение и отправляете его кому-нибудь, вы также можете добавить: «Эй, а вот IV, который я использовал». При этом всё ещё критично, чтобы мы не переиспользовали комбинацию ключа и IV, потому что они дали бы нам повторяющиеся случайные данные. Для достижения этого условия есть два пути: 1) IV это некий счётчик, который мы увеличиваем с каждым новым сообщением. 2) IV генерируется случайно, при этом у него достаточно большое значение, поэтому нам не надо сильно беспокоиться о коллизиях. Как бы то ни было, я упомянул, что я буду говорить о блоках.
Ключи и IV «смешиваются» или комбинируются таким образом, чтобы создать набор стартовых условий… эти условия на самом деле являются начальным «блоком» случайных данных. Длина этого блока для AES128 128 бит, для AES256 — 256 бит, для ChaCha20 — 512 бит. И вот тут проявляется настоящая магия и индивидуальность конкретного алгоритма шифрования. В действительности их суть заключается в том, каким образом генерируется последовательность блоков и как каждый блок связан со своими соседями. Отношения между этими блоками остаются предсказуемы даже для тех, у кого нет ключа.
Я не буду глубоко погружаться в то, как именно работают эти алгоритмы, но если вы хотите узнать больше, я советую вам начать изучение этой темы с линейного конгруэнтного метода (linear congruential generators, LCG). LCG представляет собой функцию, которая создаёт «циклические» блоки данных в случайном и неповторяющемся виде. Затем взгляните на cеть Фе́йстеля (Feistel networks) — следующий уровень развития LCG. Затем разберитесь с S-Boxes, а потом посмотрите на то как Salsa20 создаёт чередование в алгоритме ChaCha20. Всё это гораздо доступнее, чем вы можете подумать!
Итак, мы теперь знаем, как случайный поток данных может быть скомбинирован с текстом, чтобы его зашифровать и расшифровать, и мы уже немного в теме того, как эти случайные потоки данных создаются. Разве это не всё, что нам надо? Для шифрования диска, это, действительно, почти всё. Мы можем шифровать каждый блок или сектор хранилища с использованием одного ключа и IV, который может быть получен из «позиции» на диске. Таким образом мы можем всегда расшифровать любой блок данных в любом месте на диске, до тех пор пока у нас есть ключ. Но тут есть одна проблемка… кто-нибудь может испортить наши зашифрованные данные. Если я изменю значение любого байта, даже если у меня не будет ключа, то в итоге мы не сможем расшифровать блок. И нет защиты против вмешательства такого вида. В случае отправки сообщений и данных по сети, это становится ещё критичнее. Мы не хотим, чтобы кто-нибудь мог испортить наши передаваемые данные. Таким образом нам надо добавить проверку целостности! Есть несколько схем, для того чтобы это сделать.
HMAC, GCM и Poly1305 — наиболее распространённые современные схемы для проверки целостности. Эти алгоритмы по большому счёту работают так: им на вход подаются данные и другой ключ (так называемый ключ целостности). После вычислений они выдают на выходе MAC (message authentication code) или тэг, который в свою очередь просто другой кусочек данных, выступающий подписью.
Таким образом для шифрования и защиты наша схема может выглядеть так:
AES(key, IV, "Ovaltine") -> encrypted_output
HMAC(key, encrypted_output) -> MAC
и затем по проводам мы отправляем:
IV | encrypted_output | MAC
Для расшифровки мы проверяем MAC, генерируя его снова и сравнивая результат с полученным MAC, а затем расшифровываем данные. Есть внутренние различия в том, как HMAC, GCM и Poly1305 генерируют эти подписи, но вам не надо об этом беспокоиться. На сегодняшний день эту комбинацию операций обычно оборачивают в функцию с именем «AEAD» (Authenticated Encryption with Additional Data). Под капотом она делает всё то, про что я говорил ранее:
AEAD(key, IV, plaintext, additional_data) -> IV_encrypted_data_MAC
Штука под названием «additional_data» — всего лишь данные, с помощью которых вы можете убедиться в том, что эти данные есть у отправляющей стороны, хотя они и не были им отправлены. Это как мета-данные, с помощью которых устанавливаются права доступа. Часто это поле оставляют пустым.
Но тем не менее вы можете поиметь проблемы с AEAD, если будете использовать один и тот же IV. Это плохо! Есть попытки для улучшения этой ситуации: мой коллега, которого зовут Шай, работает над клёвой схемой SIV, добавляющей уровень защиты от этой проблемы. Но если вы используете уникальный IV, современное шифрование очень безопасно. То есть вы можете опубликовать зашифрованный текст в Нью-Йорк Таймс, и никто не сможет его взломать. Шифр будет оставаться неприступен, даже если «некоторая» часть текста будет известна. Например, в интернет-протоколах большое количество текста известно. HTTP-сервера всегда отвечают одинаково и первые байты всегда известны. Но этот факт совсем не имеет значения — он не поможет атакующему узнать ни кусочка оставшихся данных… Мы прошли долгий путь со времён Второй мировой войны.
Но есть атаки, которые работают! Если вы отправляете данные по сети и кто-то отслеживает время и размер сообщений, то зашифрованные данные могут быть взломаны с помощью анализа трафика.
Давайте сначала разберёмся с длиной. Очевидно, что длина — это не скрытая характеристика. И это нормально, если вы пытаетесь защитить свой пароль или номер кредитной карты где-то в середине сообщения. Не очень то и большая проблема. Но это означает, что потенциально любой человек может определить тип контента, который вы отправляете. Простой пример: если вы отправляете gif с помощью мессенджера и если размер этого изображения уникален, атакующий, перехватывающий ваши данные, может предположить какая именно гифка была только что отправлена. Есть более хитрые версии этой атаки для Google Maps, Netflix, Wikipedia и т.п. Для защиты от этой атаки можно «добивать» отправляемые сообщения дополнительными байтами, таким образом, чтобы все отправляемые сообщения были одинаковой длины несмотря ни на что. Шифрование, которое используется в военных сетях, всегда «добивает» трафик дополнительными данными, то есть для перехватчика он всегда выглядит одинаковым! Ещё одна проблема, связанная с длиной, заключается в том, что если вы используете сжатие и даёте атакующему возможность изменять любую часть контента на странице, которую видит пользователь, то это даёт возможность атакующему разузнать даже самые маленькие секреты. Поищите атаку под названием «CRIME». Она шикарна и страшна.
Я ещё говорил о том, что другая проблема — тайминг. Очевидно, что время отправки каждого сообщения открытая информация. Это может быть проблемой? Может! Например, если вы отправляете сообщение на каждое нажатие клавиши, тогда тривиально выяснить, что именно печатается с помощью анализа времени. Круто! Другой пример — VOIP. Если ваше приложение для звонков отправляет данные только тогда, когда люди говорят, но не во время молчания, этого достаточно для того, чтобы восстановить 70% английской речи. Всего лишь из тишины. Страшно клёво.
Эти примеры всего лишь верхушка айсберга. Даже когда вы используете алгоритмы и схемы шифрования, которые улучшались в течение 80 лет, всё равно остаются пробелы, с помощью которых можно взломать защиту. Вот почему про это ценно знать!
Как бы то ни было, это тот уровень объяснения, на котором я хочу сейчас остановиться, но мы рассмотрели самое необходимое, что надо знать. Если вы дочитали до этого момента — спасибо! Сейчас у вас должно быть большее понимание того, что происходит при шифровании и чего следует остерегаться.
Не стесняйтесь задавать вопросы
Перевод публикуется под лицензией CC BY-NC-SA 4.0
Симметричные шифры
Симметричные шифрыСимметричные шифры
Симметричные криптосистемы (также симметричное шифрование, симметричные шифры) — способ шифрования, в котором для (за)шифрования и расшифровывания применяется один и тот же криптографический ключ. До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование. Ключ алгоритма должен сохраняться в секрете обеими сторонами. Алгоритм шифрования выбирается сторонами до начала обмена сообщениями.
Алгоритмы шифрования и дешифрования данных широко применяются в компьютерной технике в системах сокрытия конфиденциальной и коммерческой информации от злонамеренного использования сторонними лицами. Главным принципом в них является условие, что передатчик и приемник заранее знают алгоритм шифрования, а также ключ к сообщению, без которых информация представляет собой всего лишь набор символов, не имеющих смысла.
Простая перестановка без ключа — один из самых простых методов шифрования. Сообщение записывается в таблицу по столбцам. После того, как открытый текст записан колонками, для образования шифровки он считывается по строкам. Для использования этого шифра отправителю и получателю нужно договориться об общем ключе в виде размера таблицы. Объединение букв в группы не входит в ключ шифра и используется лишь для удобства записи несмыслового текста.
Более практический метод шифрования, называемый одиночной перестановкой по ключу очень похож на предыдущий. Он отличается лишь тем, что колонки таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы.
Для дополнительной скрытности можно повторно шифровать сообщение, которое уже было зашифровано. Этот способ известен под названием двойная перестановка. Для этого размер второй таблицы подбирают так, чтобы длины ее строк и столбцов были другие, чем в первой таблице. Лучше всего, если они будут взаимно простыми. Кроме того, в первой таблице можно переставлять столбцы, а во второй строки. Наконец, можно заполнять таблицу зигзагом, змейкой, по спирали или каким-то другим способом. Такие способы заполнения таблицы если и не усиливают стойкость шифра, то делают процесс шифрования гораздо более занимательным.
Магическими квадратами называются квадратные таблицы со вписанными в их клетки последовательными натуральными числами от 1, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число. Подобные квадраты широко применялись для вписывания шифруемого текста по приведенной в них нумерации. Если потом выписать содержимое таблицы по строкам, то получалась шифровка перестановкой букв. На первый взгляд кажется, будто магических квадратов очень мало. Тем не менее, их число очень быстро возрастает с увеличением размера квадрата. Так, существует лишь один магический квадрат размером 3 х 3, если не принимать во внимание его повороты. Магических квадратов 4 х 4 насчитывается уже 880, а число магических квадратов размером 5 х 5 около 250000. Поэтому магические квадраты больших размеров могли быть хорошей основой для надежной системы шифрования того времени, потому что ручной перебор всех вариантов ключа для этого шифра был немыслим.
В квадрат размером 4 на 4 вписывались числа от 1 до 16. Его магия состояла в том, что сумма чисел по строкам, столбцам и полным диагоналям равнялась одному и тому же числу — 34. Впервые эти квадраты появились в Китае, где им и была приписана некоторая «магическая сила».
Шифрование по магическому квадрату производилось следующим образом. Например, требуется зашифровать фразу: «Приезжаю сегодня». Буквы этой фразы вписываются последовательно в квадрат согласно записанным в них числам: позиция буквы в предложении соответствует порядковому числу. В пустые клетки ставится точка.
После этого шифрованный текст записывается в строку (считывание производится слева направо, построчно): .ИРДЗЕГЮСЖАОЕЯНП
При расшифровывании текст вписывается в квадрат, и открытый текст читается в последовательности чисел «магического квадрата» Программа должна генерировать «магические квадраты» и по ключу выбирать необходимый. Размер квадрата больше чем 3х3.
Полная утрата всех статистических закономерностей исходного сообщения является важным требованием к симметричному шифру. Для этого шифр должен иметь «эффект лавины» — должно происходить сильное изменение шифроблока при 1битном изменении входных данных (в идеале должны меняться значения 1/2 бит шифроблока).
Также важным требованием является отсутствие линейности (то есть условия f(a) xor f(b) == f(a xor b)), в противном случае облегчается применение дифференциального криптоанализа к шифру.
В настоящее время симметричные шифры — это:
- блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.
- поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.
Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок.
Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля. Алгоритм строит схему шифрования на основе функции F(D, K), где D — порция данных, размером вдвое меньше блока шифрования, а K — «ключ прохода» для данного прохода. От функции не требуется обратимость — обратная ей функция может быть неизвестна. Достоинства сети Фейстеля — почти полное совпадение дешифровки с шифрованием (единственное отличие — обратный порядок «ключей прохода» в расписании), что сильно облегчает аппаратную реализацию.
Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна — f(a) xor f(b) == f(a xor b)
Операции подстановки выполняются как замена значения некоей части сообщения (часто в 4, 6 или 8 бит) на стандартное, жестко встроенное в алгоритм иное число путем обращения к константному массиву. Операция подстановки привносит в алгоритм нелинейность.
Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора значений в таблицах подстановки (S-блоках). Как минимум считается нежелательным наличие неподвижных элементов S(x) = x, а также отсутствие влияния какого-то бита входного байта на какой-то бит результата — то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите.
Существует множество (не менее двух десятков) алгоритмов симметричных шифров, существенными параметрами которых являются:
- стойкость
- длина ключа
- число раундов
- длина обрабатываемого блока
- сложность аппаратной/программной реализации
- сложность преобразования
Блочные шифры:
- AES (англ. Advanced Encryption Standard) — американский стандарт шифрования
- ГОСТ 28147-89 — отечественный стандарт шифрования данных
- DES (англ. Data Encryption Standard) — стандарт шифрования данных в США до AES
- 3DES (Triple-DES, тройной DES)
- RC6 (Шифр Ривеста)
- Twofish
- IDEA (англ. International Data Encryption Algorithm)
- SEED — корейский стандарт шифрования данных
- Camellia — сертифицированный для использовании в Японии шифр
- CAST (по инициалам разработчиков Carlisle Adams и Stafford Tavares)
- XTEA — наиболее простой в реализации алгоритм
Потоковые шифры:
- RC4 — алгоритм шифрования с ключом переменной длины
- SEAL (Software Efficient Algorithm) — программно-эффективный алгоритм
- WAKE (World Auto Key Encryption algorithm) — всемирный алгоритм шифрования на автоматическом ключе
Достоинства:
- скорость (по данным Applied Cryptography — на 3 порядка выше)
- простота реализации (за счёт более простых операций)
- меньшая требуемая длина ключа для сопоставимой стойкости
- изученность (за счёт большего возраста)
Недостатки:
- сложность управления ключами в большой сети. Означает квадратичное возрастание числа пар ключей, которые надо генерировать, передавать, хранить и уничтожать в сети. Для сети в 10 абонентов требуется 45 ключей, для 100 уже 4950, для 1000 — 499500 и т. д.
- сложность обмена ключами. Для применения необходимо решить проблему надёжной передачи ключей каждому абоненту, так как нужен секретный канал для передачи каждого ключа обеим сторонам.
Для компенсации недостатков симметричного шифрования в настоящее время широко применяется комбинированная (гибридная) криптографическая схема, где с помощью асимметричного шифрования передаётся сеансовый ключ, используемый сторонами для обмена данными с помощью симметричного шифрования.
Важным свойством симметричных шифров является невозможность их использования для подтверждения авторства, так как ключ известен каждой стороне.
Алгоритмы шифрования данных. Симметричные алгоритмы шифрования. Алгоритм шифрования RSA. Алгоритм шифрования DES. Выбор алгоритма шифрования. Симметричные криптосистемы
Единственным существовавшим способом являлось симметричное шифрование. Ключ алгоритма должен сохраняться в тайне обеими сторонами, осуществляться меры по защите доступа к каналу, на всем пути следования криптограммы, или сторонами взаимодействия посредством криптообьектов, сообщений, если данный канал взаимодействия под грифом «Не для использования третьими лицами». Алгоритм шифрования выбирается сторонами до начала обмена сообщениями.
Основные сведения
Алгоритмы шифрования данных широко применяются в компьютерной технике в системах сокрытия конфиденциальной и коммерческой информации от злонамеренного использования сторонними лицами. Главным принципом в них является условие, что передатчик и приемник заранее знают алгоритм шифрования , а также ключ к сообщению, без которых информация представляет собой всего лишь набор символов, не имеющих смысла.
Классическими примерами таких алгоритмов являются симметричные криптографические алгоритмы , перечисленные ниже:
- Простая перестановка
- Одиночная перестановка по ключу
- Двойная перестановка
- Перестановка «Магический квадрат»
Простая перестановка
Простая перестановка без ключа — один из самых простых методов шифрования. Сообщение записывается в таблицу по столбцам. После того, как открытый текст записан колонками, для образования шифртекста он считывается по строкам. Для использования этого шифра отправителю и получателю нужно договориться об общем ключе в виде размера таблицы. Объединение букв в группы не входит в ключ шифра и используется лишь для удобства записи несмыслового текста.
Одиночная перестановка по ключу
Более практический метод шифрования, называемый одиночной перестановкой по ключу, очень похож на предыдущий. Он отличается лишь тем, что колонки таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы.
Двойная перестановка
Для дополнительной скрытности можно повторно шифровать сообщение, которое уже было зашифровано. Этот способ известен под названием двойная перестановка. Для этого размер второй таблицы подбирают так, чтобы длины её строк и столбцов отличались от длин в первой таблице. Лучше всего, если они будут взаимно простыми. Кроме того, в первой таблице можно переставлять столбцы, а во второй строки. Наконец, можно заполнять таблицу зигзагом, змейкой, по спирали или каким-то другим способом. Такие способы заполнения таблицы если и не усиливают стойкость шифра, то делают процесс шифрования гораздо более занимательным.
Перестановка «Магический квадрат»
Магическими квадратами называются квадратные таблицы со вписанными в их клетки последовательными натуральными числами от 1, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число. Подобные квадраты широко применялись для вписывания шифруемого текста по приведенной в них нумерации. Если потом выписать содержимое таблицы по строкам, то получалась шифровка перестановкой букв. На первый взгляд кажется, будто магических квадратов очень мало. Тем не менее, их число очень быстро возрастает с увеличением размера квадрата. Так, существует лишь один магический квадрат размером 3 х 3, если не принимать во внимание его повороты. Магических квадратов 4 х 4 насчитывается уже 880, а число магических квадратов размером 5 х 5 около 250000. Поэтому магические квадраты больших размеров могли быть хорошей основой для надежной системы шифрования того времени, потому что ручной перебор всех вариантов ключа для этого шифра был немыслим.
В квадрат размером 4 на 4 вписывались числа от 1 до 16. Его магия состояла в том, что сумма чисел по строкам, столбцам и полным диагоналям равнялась одному и тому же числу — 34. Впервые эти квадраты появились в Китае, где им и была приписана некоторая «магическая сила».
После этого шифрованный текст записывается в строку (считывание производится слева направо, построчно):
.ирдзегюСжаоеянП
При расшифровывании текст вписывается в квадрат, и открытый текст читается в последовательности чисел «магического квадрата». Программа должна генерировать «магические квадраты» и по ключу выбирать необходимый. Размер квадрата больше чем 3х3.
История
Требования
Полная утрата всех статистических закономерностей исходного сообщения является важным требованием к симметричному шифру. Для этого шифр должен иметь «эффект лавины » — должно происходить сильное изменение шифроблока при 1-битном изменении входных данных (в идеале должны меняться значения 1/2 бит шифроблока).
Также важным требованием является отсутствие линейности (то есть условия f(a) xor f(b) == f(a xor b)), в противном случае облегчается применение дифференциального криптоанализа к шифру.
Общая схема
В настоящее время симметричные шифры — это:
- блочные шифры . Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами . Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.
- поточные шифры , в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования . Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.
Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок.
Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля . Алгоритм строит схему шифрования на основе функции F(D, K), где D — порция данных размером вдвое меньше блока шифрования, а K — «ключ прохода» для данного прохода. От функции не требуется обратимость — обратная ей функция может быть неизвестна. Достоинства сети Фейстеля — почти полное совпадение дешифровки с шифрованием (единственное отличие — обратный порядок «ключей прохода» в расписании), что значительно облегчает аппаратную реализацию.
Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна — f(a) xor f(b) == f(a xor b)
Операции подстановки выполняются как замена значения некоей части сообщения (часто в 4, 6 или 8 бит) на стандартное, жестко встроенное в алгоритм иное число путём обращения к константному массиву. Операция подстановки привносит в алгоритм нелинейность.
Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора значений в таблицах подстановки (S-блоках). Как минимум считается нежелательным наличие неподвижных элементов S(x) = x, а также отсутствие влияния какого-то бита входного байта на какой-то бит результата — то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите.
Параметры алгоритмов
Существует множество (не менее двух десятков) алгоритмов симметричных шифров, существенными параметрами которых являются:
- длина ключа
- число раундов
- длина обрабатываемого блока
- сложность аппаратной/программной реализации
- сложность преобразования
Виды симметричных шифров
блочные шифры- AES (англ. Advanced Encryption Standard ) — американский стандарт шифрования
- ГОСТ 28147-89 — советский и российский стандарт шифрования, также является стандартом СНГ
- DES (англ. Data Encryption Standard ) — стандарт шифрования данных в США
- 3DES (Triple-DES, тройной DES)
- RC2 (Шифр Ривеста (Rivest Cipher или Ron’s Cipher))
- IDEA (International Data Encryption Algorithm, международный алгоритм шифрования данных)
- CAST (по инициалам разработчиков Carlisle Adams и Stafford Tavares)
Симметричные криптосистемы (также симметричное шифрование, симметричные шифры) — способ шифрования, в котором для зашифровывания и расшифровывания применяется один и тот же криптографический ключ. До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование. Ключ алгоритма должен сохраняться в секрете обеими сторонами. Ключ алгоритма выбирается сторонами до начала обмена сообщениями.
В настоящее время симметричные шифры — это:
1. Блочные шифры — обрабатывают информацию блоками определенной длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.
2. Поточные шифры — в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.
Криптографическая система с открытым ключом
Криптографическая система с открытым ключом (или Асимметричное шифрование, Асимметричный шифр) — система шифрования информации, при которой ключ, которым зашифровывается сообщение и само зашифрованное сообщение передаётся по открытому, (то есть незащищённому, доступному для наблюдения) каналу. Для генерации открытого ключа и для прочтения зашифрованного сообщения получатель использует секретный ключ. Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколе SSL и основанных на нём протоколах прикладного уровня HTTPS, SSH и т. д.
Рис. 7.
1. Получатель генерирует ключ. Ключ разбивается на открытую и закрытую часть. При этом открытый ключ не должен передаваться по открытому каналу. Либо его подлинность должна быть гарантирована некоторым сертифицирующим органом.
2. Отправитель с помощью открытого ключа шифрует сообщение.
3. Получатель с помощью закрытого ключа дешифрует сообщение.
Недостаток метода: хотя сообщение надежно шифруется, но «засвечиваются» получатель и отправитель самим фактом пересылки шифрованного сообщения.
Общая идея криптографической системы с открытым ключом заключается в использовании при зашифровке сообщения такой функции от открытого ключа и сообщения (шифр -функции), которую алгоритмически очень трудно обратить, то есть вычислить по значению функции её аргумент, даже зная значение ключа.
Преимущество асимметричных шифров перед симметричными шифрами состоит в отсутствии необходимости передачи секретного ключа. Сторона, желающая принимать зашифрованные тексты, в соответствии с используемым алгоритмом вырабатывает пару «открытый ключ — закрытый ключ». Значения ключей связаны между собой, однако вычисление одного значения из другого должно быть невозможным с практической точки зрения. Открытый ключ публикуется в открытых справочниках и используется для шифрования информации контрагентом. Закрытый ключ держится в секрете и используется для расшифровывания сообщения, переданного владельцу пары ключей. Начало асимметричным шифрам было положено в 1976 году в работе Уитфилда Диффи и Мартина Хеллмана «Новые направления в современной криптографии». Они предложили систему обмена общим секретным ключом на основе проблемы дискретного логарифма. Вообще, в основу известных асимметричных криптосистем кладётся одна из сложных математических проблем, которая позволяет строить односторонние функции и функции-ловушки. Например, криптосистема Ривеста-Шамира-Адельмана использует проблему факторизации больших чисел, а криптосистемы Меркля-Хеллмана и Хора-Ривеста опираются на так называемую задачу об укладке рюкзака.
Недостатки — асимметричные криптосистемы требуют существенно больших вычислительных ресурсов. Кроме того, необходимо обеспечить аутентичность (подлинность) самих публичных ключей, для чего обычно используют сертификаты.
Гибридная (или комбинированная) криптосистема — это система шифрования, обладающая всеми достоинствами криптосистемы с открытым ключом, но лишенная ее основного недостатка — низкой скорости шифрования.
Принцип: Криптографические системы используют преимущества двух основных криптосистем: симметричной и асимметричной криптографии. На этом принципе построены такие программы, как PGP и GnuPG.
Основной недостаток асимметричной криптографии состоит в низкой скорости из-за сложных вычислений, требуемых ее алгоритмами, в то время как симметричная криптография традиционно показывает блестящую скорость работы. Однако симметричные криптосистемы имеет один существенный недостаток — её использование предполагает наличие защищенного канала для передачи ключей. Для преодоления этого недостатка прибегают к асимметричным криптосистемам, которые используют пару ключей: открытый и закрытый.
Шифрование: Большинство шифровальных систем работают следующим образом. Для симметричного алгоритма (3DES, IDEA, AES или любого другого) генерируется случайный ключ. Такой ключ, как правило, имеет размер от 128 до 512 бит (в зависимости от алгоритма). Затем используется симметричный алгоритм для шифрования сообщения. В случае блочного шифрования необходимо использовать режим шифрования (например, CBC), что позволит шифровать сообщение с длиной, превышающей длину блока. Что касается самого случайного ключа, он должен быть зашифрован с помощью открытого ключа получателя сообщения, и именно на этом этапе применяется криптосистема с открытым ключом (RSA или Алгоритм Диффи — Хеллмана). Поскольку случайный ключ короткий, его шифрование занимает немного времени. Шифрование набора сообщений с помощью асимметричного алгоритма — это задача вычислительно более сложная, поэтому здесь предпочтительнее использовать симметричное шифрование. Затем достаточно отправить сообщение, зашифрованное симметричным алгоритмом, а также соответствующий ключ в зашифрованном виде. Получатель сначала расшифровывает ключ с помощью своего секретного ключа, а затем с помощью полученного ключа получает и всё сообщение.
Цифровая подпись обеспечивает:
* Удостоверение источника документа. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.
* Защиту от изменений документа. При любом случайном или преднамеренном изменении документа (или подписи) изменится шифр, следовательно, подпись станет недействительной.
Возможны следующие угрозы цифровой подписи:
*Злоумышленник может попытаться подделать подпись для выбранного им документа.
*Злоумышленник может попытаться подобрать документ к данной подписи, чтобы подпись к нему подходила.
При использовании надёжной шифр — функции, вычислительно сложно создать поддельный документ с таким же шифром, как у подлинного. Однако, эти угрозы могут реализоваться из-за слабостей конкретных алгоритмов кэширования, подписи, или ошибок в их реализациях. Тем не менее, возможны ещё такие угрозы системам цифровой подписи:
*Злоумышленник, укравший закрытый ключ, может подписать любой документ от имени владельца ключа.
*Злоумышленник может обманом заставить владельца подписать какой-либо документ, например используя протокол слепой подписи.
*Злоумышленник может подменить открытый ключ владельца на свой собственный, выдавая себя за него.
определенный алгоритм шифрования, на вход которому подаются исходное незашифрованное сообщение, называемое также plaintext , и ключ. Выходом алгоритма является зашифрованное сообщение, называемое также ciphertext . Ключ является значением, не зависящим от шифруемого сообщения. Изменение ключа должно приводить к изменению зашифрованного сообщения.Зашифрованное сообщение передается получателю. Получатель преобразует зашифрованное сообщение в исходное незашифрованное сообщение с помощью алгоритма дешифрования и того же самого ключа, который использовался при шифровании, или ключа, легко получаемого из ключа шифрования .
Незашифрованное сообщение будем обозначать P или M, от слов plaintext и message. Зашифрованное сообщение будем обозначать С, от слова ciphertext .
Безопасность, обеспечиваемая традиционной криптографией , зависит от нескольких факторов.
Во-первых, криптографический алгоритм должен быть достаточно сильным, чтобы передаваемое зашифрованное сообщение невозможно было расшифровать без ключа, используя только различные статистические закономерности зашифрованного сообщения или какие-либо другие способы его анализа.
Во-вторых, безопасность передаваемого сообщения должна зависеть от секретности ключа, но не от секретности алгоритма. Алгоритм должен быть проанализирован специалистами, чтобы исключить наличие слабых мест, при наличии которых плохо скрыта взаимосвязь между незашифрованным и зашифрованным сообщениями. К тому же при выполнении этого условия производители могут создавать дешевые аппаратные чипы и свободно распространяемые программы, реализующие данный алгоритм шифрования .
В-третьих, алгоритм должен быть таким, чтобы нельзя было узнать ключ, даже зная достаточно много пар (зашифрованное сообщение, незашифрованное сообщение), полученных при шифровании с использованием данного ключа.
Клод Шеннон ввел понятия диффузии и конфузии для описания стойкости алгоритма шифрования.
Диффузия — это рассеяние статистических особенностей незашифрованного текста в широком диапазоне статистических особенностей зашифрованного текста. Это достигается тем, что значение каждого элемента незашифрованного текста влияет на значения многих элементов зашифрованного текста или, что то же самое, любой элемент зашифрованного текста зависит от многих элементов незашифрованного текста.
Конфузия — это уничтожение статистической взаимосвязи между зашифрованным текстом и ключом.
Если Х — это исходное сообщение и K — криптографический ключ , то зашифрованный передаваемый текст можно записать в виде
Получатель, используя тот же ключ, расшифровывает сообщение
Противник, не имея доступа к K и Х, должен попытаться узнать Х , K или и то, и другое.
Алгоритмы симметричного шифрования различаются способом, которым обрабатывается исходный текст. Возможно шифрование блоками или шифрование потоком.
Блок текста рассматривается как неотрицательное целое число, либо как несколько независимых неотрицательных целых чисел. Длина блока всегда выбирается равной степени двойки. В большинстве блочных алгоритмов симметричного шифрования используются следующие типы операций:
Эти операции циклически повторяются в алгоритме, образуя так называемые раунды . Входом каждого раунда является выход предыдущего раунда и ключ, который получен по определенному алгоритму из ключа шифрования K . Ключ раунда называется подключом . Каждый алгоритм шифрования может быть представлен следующим образом:
Рис. 2.2.
Области применения
Стандартный алгоритм шифрования должен быть применим во многих приложениях:
- Шифрование данных . Алгоритм должен быть эффективен при шифровании файлов данных или большого потока данных.
- Создание случайных чисел. Алгоритм должен быть эффективен при создании определенного количества случайных бит.
- Хэширование. Алгоритм должен эффективно преобразовываться в одностороннюю хэш-функцию .
Платформы
Стандартный алгоритм шифрования должен быть реализован на различных платформах, которые, соответственно, предъявляют различные требования.
- Алгоритм должен эффективно реализовываться на специализированной аппаратуре, предназначенной для выполнения шифрования/ дешифрования .
- Большие процессоры. Хотя для наиболее быстрых приложений всегда используется специальная аппаратура, программные реализации применяются чаще. Алгоритм должен допускать эффективную программную реализацию на 32-битных процессорах.
- Процессоры среднего размера. Алгоритм должен работать на микроконтроллерах и других процессорах среднего размера.
- Малые процессоры. Должна существовать возможность реализации алгоритма на смарт-картах , пусть даже с учетом жестких ограничений на используемую память.
Дополнительные требования
Алгоритм шифрования должен, по возможности, удовлетворять некоторым дополнительным требованиям.
- Алгоритм должен быть простым для написания кода, чтобы минимизировать вероятность программных ошибок.
- Алгоритм должен иметь плоское пространство ключей и допускать любую случайную строку бит нужной длины в качестве возможного ключа . Наличие слабых ключей нежелательно.
- Алгоритм должен легко модифицироваться для различных уровней безопасности и удовлетворять как минимальным, так и максимальным требованиям.
- Все операции с данными должны осуществляться над блоками, кратными байту или 32-битному слову.
В наш компьютерный век человечество все больше отказывается от хранения информации в рукописном или печатном виде, предпочитая для документы. И если раньше крали просто бумаги или пергаменты, то сейчас взламывают именно электронную информацию. Сами же алгоритмы шифрования данных были известны еще с незапамятных времен. Многие цивилизации предпочитали зашифровывать свои уникальные знания, чтобы они могли достаться только человеку сведущему. Но давайте посмотрим, как все это отображается на нашем мире.
Что собой представляет система шифрования данных?
Для начала следует определиться с тем, что собой представляют криптографические системы вообще. Грубо говоря, это некий специальный алгоритм записи информации, который был бы понятен только определенному кругу людей.
В этом смысле постороннему человеку все, что он видит, должно (а в принципе, так и есть) казаться бессмысленным набором символов. Прочесть такую последовательность сможет только тот, кто знает правила их расположения. В качестве самого простого примера можно определить алгоритм шифрования с написанием слов, скажем, задом наперед. Конечно, это самое примитивное, что можно придумать. Подразумевается, что если знать правила записи, восстановить исходный текст труда не составит.
Зачем это нужно?
Для чего все это придумывалось, наверное, объяснять не стоит. Посмотрите, ведь какие объемы знаний, оставшиеся от древних цивилизаций, сегодня находятся в зашифрованном виде. То ли древние не хотели, чтобы мы это узнали, то ли все это было сделано, чтобы человек смог ними воспользоваться только тогда, когда достигнет нужного уровня развития — пока что об этом можно только гадать.
Впрочем, если говорить о сегодняшнем мире, защита информации становится одной из самых больших проблем. Посудите сами, ведь сколько имеется документов в тех же архивах, о которых правительства некоторых стран не хотели бы распространяться, сколько секретных разработок, сколько новых технологий. А ведь все это, по большому счету, и является первоочередной целью так называемых хакеров в классическом понимании этого термина.
На ум приходит только одна фраза, ставшая классикой принципов деятельности Натана Ротшильда: «Кто владеет информацией, тот владеет миром». И именно поэтому информацию приходится защищать от посторонних глаз, дабы ей не воспользовался кто-то еще в своих корыстных целях.
Криптография: точка отсчета
Теперь, прежде чем рассматривать саму структуру, которую имеет любой алгоритм шифрования, немного окунемся в историю, в те далекие времена, когда эта наука только зарождалась.
Считается, что искусство сокрытия данных активно начало развиваться несколько тысячелетий назад до нашей эры. Первенство приписывают древним шумерам, царю Соломону и египетским жрецам. Только много позже появились те же рунические знаки и символы, им подобные. Но вот что интересно: иногда алгоритм шифрования текстов (а в то время шифровались именно они) был таков, что в той же один символ мог означать не только одну букву, но и целое слово, понятие или даже предложение. Из-за этого расшифровка таких текстов даже при наличии современных криптографических систем, позволяющих восстановить исходный вид любого текста, становится абсолютно невозможной. Если говорить современным языком, это достаточно продвинутые, как принято сейчас выражаться, симметричные алгоритмы шифрования. На них остановимся отдельно.
Современный мир: виды алгоритмов шифрования
Что касается защиты конфиденциальных данных в современно мире, отдельно стоит остановиться еще на тех временах, когда компьютеры были человечеству неизвестны. Не говоря уже о том, сколько бумаги перевели алхимики или те же тамплиеры, пытаясь скрыть истинные тексты об известных им знаниях, стоит вспомнить, что со времени возникновения связи проблема только усугубилась.
И тут, пожалуй, самым знаменитым устройством можно назвать немецкую шифровальную машину времен Второй мировой под названием «Энигма», что в переводе с английского означает «загадка». Опять же, это пример того, как используются симметричные алгоритмы шифрования, суть которых состоит в том, что шифровщик и дешифровальщик знают ключ (алгоритм), изначально примененный для сокрытия данных.
Сегодня такие криптосистемы используются повсеместно. Самым ярким примером можно считать, скажем, алгоритм являющийся международным стандартом. С точки зрения компьютерной терминологии, он позволяет использовать ключ длиной 256 бит. Вообще современные алгоритмы шифрования достаточно разнообразны, а разделить их условно можно на два больших класса: симметричные и асимметричные. Они, в зависимости от области назначения, сегодня применяются очень широко. И выбор алгоритма шифрования напрямую зависит от поставленных задач и метода восстановления информации в исходном виде. Но в чем же состоит разница между ними?
Симметричные и асимметричные алгоритмы шифрования: в чем разница
Теперь посмотрим, какое же кардинальное различие между такими системами, и на каких принципах строится их применение на практике. Как уже понятно, алгоритмы шифрования бывают связаны с геометрическими понятиями симметрии и асимметрии. Что это значит, сейчас и будет выяснено.
Симметричный алгоритм шифрования DES, разработанный еще в 1977 году, подразумевает наличие единого ключа, который, предположительно, известен двум заинтересованным сторонам. Зная такой ключ, нетрудно применить его на практике, чтобы прочитать тот же бессмысленный набор символов, приведя его, так сказать, в читабельный вид.
А что представляют собой асимметричные алгоритмы шифрования? Здесь применяются два ключа, то есть для кодирования исходной информации использует один, для расшифровки содержимого — другой, причем совершенно необязательно, чтобы они совпадали или одновременно находились у кодирующей и декодирующей стороны. Для каждой из них достаточно одного. Таким образом, в очень высокой степени исключается попадание обоих ключей в третьи руки. Однако, исходя из современной ситуации, для многих злоумышленников кражи такого типа особо проблемой и не являются. Другое дело — поиск именно того ключа (грубо говоря, пароля), который подойдет для расшифровки данных. А тут вариантов может быть столько, что даже самый современный компьютер будет обрабатывать их в течение нескольких десятков лет. Как было заявлено, ни одна из имеющихся в мире компьютерных систем взломать доступ к нему и получить то, что называется «прослушкой», не может и не сможет в течение ближайших десятилетий.
Наиболее известные и часто применяемые алгоритмы шифрования
Но вернемся в мир компьютерный. Что на сегодня предлагают основные алгоритмы шифрования, предназначенные для защиты информации на современном этапе развития компьютерной и мобильной техники?
В большинстве стран стандартом де-факто является криптографическая система AES на основе 128-битного ключа. Однако параллельно с ней иногда используется и алгоритм который хоть и относится к шифрованию с использованием открытого (публичного) ключа, тем не менее является одним из самых надежных. Это, кстати, доказано всеми ведущими специалистами, поскольку сама система определяется не только степенью шифрования данных, но и сохранением целостности информации. Что касается ранних разработок, к коим относится алгоритм шифрования DES, то он безнадежно устарел, а попытки его замены начали проводиться еще в 1997 году. Вот тогда-то на его основе и возник новый расширенный (Advanced) стандарт шифрования AES (сначала с ключом 128 бит, потом — с ключом 256 бит).
Шифрование RSA
Теперь остановимся на технологии RSA которая относится к системе асимметричного шифрования. Предположим, один абонент отправляет другому информацию, зашифрованную при помощи этого алгоритма.
Для шифрования берутся два достаточно больших числа X и Y, после чего вычисляется их произведение Z, называемое модулем. Далее выбирается некое постороннее число A, удовлетворяющее условию: 1данном примере A — открытый показатель, B — секретный показатель, (Z; A) — открытый ключ, (Z; B) — секретный ключ.
Что происходит при пересылке? Отправитель создает зашифрованный текст, обозначенный как F, с начальным сообщением M, после чего следует A и умножение на модуль Z: F = M**A*(mod Z). Получателю остается вычислить несложный пример: M = F**B*(mod Z). Грубо говоря, все эти действия сводятся исключительно к возведению в степень. По тому же принципу работает и вариант с создание цифровой подписи, но уравнения тут несколько сложнее. Чтобы не забивать пользователю голову алгеброй, такой материал приводиться не будет.
Что же касается взлома, то алгоритм шифрования RSA ставит перед злоумышленником практически нерешаемую задачу: вычислить ключ B. Это теоретически можно было бы сделать с применением доступных средств факторинга (разложением на сомножители исходных чисел X и Y), однако на сегодняшний день таких средств нет, поэтому сама задача становится не то что трудной — она вообще невыполнима.
Шифрование DES
Перед нами еще один, в прошлом достаточно эффективный алгоритм шифрования с максимальной длиной блока 64 бита (символа), из которой значащими являются только 56. Как уже было сказано выше, эта методика уже устарела, хотя достаточно долго продержалась в качестве стандарта криптосистем, применяемых в США даже для оборонной промышленности.
Суть его симметричного шифрования заключается в том, что для этого применяется некая последовательность из 48 бит. При этом для операций используется 16 циклов из выборки ключей в 48 бит. Но! Все циклы по принципу действия аналогичны, поэтому на данный момент вычислить искомый ключ труда не составляет. К примеру, один из самых мощных компьютеров в США стоимостью более миллиона долларов «ломает» шифрование в течение примерно трех с половиной часов. Для машин рангом ниже на то, чтобы вычислить даже последовательность в максимальном ее проявлении, требуется не более 20 часов.
Шифрование AES
Наконец, перед нами самая распространенная и, как считалось до недавнего времени, неуязвимая система — алгоритм шифрования AES. Он сегодня представлен в трех модификациях — AES128, AES192 и AES256. Первый вариант применяется больше для обеспечения информационной безопасности мобильных устройств, второй задействован на более высоком уровне. Как стандарт, эта система была официально внедрена в 2002 году, причем сразу же ее поддержка была заявлена со стороны корпорации Intel, производящей процессорные чипы.
Суть ее, в отличие от любой другой симметричной системы шифрования, сводится к вычислениям на основе полиноминального представления кодов и операций вычисления с двумерными массивами. Как утверждает правительство Соединенных Штатов, для взлома ключа длиной 128 бит дешифратору, пусть даже самому современному, потребуется порядка 149 триллионов лет. Позволим себе не согласиться с таким компетентным источником. Компьютерная техника за последние сто лет сделала скачок, соизмеримый с так что особо обольщаться не стоит, тем более что сегодня, как оказалось, существуют системы шифрования и покруче, чем те, которые США объявили совершенно стойкими ко взлому.
Проблемы с вирусами и дешифровкой
Конечно же, речь идет о вирусах. В последнее время появились довольно специфичные вирусы-вымогатели, которые шифруют все содержимое жесткого диска и логических разделов на зараженном компьютере, после чего жертва получает письмо с уведомлением о том, что все файлы зашифрованы, а расшифровать их может только указанный источник после оплаты кругленькой суммы.
При этом, что самое важное, указывается, что при шифровании данных была применена система AES1024, то есть длина ключа в четыре раза больше ныне существующей AES256, а количество вариантов при поиске соответствующего дешифратора возрастает просто неимоверно.
А если исходить из заявления правительства США о сроке, отводимом для дешифрования ключа длиной 128 бит, то что можно сказать о времени, которое потребуется на поиск решения для случая с ключом и его вариантами длиной 1024 бита? Вот тут-то США и прокололись. Они ведь считали, что их система компьютерной криптографии совершенна. Увы, нашлись какие-то спецы (судя по всему, на постсоветском пространстве), которые превзошли «незыблемые» американские постулаты по всем параметрам.
При всем этом даже ведущие разработчики антивирусного ПО, в том числе «Лаборатория Касперского», специалисты, создавшие «Доктора Веба», корпорация ESET и многие другие мировые лидеры просто разводят руками, дескать, на расшифровку такого алгоритма попросту нет средств, умалчивая при этом о том, что и времени не хватит. Конечно, при обращении в службу поддержки предлагается отправить зашифрованный файл и, если есть, желательно его оригинал — в том виде, в каком он был до начала шифрования. Увы, даже сравнительный анализ пока не дал ощутимых результатов.
Мир, которого мы не знаем
Да что там говорить, если мы гонимся за будущим, не имея возможности расшифровать прошлое. Если посмотреть на мир нашего тысячелетия, можно заметить, что тот же римский император Гай Юлий Цезарь в некоторых своих посланиях использовал симметричные алгоритмы шифрования. Ну а если взглянуть на Леонардо да Винчи, так вообще становится как-то не по себе от одного осознания того, что в области криптографии этот человек, чья жизнь покрыта неким флером тайны, на века превзошел свою современность.
До сих пор многим не дает покоя так называемая «улыбка Джоконды», в которой есть что-то такое притягательное, чего современный человек понять не способен. Кстати сказать, на картине относительно недавно были найдены некие символы (в глазу, на платье и т. д.), которые явно свидетельствуют о том, что во всем этом содержится какая-то зашифрованная великим гением информация, которую сегодня, увы, извлечь мы не в состоянии. А ведь мы даже не упомянули о разного рода масштабных конструкциях, которые способны были перевернуть понимание физики того времени.
Конечно, некоторые умы склоняются исключительно к тому, что в большинстве случаев было использовано так называемое «золотое сечение», однако и оно не дает ключа ко всему тому огромному хранилищу знаний, которое, как считается, либо нам непонятно, либо потеряно навеки. По всей видимости, криптографам предстоит проделать еще неимоверную кучу работы, чтобы понять, что современные алгоритмы шифрования порой не идут ни в какое сравнение с наработками древних цивилизаций. К тому же, если сегодня существуют общепринятые принципы защиты информации, то те, которые использовались в древности, к сожалению, нам совершенно недоступны и непонятны.
И еще одно. Существует негласное мнение, что большинство древних текстов невозможно перевести только потому, что ключи к их дешифровке тщательно охраняются тайными обществами вроде масонов, иллюминатов и т. д. Даже тамплиеры оставили тут свой след. Что уж говорить о том, что до сих пор абсолютно недоступной остается библиотека Ватикана? Не там ли хранятся основные ключи к пониманию древности? Многие специалисты склоняются именно к этой версии, считая, что Ватикан намеренно утаивает эту информацию от общества. Так это или нет, пока не знает никто. Но одно можно утверждать совершенно точно — древние системы криптографии ни в чем не уступали (а может, и превосходили) тем, что используются в современном компьютерном мире.
Вместо послесловия
Напоследок стоит сказать, что здесь были рассмотрены далеко не все аспекты, связанные с нынешними криптографическими системами и методиками, которые они используют. Дело в том, что в большинстве случаев пришлось бы приводить сложные математические формулы и представлять вычисления, от которых у большинства пользователей просто голова кругом пойдет. Достаточно взглянуть на пример с описанием алгоритма RSA, чтобы сообразить, что все остальное будет выглядеть намного сложнее.
Тут главное — понять и вникнуть, так сказать, в суть вопроса. Ну а если говорить о том, что представляют собой современные системы, предлагающие хранить конфиденциальную информацию таким образом, чтобы она была доступна ограниченному кругу пользователей, здесь выбор невелик. Несмотря на наличие множества криптографических систем, те же алгоритмы RSA и DES явно проигрывают специфике AES. Впрочем, и большинство современных приложений, разработанных для совершенно разнящихся между собой операционных систем, используют именно AES (естественно, в зависимости от области применения и устройства). Но вот «несанкционированная» эволюция этой криптосистемы, мягко говоря, многих, особенно ее создателей, повергла в шок. Но в целом, исходя из того, что имеется на сегодняшний день, многим пользователям нетрудно будет понять, что такое криптографические системы шифрования данных, зачем они нужны и как работают.
Средства криптографической защиты гостайны до сих пор приравниваются к оружию. Очень немногие страны мира имеют свои криптографические компании, которые делают действительно хорошие средства защиты информации. Даже во многих развитых странах нет такой возможности: там отсутствует школа, которая позволяла бы эти технологии поддерживать и развивать. Россия одна из немногих стран мира, – может быть таких стран пять, или около того, – где все это развито. Причем и в коммерческом, и в государственном секторе есть компании и организации, которые сохранили преемственность школы криптографии с тех времен, когда она только зарождалась.
Алгоритмы шифрования
На сегодняшний день существует масса алгоритмов шифрования, имеющих значительную стойкость перед криптоанализом (криптографическую стойкость). Принято деление алгоритмов шифрования на три группы:
Симметричные алгоритмы
Симметричное шифрование предусматривает использование одного и того же ключа и для зашифрования, и для расшифрования. К симметричным алгоритмам применяются два основных требования: полная утрата всех статистических закономерностей в объекте шифрования и отсутствие линейности. Принято разделять симметричные системы на блочные и поточные.
В блочных системах происходит разбиение исходных данных на блоки с последующим преобразованием с помощью ключа.
В поточных системах вырабатывается некая последовательность (выходная гамма), которая в последующем накладывается на само сообщение, и шифрование данных происходит потоком по мере генерирования гаммы. Схема связи с использованием симметричной криптосистемы представлена на рисунке.
Где где М — открытый текст, К — секретный ключ, передаваемый по закрытому каналу, Еn(М) — операция зашифрования, а Dk(M) — операция расшифрования
Обычно при симметричном шифровании используется сложная и многоступенчатая комбинация подстановок и перестановок исходных данных, причем ступеней (проходов) может быть множество, при этом каждой из них должен соответствовать «ключ прохода»
Операция подстановки выполняет первое требование, предъявляемое к симметричному шифру, избавляясь от любых статистических данных путем перемешивания битов сообщения по определенному заданному закону. Перестановка необходима для выполнения второго требования – придания алгоритму нелинейности. Достигается это за счет замены определенной части сообщения заданного объема на стандартное значение путем обращения к исходному массиву.
Симметричные системы имеют как свои преимущества, так и недостатки перед асимметричными.
К преимуществам симметричных шифров относят высокую скорость шифрования, меньшую необходимую длину ключа при аналогичной стойкости, большую изученность и простоту реализации. Недостатками симметричных алгоритмов считают в первую очередь сложность обмена ключами ввиду большой вероятности нарушения секретности ключа при обмене, который необходим, и сложность управления ключами в большой сети.
Примеры симметричных шифров
- ГОСТ 28147-89 — отечественный стандарт шифрования
- 3DES (Triple-DES, тройной DES)
- RC6 (Шифр Ривеста)
- Twofish
- SEED — корейский стандарт шифрования
- Camellia – японский стандарт шифрования
- CAST (по инициалам разработчиков Carlisle Adams и Stafford Tavares)
- XTEA — наиболее простой в реализации алгоритм
- AES – американский стандарт шифрования
- DES – стандарт шифрования данных в США до AES
Асимметричные алгоритмы
Ассиметричные системы также называют криптосистемами с открытым ключом. Это такой способ шифрования данных, при котором открытый ключ передается по открытому каналу (не скрывается) и используется для проверки электронной подписи и для шифрования данных. Для дешифровки же и создания электронной подписи используется второй ключ, секретный.
Само устройство асимметричных криптосистем использует идею односторонних функций ƒ(х), в которых несложно найти х, зная значение самой функции но почти невозможно найти саму ƒ(х), зная только значение х. Примером такой функции может служить телефонный справочник большого города, в котором легко найти номер человека, зная его фамилию и инициалы, но крайне сложно, зная номер, вычислить владельца.
Принцип работы асимметричных систем
Допустим, имеются два абонента: А и В, и абонент В хочет отправить шифрованное сообщение абоненту А. Он зашифровывает сообщение с помощью открытого ключа и передает его уже зашифрованным по открытому каналу связи. Получив сообщение, абонент А подвергает его расшифрованию с помощью секретного ключа и читает.
Здесь необходимо сделать уточнение. При получении сообщения абонент А должен аутентифицировать свою личность перед абонентом В для того, чтобы недоброжелатель не смог выдать себя за абонента А и подменить его открытый ключ своим.
Примеры асимметричных шрифтов
- RSA (Rivest-Shamir-Adleman, Ривест — Шамир — Адлеман)
- DSA (Digital Signature Algorithm)
- Elgamal (Шифросистема Эль-Гамаля)
- Diffie-Hellman (Обмен ключами Диффи — Хелмана)
- ECC (Elliptic Curve Cryptography, криптография эллиптической кривой)
Хеш-функции
Хешированием (от англ. hash) называется преобразование исходного информационного массива произвольной длины в битовую строку фиксированной длины.
Алгоритмов хеш-функций немало, а различаются они своими характеристиками – криптостойкостью, разрядностью, вычислительной сложностью и т.д.
Нас интересуют криптографически стойкие хеш-функции. К таким обычно предъявляют два требования:
- Для заданного сообщения С практически невозможно подобрать другое сообщение С» с таким же хешем
- Практически невозможно подобрать пар сообщений (СС»), имеющих одинаковый хеш.
Требования называются стойкостью к коллизиям первого рода и второго рода соответственно. Для таких функций остается важным и другое требование: при незначительном изменении аргумента должно происходить значительное изменение самой функции. Таким образом, значение хеша не должно давать информации даже об отдельных битах аргумента.
Примеры хеш-алгоритмов
- Adler-32
- SHA-1
- SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
- HAVAL
- N-Hash
- RIPEMD-256
- RIPEMD-320
- Skein
- Snefru
- Tiger (TTH)
- Whirlpool
- ГОСТ Р34.11-94 (ГОСТ 34.311-95)
- IP Internet Checksum (RFC 1071)
Криптографические примитивы
Для придания зашифрованной информации большей криптографической стойкости, в криптографической системе могут многократно применяться относительно простые преобразования – примитивы. В качестве примитивов могут использоваться подстановки, перестановки, циклический сдвиг или гаммирование.
Квантовая криптография
Криптография в цифровых технологиях
История
Криптография является древнейшей наукой, и первоначальными ее объектами были текстовые сообщения, которые с помощью определенных алгоритмов лишались смысла для всех, не обладающих специальным знанием по дешифровке этого сообщения – ключом.
Изначально использовались методы, сегодня применяемые разве что для головоломок, то есть, на взгляд современника, простейшие. К таким способам шифрования относятся, например, метод замены, когда каждая буква заменяется другой, отстоящей от нее на строго определенном расстоянии в алфавите. Или метод перестановочного шифрования, когда буквы меняют местами в определенной последовательности внутри слова.
В древние времена шифрование применялось главным образом в военном и торговом деле, шпионаже, среди контрабандистов.
Несколько позже ученые-историки определяют дату появления другой родственной науки – стеганография. Эта наука занимается маскировкой самого факта передачи сообщения. Зародилась она в античности, а примером здесь может служить получение спартанским царем Леонидом перед битвой с персами провощенной дощечки с текстом, покрытой сухим легкосмываемым раствором. При очистке оставленные на воске стилусом знаки становились отчетливо видимыми. Сегодня для сокрытия сообщения служат симпатические чернила, микроточки, микропленки и т.д.
С развитием математики стали появляться математические алгоритмы шифрования, но все эти виды криптографической защиты информации сохраняли в разной объемной степени статистические данные и оставались уязвимыми. Уязвимость стала особенно ощутима с изобретением частотного анализа, который был разработан в IX веке нашей эры предположительно арабским энциклопедистом ал-Кинди. И только в XV веке, после изобретения полиалфавитных шрифтов Леоном Баттистой Альберти (предположительно), защита перешла на качественно новый уровень. Однако в середине XVII века Чарлз Бэббидж представил убедительные доказательства частичной уязвимости полиалфавитных шрифтов перед частотным анализом.
Развитие механики позволило создавать приборы и механизмы, облегчающие шифрование – появились такие устройства, как квадратная доска Тритемиуса, дисковый шифр Томаса Джефферсона. Но все эти приборы ри в какое сравнение не идут с теми, были созданы в XX веке. Именно в это время стали появляться различные шифровальные машины и механизмы высокой сложности, например, роторные машины, самой известной из которых является «Энигма »
До бурного развития науки в XX веке криптографам приходилось иметь дело только с лингвистическими объектами, а в ХХ веке открылись возможности применения различных математических методов и теорий, статистики, комбинаторики, теории чисел и абстракной алгебры.
Но настоящий прорыв в криптографической науке произошел с появлением возможности представления любой информации в бинарном виде, разделенной на биты с помощью компьютеров, что позволило создавать шрифты с доселе невиданной криптографической стойкостью. Такие системы шифрования, конечно, могут быть подвергнуты взлому, но временные затраты на взлом себя в подавляющем большинстве случаев не оправдывают.
Сегодня можно говорить о значительных разработках в квантовой криптографии.
Литература
- Баричев С.Г., Гончаров В.В., Серов Р.Е. Основы современной криптографии. — М.: *Варфоломеев А. А., Жуков А. Е., Пудовкина М. А. Поточные криптосистемы. Основные свойства и методы анализа стойкости. М.: ПАИМС, 2000.
- Ященко В. В. Введение в криптографию. СПб.: Питер, 2001. .
- ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. М.: ГК СССР по стандартам, 1989.
- ГОСТ Р 34.10-94.Информационная технология. Криптографическая защита информации. *ГОСТ Р 34.11-94. Информационная технология. Криптографическая защита информации. Функция хэширования. М., 1995.
- ГОСТ Р 34.10-2001 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи. М., 2001.
- Нечаев В. И. Элементы криптографии (Основы теории защиты информации). М.: Высшая школа, 1999.
- Жельников В. Криптография от папируса до компьютера. М.: АВР,1996.
Алгоритмы шифрования данных. Симметричные алгоритмы шифрования. Алгоритм шифрования RSA. Алгоритм шифрования DES. Выбор алгоритма шифрования
В наш компьютерный век человечество все больше отказывается от хранения информации в рукописном или печатном виде, предпочитая для этого электронные документы. И если раньше крали просто бумаги или пергаменты, то сейчас взламывают именно электронную информацию. Сами же алгоритмы шифрования данных были известны еще с незапамятных времен. Многие цивилизации предпочитали зашифровывать свои уникальные знания, чтобы они могли достаться только человеку сведущему. Но давайте посмотрим, как все это отображается на нашем мире.
Что собой представляет система шифрования данных?
Для начала следует определиться с тем, что собой представляют криптографические системы вообще. Грубо говоря, это некий специальный алгоритм записи информации, который был бы понятен только определенному кругу людей.
В этом смысле постороннему человеку все, что он видит, должно (а в принципе, так и есть) казаться бессмысленным набором символов. Прочесть такую последовательность сможет только тот, кто знает правила их расположения. В качестве самого простого примера можно определить алгоритм шифрования с написанием слов, скажем, задом наперед. Конечно, это самое примитивное, что можно придумать. Подразумевается, что если знать правила записи, восстановить исходный текст труда не составит.
Зачем это нужно?
Для чего все это придумывалось, наверное, объяснять не стоит. Посмотрите, ведь какие объемы знаний, оставшиеся от древних цивилизаций, сегодня находятся в зашифрованном виде. То ли древние не хотели, чтобы мы это узнали, то ли все это было сделано, чтобы человек смог ними воспользоваться только тогда, когда достигнет нужного уровня развития — пока что об этом можно только гадать.
Впрочем, если говорить о сегодняшнем мире, защита информации становится одной из самых больших проблем. Посудите сами, ведь сколько имеется документов в тех же архивах, о которых правительства некоторых стран не хотели бы распространяться, сколько секретных разработок, сколько новых технологий. А ведь все это, по большому счету, и является первоочередной целью так называемых хакеров в классическом понимании этого термина.
На ум приходит только одна фраза, ставшая классикой принципов деятельности Натана Ротшильда: «Кто владеет информацией, тот владеет миром». И именно поэтому информацию приходится защищать от посторонних глаз, дабы ей не воспользовался кто-то еще в своих корыстных целях.
Криптография: точка отсчета
Теперь, прежде чем рассматривать саму структуру, которую имеет любой алгоритм шифрования, немного окунемся в историю, в те далекие времена, когда эта наука только зарождалась.
Считается, что искусство сокрытия данных активно начало развиваться несколько тысячелетий назад до нашей эры. Первенство приписывают древним шумерам, царю Соломону и египетским жрецам. Только много позже появились те же рунические знаки и символы, им подобные. Но вот что интересно: иногда алгоритм шифрования текстов (а в то время шифровались именно они) был таков, что в той же древне-шумерской клинописи один символ мог означать не только одну букву, но и целое слово, понятие или даже предложение. Из-за этого расшифровка таких текстов даже при наличии современных криптографических систем, позволяющих восстановить исходный вид любого текста, становится абсолютно невозможной. Если говорить современным языком, это достаточно продвинутые, как принято сейчас выражаться, симметричные алгоритмы шифрования. На них остановимся отдельно.
Современный мир: виды алгоритмов шифрования
Что касается защиты конфиденциальных данных в современно мире, отдельно стоит остановиться еще на тех временах, когда компьютеры были человечеству неизвестны. Не говоря уже о том, сколько бумаги перевели алхимики или те же тамплиеры, пытаясь скрыть истинные тексты об известных им знаниях, стоит вспомнить, что со времени возникновения связи проблема только усугубилась.
И тут, пожалуй, самым знаменитым устройством можно назвать немецкую шифровальную машину времен Второй мировой под названием «Энигма», что в переводе с английского означает «загадка». Опять же, это пример того, как используются симметричные алгоритмы шифрования, суть которых состоит в том, что шифровщик и дешифровальщик знают ключ (алгоритм), изначально примененный для сокрытия данных.
Сегодня такие криптосистемы используются повсеместно. Самым ярким примером можно считать, скажем, алгоритм шифрования AES256, являющийся международным стандартом. С точки зрения компьютерной терминологии, он позволяет использовать ключ длиной 256 бит. Вообще современные алгоритмы шифрования достаточно разнообразны, а разделить их условно можно на два больших класса: симметричные и асимметричные. Они, в зависимости от области назначения, сегодня применяются очень широко. И выбор алгоритма шифрования напрямую зависит от поставленных задач и метода восстановления информации в исходном виде. Но в чем же состоит разница между ними?
Симметричные и асимметричные алгоритмы шифрования: в чем разница
Теперь посмотрим, какое же кардинальное различие между такими системами, и на каких принципах строится их применение на практике. Как уже понятно, алгоритмы шифрования бывают связаны с геометрическими понятиями симметрии и асимметрии. Что это значит, сейчас и будет выяснено.
Симметричный алгоритм шифрования DES, разработанный еще в 1977 году, подразумевает наличие единого ключа, который, предположительно, известен двум заинтересованным сторонам. Зная такой ключ, нетрудно применить его на практике, чтобы прочитать тот же бессмысленный набор символов, приведя его, так сказать, в читабельный вид.
А что представляют собой асимметричные алгоритмы шифрования? Здесь применяются два ключа, то есть для кодирования исходной информации использует один, для расшифровки содержимого – другой, причем совершенно необязательно, чтобы они совпадали или одновременно находились у кодирующей и декодирующей стороны. Для каждой из них достаточно одного. Таким образом, в очень высокой степени исключается попадание обоих ключей в третьи руки. Однако, исходя из современной ситуации, для многих злоумышленников кражи такого типа особо проблемой и не являются. Другое дело – поиск именно того ключа (грубо говоря, пароля), который подойдет для расшифровки данных. А тут вариантов может быть столько, что даже самый современный компьютер будет обрабатывать их в течение нескольких десятков лет. Как было заявлено, ни одна из имеющихся в мире компьютерных систем взломать доступ к нему и получить то, что называется «прослушкой», не может и не сможет в течение ближайших десятилетий.
Наиболее известные и часто применяемые алгоритмы шифрования
Но вернемся в мир компьютерный. Что на сегодня предлагают основные алгоритмы шифрования, предназначенные для защиты информации на современном этапе развития компьютерной и мобильной техники?
В большинстве стран стандартом де-факто является криптографическая система AES на основе 128-битного ключа. Однако параллельно с ней иногда используется и алгоритм шифрования RSA, который хоть и относится к шифрованию с использованием открытого (публичного) ключа, тем не менее является одним из самых надежных. Это, кстати, доказано всеми ведущими специалистами, поскольку сама система определяется не только степенью шифрования данных, но и сохранением целостности информации. Что касается ранних разработок, к коим относится алгоритм шифрования DES, то он безнадежно устарел, а попытки его замены начали проводиться еще в 1997 году. Вот тогда-то на его основе и возник новый расширенный (Advanced) стандарт шифрования AES (сначала с ключом 128 бит, потом – с ключом 256 бит).
Шифрование RSA
Теперь остановимся на технологии RSA которая относится к системе асимметричного шифрования. Предположим, один абонент отправляет другому информацию, зашифрованную при помощи этого алгоритма.
Для шифрования берутся два достаточно больших числа X и Y, после чего вычисляется их произведение Z, называемое модулем. Далее выбирается некое постороннее число A, удовлетворяющее условию: 1< A < (X — 1) * (Y — 1). Оно обязательно должно быть простым, то есть не иметь общих делителей с произведением (X — 1) * (Y — 1), равным Z. Затем происходит вычисление числа B, но только так, что (A * B — 1) делится на (X — 1) * (Y – 1). В данном примере A – открытый показатель, B – секретный показатель, (Z; A) – открытый ключ, (Z; B) – секретный ключ.
Что происходит при пересылке? Отправитель создает зашифрованный текст, обозначенный как F, с начальным сообщением M, после чего следует возведение в степень A и умножение на модуль Z : F = M**A*(mod Z). Получателю остается вычислить несложный пример: M = F**B*(mod Z). Грубо говоря, все эти действия сводятся исключительно к возведению в степень. По тому же принципу работает и вариант с создание цифровой подписи, но уравнения тут несколько сложнее. Чтобы не забивать пользователю голову алгеброй, такой материал приводиться не будет.
Что же касается взлома, то алгоритм шифрования RSA ставит перед злоумышленником практически нерешаемую задачу: вычислить ключ B. Это теоретически можно было бы сделать с применением доступных средств факторинга (разложением на сомножители исходных чисел X и Y), однако на сегодняшний день таких средств нет, поэтому сама задача становится не то что трудной — она вообще невыполнима.
Шифрование DES
Перед нами еще один, в прошлом достаточно эффективный алгоритм шифрования с максимальной длиной блока 64 бита (символа), из которой значащими являются только 56. Как уже было сказано выше, эта методика уже устарела, хотя достаточно долго продержалась в качестве стандарта криптосистем, применяемых в США даже для оборонной промышленности.
Суть его симметричного шифрования заключается в том, что для этого применяется некая последовательность из 48 бит. При этом для операций используется 16 циклов из выборки ключей в 48 бит. Но! Все циклы по принципу действия аналогичны, поэтому на данный момент вычислить искомый ключ труда не составляет. К примеру, один из самых мощных компьютеров в США стоимостью более миллиона долларов «ломает» шифрование в течение примерно трех с половиной часов. Для машин рангом ниже на то, чтобы вычислить даже последовательность в максимальном ее проявлении, требуется не более 20 часов.
Шифрование AES
Наконец, перед нами самая распространенная и, как считалось до недавнего времени, неуязвимая система – алгоритм шифрования AES. Он сегодня представлен в трех модификациях – AES128, AES192 и AES256. Первый вариант применяется больше для обеспечения информационной безопасности мобильных устройств, второй задействован на более высоком уровне. Как стандарт, эта система была официально внедрена в 2002 году, причем сразу же ее поддержка была заявлена со стороны корпорации Intel, производящей процессорные чипы.
Суть ее, в отличие от любой другой симметричной системы шифрования, сводится к вычислениям на основе полиноминального представления кодов и операций вычисления с двумерными массивами. Как утверждает правительство Соединенных Штатов, для взлома ключа длиной 128 бит дешифратору, пусть даже самому современному, потребуется порядка 149 триллионов лет. Позволим себе не согласиться с таким компетентным источником. Компьютерная техника за последние сто лет сделала скачок, соизмеримый с геометрической прогрессией, так что особо обольщаться не стоит, тем более что сегодня, как оказалось, существуют системы шифрования и покруче, чем те, которые США объявили совершенно стойкими ко взлому.
Проблемы с вирусами и дешифровкой
Конечно же, речь идет о вирусах. В последнее время появились довольно специфичные вирусы-вымогатели, которые шифруют все содержимое жесткого диска и логических разделов на зараженном компьютере, после чего жертва получает письмо с уведомлением о том, что все файлы зашифрованы, а расшифровать их может только указанный источник после оплаты кругленькой суммы.
При этом, что самое важное, указывается, что при шифровании данных была применена система AES1024, то есть длина ключа в четыре раза больше ныне существующей AES256, а количество вариантов при поиске соответствующего дешифратора возрастает просто неимоверно.
А если исходить из заявления правительства США о сроке, отводимом для дешифрования ключа длиной 128 бит, то что можно сказать о времени, которое потребуется на поиск решения для случая с ключом и его вариантами длиной 1024 бита? Вот тут-то США и прокололись. Они ведь считали, что их система компьютерной криптографии совершенна. Увы, нашлись какие-то спецы (судя по всему, на постсоветском пространстве), которые превзошли «незыблемые» американские постулаты по всем параметрам.
При всем этом даже ведущие разработчики антивирусного ПО, в том числе «Лаборатория Касперского», специалисты, создавшие «Доктора Веба», корпорация ESET и многие другие мировые лидеры просто разводят руками, дескать, на расшифровку такого алгоритма попросту нет средств, умалчивая при этом о том, что и времени не хватит. Конечно, при обращении в службу поддержки предлагается отправить зашифрованный файл и, если есть, желательно его оригинал — в том виде, в каком он был до начала шифрования. Увы, даже сравнительный анализ пока не дал ощутимых результатов.
Мир, которого мы не знаем
Да что там говорить, если мы гонимся за будущим, не имея возможности расшифровать прошлое. Если посмотреть на мир нашего тысячелетия, можно заметить, что тот же римский император Гай Юлий Цезарь в некоторых своих посланиях использовал симметричные алгоритмы шифрования. Ну а если взглянуть на Леонардо да Винчи, так вообще становится как-то не по себе от одного осознания того, что в области криптографии этот человек, чья жизнь покрыта неким флером тайны, на века превзошел свою современность.
До сих пор многим не дает покоя так называемая «улыбка Джоконды», в которой есть что-то такое притягательное, чего современный человек понять не способен. Кстати сказать, на картине относительно недавно были найдены некие символы (в глазу, на платье и т. д.), которые явно свидетельствуют о том, что во всем этом содержится какая-то зашифрованная великим гением информация, которую сегодня, увы, извлечь мы не в состоянии. А ведь мы даже не упомянули о разного рода масштабных конструкциях, которые способны были перевернуть понимание физики того времени.
Конечно, некоторые умы склоняются исключительно к тому, что в большинстве случаев было использовано так называемое «золотое сечение», однако и оно не дает ключа ко всему тому огромному хранилищу знаний, которое, как считается, либо нам непонятно, либо потеряно навеки. По всей видимости, криптографам предстоит проделать еще неимоверную кучу работы, чтобы понять, что современные алгоритмы шифрования порой не идут ни в какое сравнение с наработками древних цивилизаций. К тому же, если сегодня существуют общепринятые принципы защиты информации, то те, которые использовались в древности, к сожалению, нам совершенно недоступны и непонятны.
И еще одно. Существует негласное мнение, что большинство древних текстов невозможно перевести только потому, что ключи к их дешифровке тщательно охраняются тайными обществами вроде масонов, иллюминатов и т. д. Даже тамплиеры оставили тут свой след. Что уж говорить о том, что до сих пор абсолютно недоступной остается библиотека Ватикана? Не там ли хранятся основные ключи к пониманию древности? Многие специалисты склоняются именно к этой версии, считая, что Ватикан намеренно утаивает эту информацию от общества. Так это или нет, пока не знает никто. Но одно можно утверждать совершенно точно – древние системы криптографии ни в чем не уступали (а может, и превосходили) тем, что используются в современном компьютерном мире.
Вместо послесловия
Напоследок стоит сказать, что здесь были рассмотрены далеко не все аспекты, связанные с нынешними криптографическими системами и методиками, которые они используют. Дело в том, что в большинстве случаев пришлось бы приводить сложные математические формулы и представлять вычисления, от которых у большинства пользователей просто голова кругом пойдет. Достаточно взглянуть на пример с описанием алгоритма RSA, чтобы сообразить, что все остальное будет выглядеть намного сложнее.
Тут главное — понять и вникнуть, так сказать, в суть вопроса. Ну а если говорить о том, что представляют собой современные системы, предлагающие хранить конфиденциальную информацию таким образом, чтобы она была доступна ограниченному кругу пользователей, здесь выбор невелик. Несмотря на наличие множества криптографических систем, те же алгоритмы RSA и DES явно проигрывают специфике AES. Впрочем, и большинство современных приложений, разработанных для совершенно разнящихся между собой операционных систем, используют именно AES (естественно, в зависимости от области применения и устройства). Но вот «несанкционированная» эволюция этой криптосистемы, мягко говоря, многих, особенно ее создателей, повергла в шок. Но в целом, исходя из того, что имеется на сегодняшний день, многим пользователям нетрудно будет понять, что такое криптографические системы шифрования данных, зачем они нужны и как работают.
Симметричные алгоритмы шифрования | Your Private Network
Основные понятия
В симметричных криптоалгоритмах для зашифровывания и расшифровывания сообщения используется один и тот же блок информации (ключ). Хотя алгоритм воздействия на передаваемые данные может быть известен посторонним лицам, но он зависит от секретного ключа, которым должны обладать только отправитель и получатель. Симметричные криптоалгоритмы выполняют преобразование небольшого блока данных (1 бит либо 32—128 бит) в зависимости от секретного ключа таким образом, что прочесть исходное сообщение можно только зная этот секретный ключ.
Симметричные криптосистемы позволяют на основе симметричных криптоалгоритмов кодировать и декодировать файлы произвольной длины.
Характерная особенность симметричных блочных криптоалгоритмов — преобразование блока входной информации фиксированной длины и получение результирующего блока того же объема, но недоступного для прочтения сторонним лицам, не владеющим ключом. Схему работы симметричного блочного шифра можно описать функциями
С = ЕК(М) и М = DК(C),
где М — исходный (открытый) блок данных, С — зашифрованный блок данных.
Ключ K является параметром симметричного блочного криптоалгоритма и представляет собой блок двоичной информации фиксированного размера. Исходный М и зашифрованный С блоки данных также имеют фиксированную разрядность, равную между собой, но необязательно равную длине ключа К.
Блочные шифры являются той основой, на которой реализованы практически все симметричные криптосистемы. Практически все алгоритмы используют для преобразований определенный набор обратимых математических преобразований.
Методика создания цепочек из зашифрованных блочными алгоритмами байтов позволяет шифровать ими пакеты информации неограниченной длины. Отсутствие статистической корреляции между битами выходного потока блочного шифра используется для вычисления контрольных сумм пакетов данных и в хэшировании паролей. На сегодняшний день разработано достаточно много стойких блочных шифров.
Криптоалгоритм считается идеально стойким, если для прочтения зашифрованного блока данных необходим перебор всех возможных ключей до тех пор, пока расшифрованное сообщение не окажется осмысленным. В общем случае стойкость блочного шифра зависит только от длины ключа и возрастает экспоненциально с ее ростом. Идеально стойкие криптоалгоритмы должны удовлетворять еще одному важному требованию. Ключ, которым произведено это преобразование, при известных исходном и зашифрованном значениях блока можно узнать только путем полного перебора его значений.
Страницы: 1 2 3 4 5 6 7
Эта статья была опубликована Вторник, 11 августа, 2009 at 21:05 в рубрике Криптографические алгоритмы. Вы можете следить за ответами через RSS 2.0 feed.
Симметричное и асимметричное шифрование для новичков
- – Автор: Игорь (Администратор)
По сети ходит невероятное число смелых заявлений вида асимметричное шифрование круче симметричного, ровно как и обратных. И зачастую новички прислушиваются к этим словам, даже не особо понимая о чем идет речь. Сказано, что AES это круто или же наоборот RSA рулит, и все приняли за чистую монету. Однако, такой подход достаточно часто приводит к проблемам, когда из-за недостаточного понимания сути вопроса реализуются совершенно ненужные части или система оказывается беззащитной.
Поэтому в рамках данной статьи я расскажу базовый минимум, который стоит знать новичку. Не будет никаких сложных формул или математических обоснований, но зато будет пояснена разница симметричного и асимметричного шифрования, а так же будут приведены некоторые существенные моменты. Но, обо всем по порядку.
Симметричное шифрование
В симметричном шифровании используется всего один пароль (или как его еще называют ключ). Рассмотрим как все происходит. Есть некоторый математический алгоритм шифрования, которому на вход подается пароль и текст. На выходе получается зашифрованный текст. Чтобы получить исходный текст, используется этот же пароль, но с алгоритмом дешифрования (иногда он может совпадать).
Другими словами, стоит кому-либо узнать этот пароль, как безопасность тут же нарушается. Поэтому если используется симметричное шифрование, немалое внимание должно придаваться вопросу создания и сохранения в безопасности самого пароля. Он не должен передаваться в открытом виде, неважно сеть это или же листочек, прикрепленный к монитору. Пароль должен быть достаточно сложным, чтобы его нельзя было получить простым перебором. Если пароль используется несколькими людьми, то должен быть продуман безопасный метод его распространения, а так же систему оповещения на случай, если пароль станет известен кому-либо еще.
Несмотря на свои ограничения, симметричное шифрование имеет большое распространение. В основном из-за простоты понимания всего процесса (один пароль) и технической нагрузки (обычно, такие алгоритмы быстрые).
Асимметричное шифрование
В асимметричном шифровании используется два пароля — один открытый (публичный) и один закрытый (секретный). Открытый пароль отсылается всем людям, закрытый же пароль остается на стороне сервера или другого приемника. При этом названия зачастую условные, так как зашифрованное сообщение одним из ключей можно расшифровать только с помощью другого ключа. Другими словами, ключи в этом смысле равноценны.
Такие алгоритмы шифрования позволяют свободно распространять пароль (ключ) по сети, так как без второго ключа невозможно получить исходное сообщение. На этом принципе основан протокол SSL, который позволяет легко установить безопасное соединение с пользователями в силу того, что закрытый ключ (пароль) хранится только на стороне сервера. Если замечали, то периодически в браузере появляется сообщение «небезопасное соединение», когда вы открываете сайт с префиксом https. Это означает, что вполне возможно, что закрытый ключ уже давно вскрыт, еще говорят скомпрометирован, и известен злоумышленникам. Поэтому такое безопасное соединение может и не быть безопасным.
В случае с асимметричным шифрованием, становится несколько проще в плане хранения паролей, так как секретный ключ нет необходимости передавать кому-либо. Достаточно, чтобы его знал только один человек или сервер. Так же вопрос взлома пароля становится проще, так как сервер в любой момент может сменить пару ключей и разослать всем созданный открытый пароль.
Однако, асимметричное шифрование более «тяжелое», другими словами, требует больше ресурсов компьютера. Так же есть ограничения на сам процесс генерации ключей (их еще нужно подобрать). Поэтому на практике асимметричное шифрование обычно используют только для проведения аутентификации и идентификации пользователей (например, вход на сайт), или же для создания сессионного ключа для симметричного шифрования (временный пароль для обмена данными между пользователем и сервером), или же для создания цифровых подписей, которые зашифрованы секретным ключом. Как вы уже наверное поняли, в последнем случае проверить такую подпись может любой желающий с помощью публичного ключа, который находится в открытом доступе.
Важные моменты о симметричном и асимметричном шифровании
Самое главное отличие симметричного и асимметричного шифрования заключается в их подходе. Поэтому когда вы слышите или читаете статью про их сравнение вида «этот алгоритм лучше» без упоминания конкретики (определенных условий и задач), то можете смело начинать заниматься другими делами, так как это весьма бесполезное занятие аналогичное спору «Что лучше? Танк или пароход?». Без конкретики, ни то и ни другое. Тем не менее, есть важные моменты, о которых стоит знать:
1. Симметричный алгоритм хорош для передачи больших объемов шифрованных данных. Асимметричный алгоритм, при прочих равных, будет существенно медленнее. Кроме того, для организации обмена данными по асимметричному алгоритму либо обеим сторонам должны быть известны открытый и закрытый ключ, либо таких пар должно быть две (по паре на каждую сторону).
2. Асимметричное шифрование позволяет стартовать безопасное соединение без усилий со стороны пользователя. Симметричный же алгоритм предполагает, что пользователю необходимо «еще узнать каким-то образом пароль». Тем не менее, стоит понимать, что асимметричные алгоритмы так же не обеспечивают 100% безопасности. К примеру, они подвержены атакам «человек по середине». Суть последней заключается в том, что между вами и сервером устанавливается компьютер, который для вас отсылает свой открытый ключ, а для передачи данных от вас использует открытый ключ сервера.
3. С точки зрения взлома (компрометации) пароля, асимметричный алгоритм более легок, так как серверу достаточно сменить пару ключей и разослать созданный публичный ключ. В случае симметричного шифрования, встает вопрос о том, как передать следующий пароль. Однако и эти ограничения обходятся, к примеру, на обеих сторонах ключи постоянно генерируются по одному и тому же алгоритму, тогда вопрос становится в сохранении этого алгоритма в секрете.
4. Симметричные алгоритмы обычно строятся на основе некоторых блоков с математическими функциями преобразования. Поэтому модифицировать такие алгоритмы легче. Асимметрические же алгоритмы обычно строятся на некоторых математических задачах, например. RSA построен на задаче возведения в степень и взятия по модулю. Поэтому их практически невозможно или очень сложно модифицировать.
5. Асимметричные алгоритмы обычно применяются в паре с симметричными. Происходит это примерно следующим образом. С помощью асимметричного алгоритма серверу отсылается придуманный пользователем сессионный ключ для симметричного шифрования, после чего обмен данными происходит уже по симметричному алгоритму. Порядок частично может меняться или же ключ может немного по-другому формироваться, но смысл примерно одинаковый.
6. Создание безопасных ключей (паролей) в асимметричных алгоритмах дело весьма непростое, в отличии от симметричных алгоритмов, где ключ достаточно формировать по правилам генерации безопасных паролей (цифры, буквы, регистр и прочее). Однако, тот факт, что секретный пароль знает только сервер, облегчает задачу сохранения ключа в безопасности.
7. Наличие шифрования не является гарантом безопасности. Его всегда необходимо рассматривать в купе с другими подходами.
Послесловие
Как видите, области применения у симметричного и асимметричного шифрования разные, поэтому при использовании того или иного алгоритма шифрования, его всегда необходимо соотносить с реальными задачами. Так же важно понимать, что вполне возможно, что вам могут пригодится их гибриды.
Надеюсь, данный материал позволит вам не идти на поводу громких лозунгов, а более объективно подходить к вопросам. К примеру, если в программе шифрования файлов для персонального использования указан асимметричный алгоритм, то у вас, как минимум, должен возникнуть вполне рациональный вопрос «это мне вместо одного пароля нужно с собой таскать два, в добавок еще и сгенерированных фиг знает как, не проще ли было бы использовать мощный симметрический алгоритм с возможностью пользователям самим указывать пароли, программа же для персонального использования?».
☕ Хотите выразить благодарность автору? Поделитесь с друзьями!
- Как открыть MDF или MDS файл?
- Всегда ли наличие костылей в коде это плохо?
Добавить комментарий / отзыв
Сравнительный анализ криптостойкости симметричных алгоритмов шифрования
Please use this identifier to cite or link to this item: https://elib.belstu.by/handle/123456789/33420
Title: | Сравнительный анализ криптостойкости симметричных алгоритмов шифрования |
Authors: | Берников, Владислав Олегович |
Keywords: | криптоаналитические атаки симметричные криптосистемы криптостойкость алгоритмов шифрования алгоритмы шифрования |
Issue Date: | 2020 |
Publisher: | БГТУ |
Citation: | Берников, В. О. Сравнительный анализ криптостойкости симметричных алгоритмов шифрования / В. О. Берников // Труды БГТУ. Сер. 3, Физико-математические науки и информатика. — Минск : БГТУ, 2020. — № 1 (230). — С. 74-78 |
Abstract: | Проанализированы наиболее распространенные криптоаналитические атаки на блочные симметричные алгоритмы шифрования. Описаны основные методы, которые используются в атаках, выявлены преимущества и недостатки каждого метода. Рассмотрены и проанализированы наиболее известные в настоящее время симметричные криптосистемы на основе сравнения следующих характеристик: длина ключа должна составлять не менее 128 бит с возможностью быстрого расширения до 256 бит, длина обрабатываемого блока должна быть не менее 128 бит, структура каждого раунда алгоритма не должна иметь сложную математическую модель по причине продуктивности анализа в целом, а также данные алгоритмы шифрования должны быть устойчивыми к современным криптоаналитическим атакам. Приведена количественная оценка стойкости алгоритмов по следующим критериям: криптостойкость, запас криптостойкости, скорость расширения ключа, защита от атак по времени выполнения, реализация лавинного эффекта, возможность быстрого расширения ключа и возможность параллельных вычислений. Выявлены преимущества и недостатки каждого алгоритма шифрования. Выбран наиболее стойкий к взлому симметричный блочный алгоритм шифрования из рассмотренных. |
URI: | https://elib.belstu.by/handle/123456789/33420 |
Appears in Collections: | 2020, № 1 |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Шифрование с симметричным ключом— почему, где и как оно используется в банковской сфере
В современном кибермире постоянно присутствует риск несанкционированного доступа ко всем формам данных. Наибольшему риску подвергаются данные финансовых и платежных систем, которые могут раскрыть личную информацию (PII) или данные платежных карт клиентов и клиентов. Шифрование имеет решающее значение для защиты PII и снижения рисков, с которыми предприятия, осуществляющие платежные операции, сталкиваются каждую минуту каждого дня.
В этой статье мы поговорим о симметричном шифровании в банковской сфере, его преимуществах и некоторых сложностях управления ключами.
Что такое симметричное шифрование?Симметричное шифрование — это тип шифрования, при котором для шифрования и расшифровки электронной информации используется только один ключ (секретный ключ). Объекты, взаимодействующие с помощью симметричного шифрования, должны обменяться ключом, чтобы его можно было использовать в процессе дешифрования. Этот метод шифрования отличается от асимметричного шифрования, когда для шифрования и расшифровки сообщений используется пара ключей, один открытый и один частный.
При использовании алгоритмов симметричного шифрования данные преобразуются в форму, непонятную никому, у кого нет секретного ключа для их расшифровки.Как только предполагаемый получатель, владеющий ключом, получает сообщение, алгоритм меняет свое действие на противоположное, чтобы сообщение возвращалось в исходную и понятную форму. Секретный ключ, который используют и отправитель, и получатель, может представлять собой определенный пароль/код или случайную строку букв или цифр, сгенерированных безопасным генератором случайных чисел (ГСЧ). Для шифрования банковского уровня симметричные ключи должны быть созданы с использованием RNG, сертифицированного в соответствии с отраслевыми стандартами, такими как FIPS 140-2.
Существует два типа алгоритмов симметричного шифрования:
Алгоритмы блокировки. Биты заданной длины шифруются в блоках электронных данных с использованием определенного секретного ключа. Поскольку данные шифруются, система удерживает данные в своей памяти, ожидая полных блоков.
Потоковые алгоритмы. Данные шифруются при передаче, а не сохраняются в памяти системы.
Некоторые примеры алгоритмов симметричного шифрования включают:
AES (расширенный стандарт шифрования)
DES (стандарт шифрования данных)
IDEA (Международный алгоритм шифрования данных)
Blowfish (замена для DES или IDEA)
RC4 (шифр Ривеста 4)
RC5 (шифр Ривеста 5)
RC6 (шифр Ривеста 6)
AES, DES, IDEA, Blowfish, RC5 и RC6 являются блочными шифрами.RC4 — поточный шифр.
ДЕСВ «современных» вычислениях DES был первым стандартизированным шифром для защиты электронных сообщений и используется в различных вариантах (например, 2-х или 3-х ключевой 3DES). Оригинальный DES больше не используется, так как считается слишком «слабым» из-за вычислительной мощности современных компьютеров. Даже 3DES не рекомендуется NIST и PCI DSS 3.2, как и все 64-битные шифры. Однако 3DES по-прежнему широко используется в чип-картах EMV.
АЕСНаиболее часто используемый симметричный алгоритм — Advanced Encryption Standard (AES), первоначально известный как Rijndael.Это стандарт, установленный Национальным институтом стандартов и технологий США в 2001 году для шифрования электронных данных, объявленный в US FIPS PUB 197. Этот стандарт заменяет DES, который используется с 1977 года. Согласно NIST, шифр AES имеет размер блока 128 бит, но может иметь ключи трех разных длин, как показано для AES-128, AES-192 и AES-256.
Для чего используется симметричное шифрование?Хотя симметричное шифрование является более старым методом шифрования, оно быстрее и эффективнее, чем асимметричное шифрование, которое негативно сказывается на работе сетей из-за проблем с производительностью из-за размера данных и высокой загрузки ЦП.Из-за лучшей производительности и более высокой скорости симметричного шифрования (по сравнению с асимметричным) симметричная криптография обычно используется для массового шифрования/шифрования больших объемов данных, например. для шифрования базы данных. В случае с базой данных секретный ключ может быть доступен только самой базе данных для шифрования или дешифрования.
Некоторые примеры использования симметричной криптографии:
Платежные приложения, такие как операции с картами, где необходимо защитить PII, чтобы предотвратить кражу личных данных или мошеннические платежи
Проверка для подтверждения того, что отправитель сообщения является тем, за кого он себя выдает
Генерация или хеширование случайных чисел
К сожалению, у симметричного шифрования есть свои недостатки.Его самым слабым местом являются аспекты управления ключами, в том числе:
Исчерпание ключа
Симметричное шифрованиестрадает от поведения, при котором каждое использование ключа «утечка» некоторой информации, которая потенциально может быть использована злоумышленником для восстановления ключа. Защита от такого поведения включает использование иерархии ключей, чтобы гарантировать, что главные ключи или ключи шифрования не используются слишком часто, а также соответствующую ротацию ключей, которые действительно шифруют объемы данных. Чтобы быть управляемыми, оба эти решения требуют компетентных стратегий управления ключами, как если (например) устаревший ключ шифрования не может быть восстановлен, данные потенциально могут быть потеряны.
Атрибутивные данные
В отличие от асимметричных (с открытым ключом) сертификатов , симметричные ключи не имеют встроенных метаданных для записи такой информации, как дата истечения срока действия или список контроля доступа, чтобы указать, для чего может быть использован ключ — например, для шифрования, но не для расшифровки.
Последняя проблема частично решается такими стандартами, как ANSI X9-31, где ключ может быть привязан к информации, предписывающей его использование. Но для полного контроля над , для чего можно использовать ключ и , когда можно использовать, требуется система управления ключами.
Управление ключами в больших масштабах
Если в схеме задействовано всего несколько ключей (от десятков до нескольких сотен), накладные расходы на управление невелики и могут быть решены посредством ручной работы человека. Однако при большом имении отслеживание истечения срока действия и организация ротации ключей быстро становится нецелесообразным.
Рассмотрим развертывание платежных карт EMV: миллионы карт, умноженные на несколько ключей на карту, требуют специальной системы предоставления и управления ключами.
ЗаключениеОбслуживание крупномасштабных систем симметричного шифрования — очень сложная задача. Это особенно верно, когда мы хотим достичь безопасности и возможности аудита банковского уровня, когда корпоративная и / или ИТ-архитектура децентрализована / географически распределена.
Чтобы сделать это правильно, рекомендуется использовать специальное программное обеспечение для поддержания надлежащего жизненного цикла каждого созданного ключа. В случаях массовой регистрации ключей действительно невозможно управлять ключами вручную.Для этого нам нужно специализированное программное обеспечение для управления жизненным циклом ключей.
Ожидается, что квантовые вычисления появятся в ближайшие 5-10 лет. Уже сегодня NIST советует заменить широко используемый алгоритм 3DES алгоритмами, которые мы считаем более безопасными, исходя из сегодняшних знаний.
Не зная, каким может быть прогресс в технологиях и, следовательно, в эволюции вредоносных алгоритмов дешифрования, мы настоятельно рекомендуем банкам перейти на криптогибкую настройку. Такая установка позволит быстро заменить алгоритмы при обнаружении слабых мест на алгоритмы, которые считаются более безопасными.Инвестиционные и архитектурные решения необходимо принимать сейчас, чтобы избежать серьезного ущерба в ближайшие годы.
Ссылки и дополнительная литература
Алгоритмы симметричного шифрования: живите долго и шифруйте
Подобно трибблам в
Star Trek , везде используется симметричное шифрование. Мы изучим алгоритмы симметричного ключа и познакомим вас с теми местами, где ни один человек, не связанный с ИТ, не был до .Алгоритмы симметричного шифрования — это базовые процессы, которые делают возможным безопасную связь.Если бы вы использовали термины «Звездный путь », симметричные алгоритмы — это варп-двигатель для двигательной установки вашего космического корабля. Они являются неотъемлемой частью информационной безопасности и помогают вашему бизнесу продвигать безопасное шифрование данных со сверхсветовой скоростью.
(Да, я знаю, сегодня я действительно высоко поднимаю свой флаг ботана. Алгоритмы с симметричным ключом, хотя и увлекательные, не совсем «легкие» или легко читаемые, поэтому я должен немного повеселиться, когда пишу. Черт возьми, Джим, я писатель по кибербезопасности, а не криптограф.)
Не забудьте освежить свой кофе (или чай Эрл Грей, если вам так больше нравится). Мы собираемся глубоко погрузиться в изучение того, что такое алгоритмы симметричного шифрования, почему они важны и каковы наиболее распространенные типы алгоритмов симметричного шифрования.
Сделайте так.
Давайте обсудим это.
Примечание редактора: Эта статья является первой в серии статей о симметричном шифровании. Обязательно ознакомьтесь со статьями по теме ниже:
Что такое симметричный алгоритм и как он работает?
Симметричные алгоритмы — это криптографические функции, занимающие центральное место в шифровании с симметричным ключом.Это набор инструкций или шагов, которым компьютеры следуют для выполнения определенных задач, связанных с шифрованием и расшифровкой данных.
Вам нужен универсальный переводчик? Хорошо, давайте разберем это еще немного.
Алгоритмы симметричного шифрования используются (в сочетании с ключом шифрования) для выполнения двух основных задач:
- Шифр. Преобразование читаемого текста (обычный текст) в нечитаемый зашифрованный текст (зашифрованный текст).
- Расшифровать. Преобразование зашифрованного текста обратно в открытый текст.
Алгоритмы симметричного шифрования используют один и тот же ключ шифрования как для шифрования, так и для дешифрования. (В отличие от алгоритмов асимметричного шифрования, в которых используются два разных ключа.)
Алгоритмы шифрования, как правило, основаны на математике и могут варьироваться от очень простых до очень сложных процессов в зависимости от их конструкции. В случае алгоритмов симметричного шифрования они сочетаются с одним ключом для преобразования читаемых (незашифрованных) данных в неразборчивую тарабарщину (зашифрованный текст).Затем они используют тот же ключ для расшифровки зашифрованного текста обратно в открытый текст. И все это делается таким образом, чтобы обеспечить конфиденциальность данных и конфиденциальность. Довольно круто, да?
Алгоритмы симметричного шифрования на самом деле известны под несколькими разными именами:
. (О массовых шифрах мы поговорим чуть позже.)В общем, цель или цель шифрования состоит в том, чтобы сделать так, чтобы только тот, у кого есть ключ, мог расшифровать и прочитать секретное сообщение. Если вам нужно быстро напомнить, как работает симметричное шифрование, вот краткий обзор:
Этот пример сообщения был зашифрован с использованием алгоритма симметричного шифрования AES 128. Цель здесь — просто показать вам, как работает симметричная криптография.На этом рисунке выше, двигаясь слева направо, вы увидите, что начинаете с читаемых данных в виде открытого текста.Как только к этим данным применяются алгоритм симметричного шифрования и ключ, они становятся нечитаемым зашифрованным текстом. Чтобы расшифровать это сообщение, чтобы расшифровать его значение, нужно использовать ключ дешифрования. В случае симметричного шифрования ключ дешифрования идентичен ключу, который использовался для шифрования данных. По сути, вы используете один и тот же ключ дважды.
Что на самом деле делают алгоритмы симметричного шифрования?
В двух словах, симметричный алгоритм — это набор инструкций в криптографии, которые используют один ключ для шифрования и расшифровки данных.Эти алгоритмы и ключи шифрования легкие в том смысле, что они предназначены для быстрой обработки больших блоков или потоков данных. (Вот почему алгоритмы симметричного шифрования известны как групповые шифры .)
С другой стороны, алгоритмы и ключи с асимметричным ключом потребляют ресурсы. Клавиши массивные и дорогие в использовании в больших масштабах. Я имею в виду, что они отнимают у вашего процессора много вычислительных ресурсов и времени, заряд батареи и пропускную способность для выполнения.
Помните, как мы описывали симметричные алгоритмы как ключевой компонент вашего варп-двигателя? Продолжим эту аналогию. Итак, если бы вы подумали о том, что такое алгоритмы асимметричного шифрования, они были бы эквивалентом двигателей в двигательной установке. Конечно, в конечном итоге они приведут вас к этому, но они не подходят для быстрого шифрования в больших масштабах.
Однако они отлично подходят для шифрования небольших пакетов данных в общедоступных каналах. Обмен асимметричными ключами (о котором мы вскоре поговорим подробнее) — отличный способ распространения ключей по этим незащищенным общедоступным каналам.
Вот почему люди часто обращаются к симметричному шифрованию для кодирования больших объемов данных.
Что определяет надежность алгоритма симметричного шифрования?
Как вы скоро обнаружите, не все симметричные алгоритмы созданы одинаково. Они различаются по силе — но что именно означает сила в криптографии? Короткий ответ заключается в том, что криптографическая надежность зависит от того, насколько сложно хакеру взломать шифрование, чтобы получить доступ к данным.Более длинный ответ, конечно, может варьироваться в зависимости от типа алгоритма, который вы оцениваете. Но в целом криптографическая стойкость обычно сводится к нескольким ключевым характеристикам:
- Длина, случайность и непредсказуемость симметричного ключа,
- Способность алгоритма противостоять или быть устойчивым к известным атакам и
- Отсутствие лазеек или других преднамеренных уязвимостей.
Симметричное шифрование может быть чем-то вроде уравновешивания, потому что вам нужны алгоритмы и ключи, сложные в вычислительном отношении, но достаточно практичные для использования с приемлемой производительностью.
Алгоритмы симметричного шифрования не могут работать самостоятельно в общедоступных каналах
Хотя алгоритмы симметричного шифрования могут показаться наиболее логичными инструментами для всех типов онлайн-шифрования данных, все не так просто. Подобно всегда логичному Споку и харизматичному капитану Кирку, симметричное шифрование также имеет недостатки, особенно когда оно используется само по себе в общедоступных каналах. Эти недостатки проявляются в виде проблем с распределением ключей и управлением ключами:
- Вам необходимо безопасное соединение для распространения симметричных ключей, и
- Попытка не отставать от всех, у кого есть копия ключа, может быть болезненной, если вы раздали ее большому количеству людей.
При использовании симметричного шифрования, в идеале, вы и человек, с которым вы общаетесь, заранее сортируете свой секретный ключ (до использования его для любого обмена данными). Это означает, что для безопасного обмена симметричным ключом с кем-либо вам необходимо встретиться с ним лично, чтобы передать его ему. Но что, если вы находитесь через всю страну от другой стороны? Или, что еще хуже, что, если вы находитесь на другом конце света от них?
Хотя это не было бы проблемой во вселенной «Звездный путь », где вы могли просто перемещаться из одного места в другое за считанные секунды, это невозможно в нашем мире без транспортеров 21 -го -го века.Здесь люди ежедневно обмениваются информацией с веб-серверами по всему миру. Это означает, что люди не могут встретиться заранее, чтобы раздать или получить ключи. Таким образом, мы должны полагаться на другие средства для безопасного обмена ключами с другими сторонами.
Именно здесь вступают в игру асимметричные алгоритмы или, точнее, протоколы обмена ключами. Обмен асимметричными ключами позволяет обмениваться симметричными ключами по небезопасным общедоступным каналам. Вы можете осознавать или не осознавать, что на самом деле вы используете эту комбинацию симметричных и асимметричных методов шифрования прямо сейчас.
Асимметричные методы делают возможным безопасное симметричное шифрование через Интернет
В качестве примера рассмотрим ваше подключение к нашему веб-сайту. Видите этот значок замка в браузере? Это означает, что вы подключены к защищенному веб-сайту.
Итак, когда вы впервые подключились к TheSSLstore.com, ваш браузер должен был выполнить процесс с нашим сервером, известный как рукопожатие TLS. Это рукопожатие — способ для сервера доказать вашему браузеру, что оно законно и не является самозванцем.(Вы знаете, потому что киберпреступники любят притворяться другими людьми, чтобы обманом заставить людей с ними связаться. В этом они чем-то похожи на ромуланцев — всегда прибегают к уловкам.) Процесс рукопожатия использует асимметричное шифрование и асимметричные процессы обмена ключами. сделать это.
- Процесс асимметричного шифрования проверяет цифровые подписи.
- Процесс обмена асимметричным ключом шифрует предварительный главный секрет, который ваш браузер и веб-сервер будут использовать для создания симметричного сеансового ключа.
Конечно, существует несколько версий рукопожатия — TLS 1.0, TLS 1.2, TLS 1.3 — и существуют определенные различия в том, как они работают. (Например, Инженерная рабочая группа Интернета [IETF] настаивает на строгом использовании шифров с прямой секретностью в TLS 1.3 — но это тема для другого раза.) Просто знайте, что минимально используемым должно быть только рукопожатие TLS 1.2. . По состоянию на октябрь 2020 года Qualys SSL Labs сообщает, что 99% сайтов поддерживают протокол TLS 1.2, а 39,8% — TLS 1.3 протокол.
Мы не будем вдаваться в подробности того, как работает рукопожатие TLS, но знайте, что оно включает использование наборов шифров. Эти группы шифров помогают установить безопасное HTTPS-соединение, определяя, какой из следующих элементов следует использовать:
.- Протокол (TLS)
- Асимметричный алгоритм обмена ключами (например, Диффи-Хеллмана)
- Шифр массового шифрования
- Цифровая подпись
- Хэш-функция (например, SHA2-2)
- Код аутентификации сообщения (MAC) function
Подробнее об этом процессе можно прочитать в этом блоге с пояснениями о том, как работает рукопожатие TLS.Но пока давайте остановимся на теме алгоритмов симметричного шифрования.
Два типа симметричных алгоритмов (шифров)
Во время симметричного шифрования, которое происходит при безопасном подключении к веб-сайту, для этого используется массовый шифр. Существует две подкатегории объемных шифров: блочные шифры и потоковые шифры .
Блочные шифры
В этом типе шифра данные открытого текста разбиваются на группы битов фиксированной длины, известные как блоки (которые обычно соединяются с помощью процесса, известного как цепочка).Затем каждый блок шифруется как единое целое, что немного замедляет этот процесс. И если данных недостаточно для полного заполнения блока, затем используется «заполнение» (обычно согласованное количество нулей), чтобы гарантировать, что блоки соответствуют требованиям фиксированной длины.
Идеальный блочный шифр имеет огромную длину ключа, что нецелесообразно, поэтому многим современным шифрам приходится уменьшать размеры ключей, чтобы их можно было использовать. Но небольшое примечание: в отличие от асимметричного шифрования, размеры ключей симметричного шифрования не определяют размер блоков данных.
Большинство современных алгоритмов симметричного шифрования относятся к лагерю блочных шифров, и эти типы шифров имеют более широкие возможности использования и применения. Итак, мы в основном собираемся сосредоточиться на них здесь. Но если вам интересно, каковы самые популярные или распространенные потоковые шифры, не волнуйтесь, мы вас обеспечим.
Потоковые шифры
Этот тип шифра шифрует данные открытого текста по одному биту за раз. Таким образом, данные обрабатываются потоком, а не порциями, как в блочных шифрах.Это делает процесс менее ресурсоемким и более быстрым.
Сейчас мы не будем вдаваться во все особенности блочных и потоковых шифров — это совсем другая тема. Но хорошая новость заключается в том, что мы уже написали статью, посвященную блочным и потоковым шифрам. Итак, обязательно ознакомьтесь с ним, чтобы более подробно изучить, что они из себя представляют и как они работают.
Хорошо, теперь все становится захватывающим (или более сложным, в зависимости от вашей точки зрения).При шифровании с общим ключом необходимо знать несколько хорошо известных алгоритмов с симметричным ключом. Давайте разберем их все, чтобы понять, что они собой представляют и как они работают.
Список симметричных алгоритмов: 3 наиболее распространенных типа симметричных алгоритмов
Для этого раздела мы составили список симметричных алгоритмов, который поможет нам ориентироваться в наиболее распространенных симметричных шифрах. Мы начнем с одного из самых старых и дойдем до «самого последнего и лучшего» — то есть алгоритма, который мы обычно используем сегодня для современного симметричного шифрования.
1. Стандарт шифрования данных (DES)
Первым в нашем списке стоит стандарт шифрования данных. DES, также известный как DEA (сокращение от алгоритма шифрования данных), является одним из первых алгоритмов симметричного шифрования, который с тех пор устарел. Он основан на шифре Фейстеля (как и многие другие разновидности блочных шифров) и считается одним из первых симметричных алгоритмов, принятых в качестве Федерального стандарта обработки информации (FIPS) в 1976 году.
DES восходит к началу 1970-х годов, когда его первоначальная форма («Люцифер») была разработана криптографом IBM Хорстом Фейстелом.IBM сообщает, что метод шифрования изначально был создан по заказу Lloyds Bank of United Kingdom. Национальное бюро стандартов (теперь известное как Национальный институт стандартов, сокращенно NIST) искало предложения по коммерческому приложению для шифрования, и IBM представила его вариант. Агентство национальной безопасности (АНБ) даже хотело использовать его для защиты своих данных.
Этот тип симметричного шифрования отображает входные данные определенной длины в выходные данные определенной длины.Таким образом, он работает с 64-битными блоками — это означает, что он может одновременно шифровать данные группами до 64 блоков — и имеет размер ключа 56 бит. К ключу также добавлено 8 дополнительных битов четности, которые служат способом проверки ошибок передачи данных. Однако важно отметить, что биты четности — это не то, что вы когда-либо использовали для шифрования.
Этот размер ключа на самом деле очень мал по сегодняшним меркам, что делает его очень уязвимым для атак грубой силы. Кроме того, длина ключа и блока отличается от исходной длины ключа и блока Люцифера, обе из которых были уменьшены со 128 бит.
Чтобы узнать больше о том, как работает шифрование DES и Feistel Networks, посмотрите это замечательное видео от Coursera и Стэнфордского университета.
Документ стандарта шифрования данных (DES) (FIPS PUB 46-3) был официально отозван 19 мая 2005 г. вместе с документами FIPS 74 и FIPS 81. Министр торговли Национального института стандартов и технологий опубликовал следующее в Федеральный реестр:
На смену шифрованию«Эти FIPS отозваны, поскольку FIPS 46-3, DES, больше не обеспечивает безопасность, необходимую для защиты информации федерального правительства.FIPS 74 и 81 — это связанные стандарты, которые обеспечивают реализацию и работу DES».
DES пришел алгоритм тройного шифрования данных (TDEA) для некоторых приложений, хотя и не для всех. Однако в 2000 году DES в первую очередь был заменен в качестве рекомендации расширенным стандартом шифрования, известным как шифрование AES. Это то, что мы чаще всего используем сегодня для симметричного шифрования.
Теперь давайте рассмотрим эти два других типа алгоритмов симметричного шифрования.
2. Алгоритм тройного шифрования данных (TDEA)
Алгоритм тройного шифрования данных, созданный в конце 1990-х годов, немного сложен, так как на самом деле обозначается несколькими сокращениями: TDEA, TDES и 3DES. Но, как вы, наверное, догадались из названия, 3DES основан на концепции DES, но с некоторыми особенностями.
В отличие от своего предшественника, TDEA использует несколько отдельных ключей для шифрования данных — в одном варианте TDEA используются два ключа, а в другом — три ключа (отсюда и слово «тройной» в его названии).Более сильным из двух является тот, который использует три ключа.
Вот иллюстрация того, как работает процесс TDEA с тремя ключами:
Это упрощенное изображение процесса, показывающее, как работает TDEA для шифрования данных в виде обычного текста в неразборчивый зашифрованный текст.Использование нескольких ключей замедляет обработку данных и увеличивает вычислительные затраты, поэтому организации часто пропускали 3DES и сразу переходили к использованию AES.
TDEA работает с приличным 168-битным ключом.Однако, как и DES, 3DES также работает с небольшими 64-битными блоками. Небольшой размер блока сделал его восприимчивым к уязвимости sweet32 (CVE-2016-2183 и CVE-2016-6329) или так называемой атаке дня рождения sweet32. Этот эксплойт использует уязвимость, которая позволяет непреднамеренным сторонам получить доступ к частям данных, зашифрованных с помощью DES/TDEA.
Алгоритм шифрования с симметричным ключом TDEA считается устаревшим с точки зрения его полезности для криптографической защиты в 2023 году. Тем временем NIST SP 800-76 Rev.2 указывается, что 3DES может использоваться федеральными правительственными организациями для защиты конфиденциальных несекретных данных, если они используются «в контексте программы полной безопасности». Такая программа будет включать:
- Надлежащая практика информационной безопасности,
- Надежные процедуры физической безопасности и
- Контроль доступа к компьютерной сети или системе.
3. Расширенный стандарт шифрования (AES)
AES — наиболее распространенный тип алгоритма симметричного шифрования, который мы используем сегодня.Фактически, даже АНБ использует шифрование AES для защиты своих конфиденциальных данных.
AES — это вариант семейства алгоритмов симметричного шифрования Rijndael. В отличие от своих аналогов DES или TDEA, он основан на сети замещения-перестановки. Таким образом, он использует это как основу вместо шифра Фейстеля. Вы найдете расширенный стандарт шифрования, используемый для всего: от шифрования SSL/TLS до безопасности беспроводной сети и процессора. Это быстро, безопасно и заметно не увеличивает ваши накладные расходы на обработку (по крайней мере, когда вы используете правильный ключ).
AES работает с размерами блоков 128 бит, независимо от размера используемого ключа, и выполняет операции шифрования в несколько циклов.
Всего имеется четыре подпроцесса шифрования AES:
- AddRoundKey
- SubBytes
- ShiftRows
- MixColumns
Обходы, которые выполняются с открытыми текстовыми данными, используют замены из таблицы поиска. Итак, один из раундов выглядит примерно так:
Это наглядный пример операции ShiftRows.AES, который стал новым одобренным FIPS стандартом шифрования после замены DES и замены 3DES, имеет максимальный размер ключа до 256 бит. Это примерно в 4,5 раза больше, чем у ключа DES. Любое больше, и это было бы нецелесообразно для крупномасштабных приложений. Теперь размер ключа определяет, сколько раундов операций будет выполнено — например, 128-битный ключ будет иметь 10 раундов, а 256-битный ключ — 14.
Конечно, шифрование AES невероятно сильное. Так что любые попытки взломать AES методом грубой силы с использованием современных компьютерных технологий «бесполезны», как любит говорить определенный коллектив кибернетических личностей.Даже лейтенант-командующий Дейта, вероятно, с трудом справился бы с такими вычислительными затратами. Я говорю это потому, что ожидается, что даже квантовые компьютеры не окажут такого большого влияния на алгоритм симметричного шифрования, как, скажем, на современные методы асимметричного шифрования. (Методы симметричного шифрования потребуют больших ключей для квантовой устойчивости, тогда как методы с открытым ключом больше не будут безопасными — и точка.)
Для более подробного ознакомления с расширенным стандартом шифрования обязательно ознакомьтесь с другой нашей статьей на эту тему.Там вы получите технический взгляд на то, как работает AES.
Конечно, это не единственные три используемых симметричных алгоритма…
Существует множество других типов алгоритмов симметричного шифрования, полезных для различных целей и криптографических функций. Просто чтобы дать вам представление, список некоторых из этих алгоритмов включает:
- Международный алгоритм шифрования данных (IDEA, 64-битный шифр со 128-битным ключом),
- Blowfish (64-битный шифр с ключами до 448 бит),
- Twofish (128-битный шифр с ключами до 256 бит),
- Multiple Rivest Ciphers (включая RC2, RC4, RC5, RC6),
- KASUMI (шифр, использующий 128-битный ключ,
- SALSA20 и
- CHACHA20.
Конечно, есть и другие шифры, но мы не будем приводить их здесь все. Но это, по крайней мере, дает вам несколько примеров того, что происходит в отношении алгоритмов AES.
Где вы найдете симметричные алгоритмы в работе
Алгоритмы симметричного шифрования, используемые сами по себе, лучше всего подходят для шифрования данных в состоянии покоя или в закрытых каналах. Я говорю это потому, что они часто защищают данные в состоянии покоя в различных ситуациях, включая базы данных, онлайн-сервисы и транзакции, связанные с банковскими операциями.(Последнее связано с тем, что этого требуют Стандарты безопасности данных индустрии платежных карт, или сокращенно PCI DSS.)
Однако они полезны не только в этом. О, нет — вы также найдете симметричные алгоритмы, используемые в Интернете. Когда вы используете их в сочетании с асимметричным шифрованием для обмена ключами — например, при подключении к защищенному веб-сайту — тогда симметричное шифрование вступает в игру с такими службами, как:
- Обмен данными веб-сайтов
- Онлайн-сервисы Google G Suite
- Средство резервного копирования веб-сайтов CodeGuard
- Платформа SalesForce
Что мы выяснили в отношении алгоритмов симметричного шифрования (TL;DR)
Не хотелось углубляться во всю техническую чепуху? (Или не хотелось читать мои занудные сравнения алгоритмов симметричного шифрования из «Звездного пути»?) Не беспокойтесь.Вот несколько основных выводов из этой статьи об алгоритмах с симметричным ключом:
- Алгоритмы шифрования в основном представляют собой пошаговые инструкции по выполнению криптографических функций (таких как шифрование, дешифрование, хэширование и т. д.). Алгоритмы бывают асимметричными и симметричными. В первом один ключ шифрует данные, а другой расшифровывает данные. В последнем один ключ выполняет как функции шифрования, так и функции дешифрования.
- Симметричные алгоритмы — это эффективные процессы, предназначенные для шифрования данных в безопасных закрытых каналах.
- Процесс, известный как рукопожатие TLS, позволяет вам использовать форму симметричного шифрования в общедоступных каналах.
- Существует много различных типов алгоритмов симметричного ключа, которые использовались в последние годы. Три из наиболее распространенных включают DES, TDEA/3DES и AES.
Обязательно следите за обновлениями нашей следующей главы в этой серии блогов о симметричном шифровании в ближайшие недели. И до следующего раза… живите долго и правильно.
Симметричное и асимметричное шифрование— в чем разница?
Давайте разберемся в ключевых различиях между симметричным и асимметричным шифрованием.Проще говоря, асимметричное шифрование более безопасно, чем симметричное шифрование.
Информационная безопасность стала колоссальным фактором, особенно в современных коммуникационных сетях, оставляя лазейки, которые можно использовать для разрушительных последствий. В этой статье представлено обсуждение двух популярных схем шифрования, которые можно использовать для повышения безопасности связи в симметричном и асимметричном шифровании. В принципе, лучший способ начать это обсуждение — начать сначала с основ.Таким образом, мы рассмотрим определения алгоритмов и ключевых криптографических понятий, а затем погрузимся в основную часть обсуждения, где мы представляем сравнение двух методов.
Алгоритмы
Алгоритм — это в основном процедура или формула для решения задачи отслеживания данных. Алгоритм шифрования представляет собой набор математических процедур для выполнения шифрования данных. Благодаря использованию такого алгоритма информация оформляется в виде зашифрованного текста и требует использования ключа для преобразования данных в первоначальный вид.Это подводит нас к концепции криптографии, которая уже давно используется в информационной безопасности в системах связи.
Криптография
Криптография — это метод использования передовых математических принципов для хранения и передачи данных в определенной форме, так что только те, кому он предназначен, могут читать и обрабатывать их. Шифрование является ключевым понятием в криптографии. Это процесс, при котором сообщение кодируется в формате, который не может быть прочитан или понят злоумышленником.Этот метод устарел и впервые был использован Цезарем для шифрования своих сообщений с помощью шифра Цезаря. Простой текст от пользователя может быть зашифрован в зашифрованный текст, а затем отправлен по каналу связи, и ни один перехватчик не сможет помешать открытому тексту. Когда он достигает получателя, зашифрованный текст расшифровывается до исходного открытого текста.
Криптографические термины
- Шифрование : Это процесс блокировки информации с помощью криптографии. Информация, которая была заблокирована таким образом, зашифрована.
- Расшифровка : Процесс разблокировки зашифрованной информации с использованием криптографических методов.
- Ключ : Секрет, подобный паролю, используемый для шифрования и расшифровки информации. В криптографии используется несколько различных типов ключей.
- Стеганография : На самом деле это наука о сокрытии информации от людей, которые могут шпионить за вами. Разница между стеганографией и шифрованием заключается в том, что потенциальные шпионы могут быть не в состоянии определить наличие какой-либо скрытой информации.
Что такое симметричное шифрование?
Это самый простой вид шифрования, который использует только один секретный ключ для шифрования и расшифровки информации. Симметричное шифрование — старый и наиболее известный метод. Он использует секретный ключ, который может быть числом, словом или строкой случайных букв. Он смешивается с простым текстом сообщения для изменения содержимого определенным образом. Отправитель и получатель должны знать секретный ключ, который используется для шифрования и расшифровки всех сообщений.Blowfish, AES, RC4, DES, RC5 и RC6 являются примерами симметричного шифрования. Наиболее широко используются симметричные алгоритмы AES-128, AES-192 и AES-256.
Основным недостатком шифрования с симметричным ключом является то, что все вовлеченные стороны должны обменяться ключом, используемым для шифрования данных, прежде чем они смогут их расшифровать.
Что такое асимметричное шифрование?
Асимметричное шифрование, также известное как криптография с открытым ключом, является относительно новым методом по сравнению с симметричным шифрованием.Асимметричное шифрование использует два ключа для шифрования обычного текста. Обмен секретными ключами осуществляется через Интернет или большую сеть. Это гарантирует, что злоумышленники не злоупотребят ключами. Важно отметить, что любой, у кого есть секретный ключ, может расшифровать сообщение, поэтому асимметричное шифрование использует два связанных ключа для повышения безопасности. Открытый ключ находится в свободном доступе для всех, кто может захотеть отправить вам сообщение. Второй закрытый ключ держится в секрете, так что вы можете только знать.
Сообщение, зашифрованное с помощью открытого ключа, можно расшифровать только с помощью закрытого ключа, а сообщение, зашифрованное с помощью закрытого ключа, можно расшифровать с помощью открытого ключа.Безопасность открытого ключа не требуется, поскольку он общедоступен и может быть передан через Интернет. Асимметричный ключ обладает гораздо большей силой в обеспечении безопасности информации, передаваемой во время связи.
Асимметричное шифрование в основном используется в повседневных каналах связи, особенно в Интернете. Популярный алгоритм шифрования с асимметричным ключом включает EIGamal, RSA, DSA, методы эллиптических кривых, PKCS.
Асимметричное шифрование в цифровых сертификатах
Чтобы использовать асимметричное шифрование, должен существовать способ обнаружения открытых ключей.Одним из типичных методов является использование цифровых сертификатов в модели связи клиент-сервер. Сертификат — это пакет информации, идентифицирующий пользователя и сервер. Он содержит такую информацию, как название организации, организация, выпустившая сертификат, адрес электронной почты и страна пользователя, а также открытый ключ пользователя.
Когда серверу и клиенту требуется безопасная зашифрованная связь, они отправляют запрос по сети другой стороне, которая возвращает копию сертификата.Открытый ключ другой стороны может быть извлечен из сертификата. Сертификат также может использоваться для однозначной идентификации владельца.
SSL/TLS использует как асимметричное, так и симметричное шифрование, быстро просмотрите SSL-сертификаты с цифровой подписью, выпущенные доверенными центрами сертификации (ЦС).
Разница между симметричным и асимметричным шифрованием
- В симметричном шифровании используется один ключ, которым должны делиться люди, которым необходимо получить сообщение, в то время как в асимметричном шифровании используется пара открытого ключа и закрытого ключа для шифрования и расшифровки сообщений при общении.
- Симметричное шифрование — старый метод, а асимметричное шифрование — относительно новый.
- Асимметричное шифрование было введено, чтобы решить внутреннюю проблему необходимости совместного использования ключа в модели симметричного шифрования, устраняя необходимость совместного использования ключа с помощью пары открытых и закрытых ключей.
- Асимметричное шифрование занимает относительно больше времени, чем симметричное шифрование.
Ключевые отличия | Симметричное шифрование | Асимметричное шифрование |
Размер зашифрованного текста | Меньший зашифрованный текст по сравнению с исходным текстовым файлом. | Зашифрованный текст большего размера по сравнению с исходным текстовым файлом. |
Объем данных | Используется для передачи больших данных. | Используется для передачи небольших данных. |
Использование ресурсов | Шифрование с симметричным ключом работает при низком использовании ресурсов. | Асимметричное шифрование требует большого потребления ресурсов. |
Длины ключей | Размер ключа 128 или 256 бит. | Размер ключа RSA 2048 бит или выше. |
Безопасность | Менее защищены из-за использования одного ключа для шифрования. | Гораздо безопаснее, так как в шифровании и дешифровании участвуют два ключа. |
Количество ключей | Симметричное шифрование использует один ключ для шифрования и дешифрования. | Асимметричное шифрование использует два ключа для шифрования и дешифрования |
Техника | Это старая техника. | Это современный метод шифрования. |
Конфиденциальность | Один ключ для шифрования и дешифрования может быть скомпрометирован. | Два отдельных ключа для шифрования и дешифрования, что устраняет необходимость в совместном использовании ключа. |
Скорость | Симметричное шифрование — быстрый метод | Асимметричное шифрование медленнее с точки зрения скорости. |
Алгоритмы | RC4, AES, DES, 3DES и QUAD. | RSA, алгоритмы Диффи-Хеллмана, ECC. |
Заключение
Когда речь идет о шифровании, самые последние схемы обязательно подходят лучше всего. Всегда следует использовать тот алгоритм шифрования, который подходит для поставленной задачи. На самом деле, по мере того, как в криптографии происходит новый сдвиг, разрабатываются новые алгоритмы, чтобы догнать злоумышленников и защитить информацию для повышения конфиденциальности. В ближайшие годы хакеры обязательно создадут трудности для экспертов, поэтому ожидайте большего от криптографического сообщества!
Симметричный vs.Асимметричное шифрование: в чем разница?
Рисунок. В этом сообщении блога мы обсуждаем различия между симметричным шифрованием, методом шифрования с одним ключом и асимметричным шифрованием, также известным как криптография с открытым ключом, в котором используются пары ключей шифрования с закрытым и открытым ключами.
Передавать ключ или не передавать ключ. Вот в чем вопрос.
В настоящее время используются две основные формы шифрования данных: симметричное шифрование и асимметричное шифрование.Каждый день, когда вы используете свой веб-браузер, отвечаете на электронные письма, отправляете формы веб-сайта и выполняете другие действия, происходят процессы симметричного и асимметричного шифрования, иногда без вашего ведома. Вы также можете быть знакомы с симметричным и асимметричным шифрованием, потому что у вас есть опыт работы с OpenSSL, службами управления ключами или, возможно, вы уже отправляли зашифрованное электронное письмо или зашифровывали файл Microsoft Word или Adobe PDF с помощью пароля.
Важно понимать разницу между симметричным и асимметричным шифрованием и то, как эти процессы работают в повседневной безопасной передаче сообщений.Вы узнаете, что означают эти термины, когда увидите их, а также узнаете, как они работают, их различные итерации, узнаете об их возможностях и узнаете, что более целесообразно реализовать в отношении защиты и аутентификации источника. конфиденциальной информации.
В этом сообщении блога мы обсудим различия между симметричным и асимметричным шифрованием. В конце мы суммируем эти различия и обсудим соответствующие варианты шифрования для защиты ваших конфиденциальных данных.
Графика: симметричное шифрование использует один ключ для шифрования и расшифровки информации.
Что такое симметричное шифрование?Симметричное шифрование — это широко используемый метод шифрования данных, при котором данные шифруются и расшифровываются с использованием одного секретного криптографического ключа.
В частности, ключ используется для шифрования открытого текста — состояния данных до шифрования или после расшифровки — и расшифровки зашифрованного текста — состояния данных после шифрования или до расшифровки.
Симметричное шифрование является одним из наиболее широко используемых методов шифрования, а также одним из старейших, восходящим к временам Римской империи. Шифр Цезаря, названный в честь не кого иного, как Юлия Цезаря, который использовал его для шифрования своей военной переписки, является известным историческим примером симметричного шифрования в действии.
Целью симметричного шифрования является защита конфиденциальной, секретной или секретной информации. Он ежедневно используется во многих крупных отраслях, включая оборонную, аэрокосмическую, банковскую, здравоохранение и другие отрасли, в которых защита конфиденциальных данных человека, бизнеса или организации имеет первостепенное значение.
Графика: Это иллюстрация процесса симметричного шифрования.
Как работает симметричное шифрование?Симметричное шифрование работает с использованием потокового или блочного шифра для шифрования и расшифровки данных. Потоковое шифрование преобразует открытый текст в зашифрованный текст по одному байту за раз, а блочное шифрование преобразует целые единицы или блоки открытого текста с использованием предварительно определенной длины ключа, например 128, 192 или 256 бит.
Отправители и получатели, использующие симметричное шифрование для передачи данных друг другу, должны знать секретный ключ, чтобы, в случае отправителей, зашифровать данные, которыми они намерены поделиться с получателями, а в случае получателей расшифровать и прочитать зашифрованные данные. отправители делятся с ними, а также шифруют любые необходимые ответы.
Вот упрощенный пример симметричного шифрования: если Клэр, отправитель, хочет отправить Жаклин, получателю, конфиденциальный документ, Клэр использует секретный ключ, чтобы зашифровать файл и отправить его Жаклин, которая не сможет прочитать его. содержимое, пока не введет тот же ключ, который Клэр только что использовала для шифрования файла. И наоборот, если Жаклин вносит изменения в документ и хочет поделиться ими с Клэр, она воспользуется тем же ключом для повторного шифрования файла и отправит его обратно Клэр, которая будет использовать тот же ключ для расшифровки файла и доступа к его содержимое, и процесс повторяется.
Обратите внимание, что это всего лишь пример, используемый для упрощения работы симметричного шифрования. Симметричное шифрование может выполняться вручную или автоматически.
Однако симметричное шифрованиене ограничивается обменом данными между одним отправителем и одним получателем. Доступ к симметрично зашифрованной информации может получить любой — Клэр, Жаклин, их коллега Фрэнк, их босс Дженнифер и другие. – кто знает секретный ключ. В этом заключается причина, по которой сокрытие общего криптографического ключа от неавторизованных сторон жизненно важно для успеха симметричного шифрования и целостности симметрично зашифрованных данных.
Графика: примеры симметричного шифрования включают Advanced Encryption Standard (AES) и протокол TLS/SSL.
Какие есть примеры симметричного шифрования?Популярные примеры симметричного шифрования включают:
- Стандарт шифрования данных (DES)
- Тройной стандарт шифрования данных (Triple DES)
- Расширенный стандарт шифрования (AES)
- Международный алгоритм шифрования данных (IDEA)
- Протокол TLS/SSL
Шифрование AES, в котором для шифрования и дешифрования данных используются блочные шифры на 128, 192 или 256 бит, является одним из наиболее известных и эффективных методов симметричного шифрования, используемых сегодня.На взлом потребуются миллиарды лет, и именно поэтому он используется для защиты конфиденциальной, секретной или секретной информации в правительстве, здравоохранении, банковском деле и других отраслях. Он более безопасен, чем DES, Triple DES и IDEA.
ШифрованиеDES в настоящее время рассматривается Национальным институтом стандартов и технологий (NIST) как устаревший алгоритм симметричного шифрования, поскольку он уже давно неэффективен для защиты конфиденциальной информации от атак грубой силы. Фактически, NIST полностью отозвал стандарт, и его более безопасный старший брат, шифрование Triple DES, постигнет та же участь.Несмотря на то, что шифрование Triple DES все еще используется сегодня, оно будет отозвано и запрещено NIST в 2023 году из-за растущих проблем с безопасностью.
ШифрованиеIDEA было разработано в качестве замены DES в 1990-х годах, но в конечном итоге AES был признан более безопасным. В настоящее время IDEA является открытым и бесплатным алгоритмом блочного шифрования, поэтому любой может его использовать, но обычно он считается устаревшим и неэффективным для защиты конфиденциальной и сверхсекретной информации. Шифрование AES является золотым стандартом для обеих целей.
Transport Layer Security (TLS), как и его предшественник, Secure Sockets Layer (SSL), использует симметричное шифрование. По сути, когда клиент обращается к серверу, генерируются уникальные симметричные ключи, называемые сеансовыми ключами. Эти ключи сеанса используются для шифрования и дешифрования данных, которыми обмениваются клиент и сервер в этом конкретном сеансе клиент-сервер в этот конкретный момент времени. Новый сеанс клиент-сервер будет генерировать новые уникальные ключи сеанса.
TLS/SSL использует не только симметричное шифрование, но и симметричное, и асимметричное шифрование, чтобы обеспечить безопасность сеансов клиент-сервер и информации, которой они обмениваются.
Графика: преимущества симметричного шифрования включают в себя безопасность, скорость, а также внедрение и признание в отрасли.
Каковы некоторые преимущества симметричного шифрования? Симметричное шифрованиеиспользуется сегодня, потому что оно позволяет быстро шифровать и расшифровывать большие объемы данных и его легко реализовать. Он прост в использовании, а его версия AES является одной из самых безопасных доступных форм шифрования данных.
Симметричное шифрование имеет ряд преимуществ по сравнению с асимметричным аналогом, но об асимметричном шифровании мы поговорим в этом блоге чуть позже.
Некоторые преимущества симметричного шифрования включают:
- Безопасность : для взлома алгоритмов симметричного шифрования, таких как AES, требуются миллиарды лет с использованием атак грубой силы.
- Скорость : симметричное шифрование из-за меньшей длины ключа и относительной простоты по сравнению с асимметричным шифрованием выполняется намного быстрее.
- Внедрение и признание в отрасли : Алгоритмы симметричного шифрования, такие как AES, стали золотым стандартом шифрования данных из-за их преимуществ в безопасности и скорости и, как таковые, десятилетиями применялись и признавались в отрасли.
Рисунок: К недостаткам симметричного шифрования относится необходимость обеспечения безопасности механизмов распределения ключей.
Каковы недостатки симметричного шифрования?Безусловно, самым большим недостатком симметричного шифрования является использование единого секретного криптографического ключа для шифрования и дешифрования информации.
Почему?
Что ж, если этот секретный ключ хранится в небезопасном месте на компьютере, хакеры могут получить к нему доступ с помощью программных атак, что позволит им расшифровать зашифрованные данные и тем самым свести на нет всю цель симметричного шифрования.
Кроме того, если одна сторона или объект шифрует в одном месте, а другая сторона или объект расшифровывает в другом, ключ необходимо будет передать, что делает его уязвимым для перехвата в случае компрометации канала передачи.
Вот почему так важно обеспечить безопасность ключа шифрования при хранении и передаче. В противном случае вы просто запрашиваете список независимых и спонсируемых государством кибератак для доступа к вашим критически важным данным, критически важным для безопасности или защищенным законом данным.
Единственным другим недостатком использования симметричного шифрования является его эффективность с точки зрения безопасности по сравнению с асимметричным шифрованием, которое обычно считается более безопасным, но и более медленным в исполнении, чем симметричное шифрование.
Но является ли асимметричное шифрование более безопасным, чем симметричное шифрование? Давайте разберемся.
Графика: асимметричное шифрование использует пары открытого и закрытого ключей для шифрования и расшифровки конфиденциальной информации.
Что такое асимметричное шифрование?В отличие от симметричного шифрования, в котором используется один и тот же секретный ключ для шифрования и расшифровки конфиденциальной информации, асимметричное шифрование, также известное как криптография с открытым ключом или шифрование с открытым ключом, использует математически связанные пары открытого и закрытого ключей для шифрования и расшифровки данных отправителей. и конфиденциальные данные получателей.
Как и при симметричном шифровании, открытый текст по-прежнему преобразуется в зашифрованный текст и наоборот при шифровании и дешифровании соответственно. Основное отличие состоит в том, что для асимметричного шифрования данных используются две уникальные пары ключей.
Рисунок: Это иллюстрация процесса асимметричного шифрования.
Как работает асимметричное шифрование?Вот упрощенный пример асимметричного шифрования: если Клэр, отправитель, и Жаклин, получатель, хотят постоянно обмениваться конфиденциальным файлом друг с другом, Клэр и Жаклин передадут друг другу свои уникальные и соответствующие открытые ключи.Затем Клэр использует открытый ключ Жаклин для шифрования файла, поскольку он предназначен только для Жаклин, и отправит файл Жаклин. Получив файл, Жаклин будет использовать свой закрытый ключ — ключевое слово «частный», означающее, что его не знает никто, кроме Жаклин, — чтобы расшифровать файл и получить доступ к его содержимому. Никто, кроме Жаклин, даже Клэр, не может расшифровать этот файл, потому что никто, кроме Жаклин, не знает закрытый ключ Жаклин. Тот же процесс применяется, когда Жаклин хочет отправить файл обратно Клэр.Жаклин связывает его с открытым ключом Клэр, а Клэр использует свой закрытый ключ для расшифровки файла.
Обратите внимание, что это упрощение асимметричного шифрования. Подобно симметричному шифрованию, асимметричное шифрование может выполняться вручную или автоматически.
Теперь вы понимаете, почему асимметричное шифрование может считаться более безопасным, чем симметричное шифрование? Хотя это интересный вопрос, на самом деле это неправильный вопрос, потому что с технической точки зрения, является ли симметричное или асимметричное шифрование более безопасным, во многом зависит от размера ключа и безопасности носителя, который хранит или передает криптографические ключи.
Одной из причин, по которой асимметричное шифрование часто считается более безопасным, чем симметричное шифрование, является то, что асимметричное шифрование, в отличие от своего аналога, не требует обмена одним и тем же ключом шифрования-дешифрования между двумя или более сторонами. Да, открытые ключи обмениваются, но пользователи, совместно использующие данные в асимметричной криптосистеме, имеют уникальные пары открытых и закрытых ключей, а их открытые ключи, поскольку они используются только для шифрования, не представляют риска несанкционированного дешифрования хакерами, если они станут известны. потому что хакеры, предполагая, что закрытые ключи хранятся в секрете, не знают закрытых ключей пользователей и, следовательно, не могут расшифровать зашифрованные данные.
В отличие от симметричного шифрования, асимметричное шифрование также позволяет использовать цифровую подпись. По сути, это включает использование закрытых ключей для цифровой подписи сообщений или файлов, а их соответствующие открытые ключи используются для подтверждения того, что эти сообщения исходят от правильного проверенного отправителя.
Графика: примеры асимметричного шифрования включают Rivest Shamir Adleman (RSA) и алгоритм цифровой подписи (DSA).
Какие есть примеры асимметричного шифрования?Примеры асимметричного шифрования:
- Ривест Шамир Адлеман (ЮАР)
- Стандарт цифровой подписи (DSS), который включает алгоритм цифровой подписи (DSA) .
- Криптография на эллиптических кривых (ECC)
- метод обмена Диффи-Хеллмана
- Протокол TLS/SSL
RSA, опубликованный в 1977 году, является одним из старейших примеров асимметричного шифрования.Разработанное Роном Ривестом, Ади Шамиром и Леонардом Адлеманом, шифрование RSA генерирует открытый ключ путем перемножения двух больших случайных простых чисел и, используя эти же простые числа, генерирует закрытый ключ. Оттуда происходит стандартное асимметричное шифрование: информация шифруется с помощью открытого ключа и расшифровывается с помощью закрытого ключа.
DSS, который включает алгоритм цифровой подписи (DSA), является прекрасным примером асимметричной аутентификации цифровой подписи.Закрытый ключ отправителя используется для цифровой подписи сообщения или файла, а получатель использует соответствующий открытый ключ отправителя, чтобы подтвердить, что подпись исходит от правильного отправителя, а не из подозрительного или неавторизованного источника.
ECC — это альтернатива RSA, в которой используются ключи меньшего размера и математические эллиптические кривые для выполнения асимметричного шифрования. Он часто используется для цифровой подписи криптовалютных транзакций; на самом деле, популярная криптовалюта Биткойн использует ECC — алгоритм цифровой подписи на эллиптических кривых (ECDSA), а точнее — для цифровой подписи транзакций и обеспечения того, чтобы средства тратились только авторизованными пользователями.ECC намного быстрее, чем RSA, с точки зрения генерации ключей и подписей, и многие считают его будущим асимметричного шифрования, в основном для веб-трафика и криптовалюты, но также и для других приложений.
Диффи-Хеллман, один из величайших прорывов в криптографии, представляет собой метод обмена ключами, который две стороны, которые никогда не встречались, могут использовать для обмена парами открытого и закрытого ключей по общедоступным, небезопасным каналам связи. До Диффи-Хеллмана две стороны, стремящиеся зашифровать свои сообщения друг с другом, должны были предварительно физически обменяться ключами шифрования, чтобы обе стороны могли расшифровать зашифрованные сообщения друг друга.Диффи-Хеллман сделал так, чтобы этими ключами можно было безопасно обмениваться по общедоступным каналам связи, где третьи стороны обычно извлекают конфиденциальную информацию и ключи шифрования.
TLS/SSL использует асимметричное шифрование для установления безопасного сеанса клиент-сервер, в то время как клиент и сервер генерируют симметричные ключи шифрования. Это известно как рукопожатие TLS. После завершения рукопожатия TLS сеансовые ключи клиент-сервер используются для шифрования информации, которой обмениваются в этом сеансе.
Графика: преимущества асимметричного шифрования включают аутентификацию цифровой подписи и повышенную безопасность благодаря конфиденциальности ключей дешифрования.
Каковы некоторые преимущества асимметричного шифрования?К преимуществам использования асимметричного шифрования относятся:
- Распространение ключей не требуется : защита каналов распространения ключей уже давно является головной болью в криптографии. Асимметричное шифрование полностью исключает распределение ключей . Обмен необходимыми открытыми ключами осуществляется через серверы открытых ключей, и раскрытие открытых ключей в настоящее время не наносит ущерба безопасности зашифрованных сообщений, поскольку их нельзя использовать для получения закрытых ключей.
- Обмен закрытыми ключами не требуется : при асимметричном шифровании закрытые ключи должны храниться в безопасном месте и, следовательно, быть закрытыми для использующих их объектов. По сути, ключи, необходимые для расшифровки конфиденциальной информации, никогда и никогда не должны передаваться по потенциально скомпрометированному каналу связи, и это большой плюс для безопасности и целостности зашифрованных сообщений.
- Цифровая подпись/аутентификация сообщения : с асимметричным шифрованием отправители могут использовать свои закрытые ключи для цифровой подписи и проверки того, что сообщение или файл исходит от них, а не от ненадежной третьей стороны.
Может показаться, что с асимметричным шифрованием все в порядке. Я имею в виду, почему вы вообще выбрали симметричное шифрование, если асимметричное шифрование настолько безопасно?
Одно слово: скорость.
Графика: к недостаткам асимметричного шифрования относится медлительность выполнения по сравнению с симметричным шифрованием.
Каковы недостатки асимметричного шифрования?Основным недостатком асимметричного шифрования является то, что оно медленнее симметричного шифрования из-за большей длины ключа, не говоря уже о том, что вычисления асимметричного шифрования, как правило, намного сложнее, чем их симметричные аналоги.
Почему? Потому что теоретически открытые ключи можно использовать для взлома закрытых ключей — опять же, они математически связаны, — но асимметричное шифрование использует чрезвычайно длинные ключи, что делает это практически невозможным, по крайней мере, на данный момент.
Короче говоря, симметричное шифрование быстрее, чем асимметричное шифрование. Асимметричное шифрование жертвует скоростью ради безопасности, а симметричное шифрование жертвует безопасностью ради скорости.
Это не означает, что симметричное шифрование небезопасно; однако сама основа асимметричного шифрования устраняет несколько рисков информационной безопасности, которые все еще существуют в плохо управляемых криптосистемах с симметричным шифрованием.
Графика: Подытожим «ключевые» различия между симметричным и асимметричным шифрованием.
Заключение: сводка основных отличийОсновные различия между симметричным и асимметричным шифрованием заключаются в предпочтениях скорости и безопасности. Вообще говоря, симметричное шифрование быстрее и проще, но часто рассматривается как менее безопасное, чем асимметричное шифрование. Но, как мы уже говорили, шифрование на самом деле сводится к двум вещам: размеру ключа и безопасности носителя, на котором хранятся ключи шифрования.
Симметричное шифрование выполняется намного быстрее из-за меньшей длины ключа.Асимметричное шифрование имеет тенденцию тормозить сети из-за более длинных ключей и сложных алгоритмов. Это компромиссы, которые стоит учитывать при выборе типа шифрования.
В Trenton Systems мы предлагаем решения для шифрования данных на наших высокопроизводительных серверах и рабочих станциях в виде дисков с самошифрованием (SED), совместимых с AES, Opal и FIPS-140-2.
Объедините это с платформой управления криптографией (CMP) нашего технологического партнера FUTURA Cyber, и вы создадите безопасный, хорошо управляемый компьютер, способный противостоять распространенным атакам на ваши конфиденциальные данные.
Для получения дополнительной информации о том, как мы обеспечиваем целостность ваших данных с помощью шифрования данных, свяжитесь с нами сегодня.
Типы алгоритмов симметричного шифрования | Малый бизнес
Алгоритмы шифрования компьютерных данных бывают двух основных разновидностей: симметричные и асимметричные. Каждый тип шифрования имеет присущие ему сильные и слабые стороны. Симметричные алгоритмы преобразуют простые текстовые данные в нечитаемый зашифрованный текст с помощью одного ключа или пароля; они расшифровывают зашифрованный текст, используя один и тот же ключ.Эти алгоритмы относительно просты и быстры, но если третьи лица перехватят ключ, они смогут расшифровать сообщения. Потребность в надежной электронной коммерции и безопасности компьютерных файлов побудила исследователей разработать несколько типов алгоритмов шифрования.
DES и тройной DES
Стандарт тройного шифрования данных, или алгоритм тройного DES, разработан на основе исходного алгоритма DES, введенного в качестве стандарта в 1976 году (ссылка 2, стр. 3). DES использует 56 бит 64-битного ключа для шифрования сообщений в блоках данных фиксированного размера.Хотя в 1970-х годах он считался безопасным, прогресс в скорости вычислений привел к изощренным атакам, взламывающим шифрование DES в конце 1990-х (ссылка 2, стр. 6). Поскольку исследователи обнаружили уязвимость DES, разработчики программного обеспечения вместо этого используют более новый стандарт, Triple DES. Новый стандарт повышает надежность алгоритма за счет использования двух или трех 64-битных ключей и трехкратного шифрования каждого сообщения. Результаты каждого прохода используются в качестве исходных данных для следующего.
RC2
Рон Ривест разработал алгоритм RC2 в конце 1980-х как замену DES.RC2 шифрует данные 64-битными блоками и имеет переменный размер ключа от 8 до 128 бит с шагом 8 бит. Lotus Development обратилась к Rivest за помощью в создании RC2 для программного обеспечения Lotus Notes компании. Поскольку большая часть силы алгоритма шифрования заключается в длине его ключей, исследователи теперь считают, что RC2 слишком легко скомпрометировать (ссылка 3).
Blowfish и Twofish
Исследователь безопасности Брюс Шнайер разработал симметричный алгоритм Blowfish в начале 1990-х годов (ссылка 3).Как и в RC2, Blowfish разбивает сообщения на 64-битные блоки одинакового размера и шифрует блоки. Размеры ключей варьируются от 32 до 448 бит. Шнайер выпустил Blowfish как общедоступный алгоритм, доступный для всех, кто хочет зашифровать данные. Стремясь улучшить Blowfish, он позже разработал Twofish, который использует 128-битные блоки и ключи длиной до 256 бит. Twofish — один из самых быстрых алгоритмов с фиксированными блоками, доступных в настоящее время, и, хотя он имеет теоретические уязвимости, никто еще не взломал его.
Serpent
Исследователи из Кембриджа Росс Андерсон, Эли Бихам и Ларс Кнудсен разработали алгоритм Serpent в 2000 году (ссылка 4). Исследователи полагали, что у других алгоритмов есть теоретические недостатки, которые делают их шифрование уязвимым для коротких атак. Они стремились разработать алгоритм шифрования, максимально свободный от этих недостатков. Змей был результатом их усилий; он использует 128-битный блок и 256-битные ключи (ссылка 5). Как и в случае с Blowfish и Twofish, алгоритм Serpent находится в открытом доступе.Исследователи дали Serpent очень высокие баллы за «фактор безопасности» или надежность против атак.
типов шифрования: 5 алгоритмов шифрования и как выбрать правильный
Мы разберем два основных типа шифрования — симметричное и асимметричное — прежде чем углубиться в список 5 наиболее часто используемых алгоритмов шифрования, чтобы упростить их, как никогда раньше. одна из тех тем кибербезопасности, которые всегда в заголовках.Любой, кто хорошо разбирается в различных типах шифрования, может почувствовать, что эта замечательная технология, лежащая в основе безопасности и конфиденциальности в Интернете, несправедлива по отношению к этой замечательной технологии. Шифрование — это метод преобразования данных в не поддающийся расшифровке формат, чтобы только авторизованные стороны могли получить доступ к информации.
Криптографические ключи в сочетании с алгоритмами шифрования делают возможным процесс шифрования. И, в зависимости от способа применения этих ключей, в основном используются два типа методов шифрования: «симметричное шифрование» и «асимметричное шифрование».Оба эти метода используют разные математические алгоритмы (т. е. те алгоритмы шифрования, о которых мы упоминали несколько минут назад) для шифрования данных. Этот список распространенных алгоритмов шифрования включает RSA, ECC, 3DES, AES и т. д.
В этой статье мы узнаем о симметричном и асимметричном шифровании и их преобладающих алгоритмах шифрования, которые используются для шифрования данных.
Давайте обсудим это.
Тип шифрования №1: симметричное шифрование
Метод симметричного шифрования, как следует из названия, использует один криптографический ключ для шифрования и дешифрования данных.Использование одного ключа для обеих операций делает этот процесс простым, поэтому он называется «симметричным». Вот наглядное представление того, как работает симметричное шифрование:
Давайте разберемся с процессом симметричного шифрования на простом примере:
В Нью-Йорке живут два очень близких друга по имени Боб и Алиса. По какой-то причине Алисе приходится уехать из города. Единственный способ, которым они могут общаться друг с другом, — это почта. Но есть одна проблема: Боб и Алиса боятся, что кто-то может прочитать их письма.
Чтобы защитить свои письма от чужих глаз, они решают написать свое сообщение таким образом, чтобы каждая буква сообщения была заменена буквой на семь позиций ниже по алфавиту. Таким образом, вместо «Apple» они писали «hwwsl» (A -> H, P -> W, L -> S, E -> L). Чтобы вернуть данные в исходную форму, им пришлось бы заменить букву на семь позиций вверх по алфавиту.
Конечно, это может показаться вам слишком простым — и это так. Это потому, что эту технику много веков назад использовал Юлий Цезарь, римский император и военачальник.Этот метод, известный как «шифр Цезаря», основан на замене алфавита.
Современные методы шифрования не так просты. Широко используемые алгоритмы шифрования настолько сложны, что даже совокупная вычислительная мощность многих суперкомпьютеров не может их взломать. И именно поэтому мы можем расслабиться и отправить информацию о нашей кредитной карте без каких-либо забот.
Что делает симметричное шифрование отличным методом
Наиболее выдающейся особенностью симметричного шифрования является простота его процесса.Эта простота этого типа шифрования заключается в использовании одного ключа как для шифрования, так и для дешифрования. В результате алгоритмы симметричного шифрования:
- значительно быстрее, чем их аналоги с асимметричным шифрованием (о которых мы вскоре поговорим),
- требуют меньше вычислительной мощности и
- не снижают скорость интернета.
Это означает, что при шифровании больших объемов данных симметричное шифрование оказывается отличным вариантом.
3 распространенных типа алгоритмов симметричного шифрования
Как мы видели в случае с шифром Цезаря, за каждым методом шифрования, который шифрует данные, стоит определенная логика. Используемые сегодня методы шифрования основаны на очень сложных математических функциях, которые делают практически невозможным их взлом.
Вы можете осознавать или не осознавать, что существуют сотни алгоритмов симметричного ключа! Некоторые из наиболее распространенных методов шифрования включают AES, RC4, DES, 3DES, RC5, RC6 и т. д.Из этих алгоритмов наиболее известны алгоритмы DES и AES. Хотя мы не можем охватить все различные типы алгоритмов шифрования, давайте рассмотрим три наиболее распространенных.
1. Алгоритм симметричного шифрования DES
Введенный в 1976 году, DES (стандарт шифрования данных) является одним из старейших методов симметричного шифрования. Он был разработан IBM для защиты конфиденциальных, несекретных электронных правительственных данных и был официально принят в 1977 году для использования федеральными агентствами.DES использует 56-битный ключ шифрования и основан на структуре Фейстеля, разработанной криптографом по имени Хорст Фейстель. Алгоритм шифрования DES был среди тех, которые были включены в TLS (безопасность транспортного уровня) версий 1.0 и 1.1.
DES преобразует 64-битные блоки данных открытого текста в зашифрованный текст, разделяя блок на два отдельных 32-битных блока и независимо применяя процесс шифрования к каждому из них. Это включает в себя 16 раундов различных процессов, таких как расширение, перестановка, замена или операция XOR с круглым ключом, через которые будут проходить данные по мере их шифрования.В конечном итоге на выходе создаются 64-битные блоки зашифрованного текста.
Сегодня DES больше не используется, так как многие исследователи безопасности взломали его. В 2005 году DES был официально объявлен устаревшим и был заменен алгоритмом шифрования AES, о котором мы сейчас поговорим. Самым большим недостатком DES была его малая длина ключа шифрования, что облегчало его перебор. TLS 1.2, наиболее широко используемый сегодня протокол TLS, не использует метод шифрования DES.
2. Алгоритм симметричного шифрования 3DES
3DES (также известный как TDEA, что означает тройной алгоритм шифрования данных), как следует из названия, представляет собой обновленную версию выпущенного алгоритма DES.3DES был разработан для преодоления недостатков алгоритма DES и начал использоваться с конца 1990-х годов. Для этого он трижды применяет алгоритм DES к каждому блоку данных. В результате этот процесс сделал 3DES гораздо более сложным для взлома, чем его предшественник DES. Он также стал широко используемым алгоритмом шифрования в платежных системах, стандартах и технологиях в финансовой сфере. Он также стал частью криптографических протоколов, таких как TLS, SSH, IPsec и OpenVPN.
Все алгоритмы шифрования в конечном итоге поддаются власти времени, и 3DES не стал исключением.Уязвимость Sweet32, обнаруженная исследователями Картикеяном Бхаргаваном и Гаэтаном Лёрентом, закрыла дыры в безопасности, существующие в алгоритме 3DES. Это открытие заставило индустрию безопасности рассмотреть вопрос об устаревании алгоритма, и Национальный институт стандартов и технологий (NIST) объявил об устаревании в проекте руководства, опубликованном в 2019 году. во всех новых приложениях после 2023 года. Также стоит отметить, что TLS 1.3, последний стандарт для протоколов SSL/TLS, также прекратил использование 3DES.
3. Алгоритм симметричного шифрования AES
AES, что означает «расширенная система шифрования», является одним из наиболее распространенных типов алгоритмов шифрования и был разработан в качестве альтернативы алгоритму DES. Также известный как Rijndael, AES стал стандартом шифрования после одобрения NIST в 2001 году. В отличие от DES, AES представляет собой семейство блочных шифров, состоящее из шифров с разной длиной ключа и размером блока.
AES работает методами подстановки и перестановки. Сначала данные открытого текста преобразуются в блоки, а затем применяется шифрование с использованием ключа шифрования. Процесс шифрования состоит из различных подпроцессов, таких как подбайты, сдвиг строк, смешивание столбцов и добавление циклических ключей. В зависимости от размера ключа выполняется 10, 12 или 14 таких раундов. Стоит отметить, что последний раунд не включает подпроцесс смешивания столбцов среди всех других подпроцессов, выполняемых для шифрования данных.
Преимущество использования алгоритма шифрования AES
Все это сводится к тому, что AES безопасен, быстр и гибок. AES — гораздо более быстрый алгоритм по сравнению с DES. Несколько вариантов длины ключа — это самое большое преимущество, которое у вас есть, поскольку чем длиннее ключи, тем сложнее их взломать.
Сегодня AES является наиболее широко используемым алгоритмом шифрования — он используется во многих приложениях, в том числе:
- Безопасность беспроводных сетей,
- Безопасность процессора и шифрование файлов,
- Протокол SSL/TLS (безопасность веб-сайтов),
- Wi- Безопасность Fi,
- шифрование мобильного приложения,
- VPN (виртуальная частная сеть) и т. д.
Многие государственные учреждения, в том числе Агентство национальной безопасности (АНБ), полагаются на алгоритм шифрования AES для защиты конфиденциальной информации.
Тип шифрования #2: Асимметричное шифрование
Асимметричное шифрование, в отличие от метода симметричного шифрования, использует несколько ключей для шифрования и дешифрования данных. Асимметричное шифрование включает в себя два отдельных ключа шифрования, которые математически связаны друг с другом. Один из этих ключей известен как «открытый ключ», а другой — как «закрытый ключ».Следовательно, почему метод асимметричного шифрования также известен как «криптография с открытым ключом».
Как мы видели в приведенном выше примере, симметричное шифрование отлично работает, когда Алиса и Боб хотят обменяться информацией. Но что, если Боб хочет безопасно общаться с сотнями людей? Было бы практично, если бы он использовал разные математические ключи для каждого человека? Не совсем, потому что это было бы большим количеством ключей, чтобы жонглировать.
Чтобы решить эту проблему, Боб использует шифрование с открытым ключом, что означает, что он дает открытый ключ всем, кто отправляет ему информацию, и хранит закрытый ключ у себя.Он поручает им зашифровать информацию с помощью открытого ключа, чтобы данные можно было расшифровать только с помощью закрытого ключа, который у него есть. Это устраняет риск компрометации ключа, поскольку данные могут быть расшифрованы только с использованием закрытого ключа, который есть у Боба.
Что делает асимметричное шифрование отличным методом
Первое (и наиболее очевидное) преимущество этого типа шифрования — безопасность, которую он обеспечивает. В этом методе общедоступный открытый ключ используется для шифрования данных, а расшифровка данных выполняется с использованием закрытого ключа, который необходимо надежно хранить.Это гарантирует, что данные остаются защищенными от атак «человек посередине» (MiTM). Для веб-серверов/серверов электронной почты, которые каждую минуту подключаются к сотням тысяч клиентов, асимметричное шифрование является не чем иным, как благом, поскольку им нужно управлять и защищать только один ключ. Еще одним ключевым моментом является то, что криптография с открытым ключом позволяет создать зашифрованное соединение без предварительной встречи в автономном режиме для обмена ключами.
Второй важной функцией асимметричного шифрования является аутентификация.Как мы видели, данные, зашифрованные открытым ключом, могут быть расшифрованы только с помощью связанного с ними закрытого ключа. Следовательно, он гарантирует, что данные будут видны и расшифрованы только той сущности, которая должна их получить. Проще говоря, он подтверждает, что вы разговариваете с человеком или организацией, которыми вы себя считаете.
Два основных типа алгоритмов асимметричного шифрования
1. Алгоритм асимметричного шифрования RSA
Изобретенный Роном Ривестом, Ади Шамиром и Леонардом Адлеманом (отсюда «RSA») в 1977 году, на сегодняшний день RSA является наиболее широко используемым алгоритм асимметричного шифрования.Его эффективность заключается в методе «простой факторизации», на который он опирается. По сути, этот метод включает в себя два огромных случайных простых числа, которые перемножаются, чтобы создать еще одно гигантское число. Головоломка здесь состоит в том, чтобы определить исходные простые числа из этого гигантского числа, умноженного на него.
Оказывается, эта головоломка практически неразрешима — если использовать ключ правильной длины, сгенерированный с достаточной энтропией — для современных суперкомпьютеров, не говоря уже о людях. В 2010 году группа исследователей провела исследование, и им потребовалось более 1500 лет вычислительного времени (распределенного на сотнях компьютеров), чтобы взломать 768-битный ключ RSA, который намного ниже стандартного 2048-битного ключа RSA, который используется. сегодня.
Преимущество использования алгоритма шифрования RSA
Большим преимуществом RSA является его масштабируемость. Он поставляется с ключами шифрования различной длины, такими как 768-битный, 1024-битный, 2048-битный, 4096-битный и т. Д. Таким образом, даже если более низкие длины ключей успешно взломаны, вы можете использовать шифрование более высоких длин ключей. потому что сложность перебора ключа увеличивается с каждым увеличением длины ключа.
RSA основан на простом математическом подходе, поэтому его реализация в инфраструктуре открытых ключей (PKI) становится простой.Эта адаптируемость к PKI и ее безопасности сделали RSA наиболее широко используемым алгоритмом асимметричного шифрования, используемым сегодня. RSA широко используется во многих приложениях, включая сертификаты SSL/TLS, криптовалюты и шифрование электронной почты.
2. Алгоритм асимметричного шифрования ECC
В 1985 году два математика по имени Нил Коблиц и Виктор С. Миллер предложили использовать эллиптические кривые в криптографии. Спустя почти два десятилетия их идея была воплощена в жизнь, когда в 2004-05 гг. начал использоваться алгоритм ECC (Elliptic Curve Cryptography).
В процессе шифрования ECC эллиптическая кривая представляет набор точек, удовлетворяющих математическому уравнению (y 2 = x 3 + ax + b).
Как и RSA, ECC также работает по принципу необратимости. Проще говоря, легко вычислить его в одном направлении, но мучительно сложно повернуть вспять и прийти к исходной точке. В ECC число, обозначающее точку на кривой, умножается на другое число и дает другую точку на кривой. Теперь, чтобы решить эту загадку, вы должны найти новую точку на кривой.Математика ECC построена таким образом, что узнать новую точку практически невозможно, даже если вы знаете исходную точку.
Преимущество использования алгоритма шифрования ECC
По сравнению с RSA, ECC обеспечивает более высокий уровень безопасности (от текущих методов взлома), поскольку он довольно сложен. Он обеспечивает тот же уровень защиты, что и RSA, но использует гораздо более короткие ключи. В результате ECC, применяемый с ключами большей длины, потребует значительно больше времени для взлома с использованием атак грубой силы.
Еще одним преимуществом более коротких ключей в ECC является более высокая производительность. Более короткие ключи требуют меньшей нагрузки на сеть и вычислительной мощности, и это отлично подходит для устройств с ограниченными возможностями хранения и обработки. Когда ECC используется в сертификатах SSL/TLS, это значительно сокращает время, необходимое для выполнения рукопожатий SSL/TLS, и помогает быстрее загружать веб-сайт. Алгоритм шифрования ECC используется для приложений шифрования, для применения цифровых подписей, в генераторах псевдослучайных чисел и т. д.
Однако проблема с использованием ECC заключается в том, что во многих серверных программах и панелях управления еще не добавлена поддержка сертификатов ECC SSL/TLS. Мы надеемся, что это изменится в будущем, но это означает, что RSA будет продолжать оставаться более широко используемым алгоритмом асимметричного шифрования.
Гибридное шифрование: симметричное + асимметричное шифрование
Во-первых, позвольте мне пояснить, что гибридное шифрование — это не «метод», как симметричное и асимметричное шифрование.Он берет лучшее из обоих этих методов и создает синергию для создания надежных систем шифрования.
Какими бы преимуществами ни обладали симметричное и асимметричное шифрование, они оба имеют свои недостатки. Метод симметричного шифрования отлично подходит для быстрого шифрования больших данных. Тем не менее, он не обеспечивает проверку личности, что является необходимостью, когда речь идет об интернет-безопасности. С другой стороны, асимметричное шифрование — благодаря паре открытого и закрытого ключей — гарантирует, что данные будут доступны предполагаемому получателю.Однако эта проверка делает процесс шифрования болезненно медленным при масштабной реализации.
Во многих приложениях, например для обеспечения безопасности веб-сайтов, требовалось высокоскоростное шифрование данных, а также проверка личности, чтобы гарантировать пользователям, что они разговаривают с предполагаемым объектом. Так родилась идея гибридного шифрования.
Метод гибридного шифрования используется в таких приложениях, как сертификаты SSL/TLS. Шифрование SSL/TLS применяется во время серии обменов данными между серверами и клиентами (веб-браузерами) в процессе, известном как «рукопожатие TLS».В этом процессе личность обеих сторон проверяется с использованием закрытого и открытого ключа. Как только обе стороны подтвердили свою личность, шифрование данных происходит посредством симметричного шифрования с использованием эфемерного (сеансового) ключа. Это обеспечивает быструю передачу тонн данных, которые мы отправляем и получаем в Интернете каждую минуту.
Типы методов шифрования: что мы выяснили
Если вам интересно, какой тип шифрования лучше другого, то однозначного победителя не будет, поскольку как симметричное, так и асимметричное шифрование имеют свои преимущества. и мы не можем выбирать только одно за счет другого.
С точки зрения безопасности асимметричное шифрование, несомненно, лучше, поскольку оно обеспечивает аутентификацию и неотказуемость. Однако производительность также является аспектом, который мы не можем игнорировать, и поэтому симметричное шифрование всегда будет необходимо.
Вот краткое изложение того, что мы вычислили в отношении типов шифрования:
*** Это синдицированный блог Security Bloggers Network из Hashed Out by The SSL Store™, автором которого является Джей Таккар. Прочтите исходный пост по адресу: https://www.thesslstore.com/blog/types-of-encryption-encryption-algorithms-how-to-choose-the-right-one/
Симметричное шифрование: определение и пример — видео & Стенограмма урока
Что такое симметричное шифрование?
Симметричное шифрование — метод шифрования, использующий один ключ для шифрования (кодирования) и дешифрования (декодирования) данных.Это самый старый и самый известный метод шифрования. Секретный ключ может быть словом, числом или строкой букв, и он применяется к сообщению. Сообщение изменяется в соответствии с правилами в ключе. Отправитель и получатель знают ключ и, таким образом, могут кодировать и декодировать любое сообщение, которое будет использовать этот конкретный ключ.
Система симметричного шифрования состоит из пяти основных компонентов: открытый текст, алгоритм шифрования, секретный ключ, зашифрованный текст и алгоритм дешифрования. Давайте посмотрим на них по одному.
1. Открытый текст
Термин открытый текст относится к исходному сообщению, которое создается и отправляется в методе шифрования. Поскольку вы потрудились зашифровать его, открытый текст, скорее всего, содержит конфиденциальные данные, которые не должны быть видны посторонним.
На изображении примера симметричного шифрования показан простой пример того, как работает симметричное шифрование.
2.Алгоритм шифрования
Алгоритм шифрования берет открытый текст и преобразует его в нечитаемый формат. Простым примером алгоритма шифрования может быть замена всех N на 3 или всех Z на 1. Процедура может выполнять несколько проходов и изменений, называемых перестановками, в открытом тексте. Как только он будет зашифрован, вам понадобится ключ, чтобы разблокировать его.
3. Ключ
Думайте о ключе как о кольце декодера: секрет зашифрованного текста не может быть прочитан без ключа.Ключ содержит информацию обо всех переключениях и заменах исходного открытого текста.
При симметричном шифровании ключ фактически связан с алгоритмом; в этом смысле кольцо декодера не является универсальным. Изменения и подстановки зависят от ключа, и наоборот, поскольку отправитель и получатель имеют общий ключ.
4. Зашифрованный текст
Зашифрованный текст — это текст, который теперь зашифрован и готов к отправке. Это может выглядеть как случайный поток данных и нечитаемо.
5. Алгоритм дешифрования
В алгоритме дешифрования секретный ключ (кольцо декодера) применяется к зашифрованному тексту. Он преобразует его обратно в открытый текст, фактически выполняя шифрование в обратном порядке.