Что такое шифрование AES и как оно работает?

Что такое шифрование AES и как оно работает?

Когда дело доходит до кибербезопасности, AES – это одна из тех аббревиатур, которые вы видите повсюду. Это потому, что он стал мировым стандартом шифрования и используется для обеспечения безопасности значительного объема наших коммуникаций..

Расширенный стандарт шифрования (AES), это быстрая и безопасная форма шифрования, которая не дает взглянуть на наши данные. Мы видим это в приложениях обмена сообщениями, таких как WhatsApp и Сигнал, такие программы, как VeraCrypt и WinZip, в ряде аппаратных средств и различных других технологий, которые мы используем все время.

Почему была разработана AES?

Самые ранние типы шифрования были простыми, используя такие приемы, как замена каждой буквы в предложении на ту, которая идет после нее в алфавите. Под этим видом кода предыдущее предложение становится:

зашифрованный текст

Как видите, этот простой код делает его полностью нечитаемым. Несмотря на начальную нечитаемость, если бы у вас было время и вы знали, что это был код, а не просто набор символов, выбрасываемых на страницу, было бы не слишком сложно со временем разобраться.

Как люди стали лучше взламывать коды, шифрование должно было стать более сложным таким образом сообщения могут быть держится в секрете. Эта гонка вооружений, в которой использовались все более и более изощренные методы, в то время как другие старались сломать их, привела к все более сложным методам, такие как машина Enigma, изобретенная немцами в Первой мировой войне.

Рост электронных коммуникаций также стал благом для шифрования. В 1970-х годах Национальное бюро стандартов США (NBS) начал поиск стандартных средств, которые можно было бы использовать для шифрования конфиденциальной правительственной информации. Результатом их поиска стало использование алгоритма симметричного ключа, разработанного в IBM, который сейчас называется Стандарт шифрования данных (DES). В течение следующих нескольких десятилетий DES служил своей цели относительно хорошо, но в девяностые годы некоторые проблемы безопасности начали появляться.

DES только имеет 56-битный ключ (по сравнению с максимум 256 бит в AES, но мы вернемся к этому позже), так как технологии и методы взлома улучшились, атаки на него стали более практичными. Первое зашифрованное сообщение DES было взломано в 1997 году Проектом DESCHALL в Конкурс, спонсируемый RSA Security.

В следующем году Фонд Electronic Frontier Foundation (EFF) создал взломщик DES, который мог перехватить ключ всего за два дня. В 1999 году EFF и первый компьютерный коллектив интернета, distributed.net, сотрудничал, чтобы сократить это время до 24 часов.

Хотя эти атаки были дорогостоящими и непрактичными для монтажа, они начали показывать, что господство DES как стандарта шифрования go-to подходит к концу. С вычислительной мощностью экспоненциально возрастающий в соответствии с Закон Мура, это был только вопрос времени, когда на DES больше нельзя было положиться.

Правительство США отправилось в пятилетнюю миссию для оценки различных методов шифрования, чтобы найти новый стандарт, который был бы безопасным. Национальный институт стандартов и технологий (NIST) объявил, что наконец сделал свой выбор в конце 2001 года.

Их выбор был определенным подмножеством блочного шифра Rijndael с фиксированным размером блока 128 бит и ключами 128, 192 и 256 бит. Его разработали Джоан Деймен и Винсент Раймен, два криптографа из Бельгии. В мае 2002 года AES был утвержден, чтобы стать Федеральный стандарт США и быстро стал стандартным алгоритмом шифрования для остального мира, а также.

Связанный: Руководство для начинающих по криптографии

Почему этот шифр был выбран для AES?

С любым видом шифрования всегда есть компромиссы. Вы могли бы легко иметь стандарт, который был бы в геометрической прогрессии более безопасным, чем AES, но для шифрования и дешифрования понадобилось бы слишком много времени для практического использования. В конце концов, Блочный шифр Rijndael был выбран NIST за его всесторонние способности, включая его производительность на аппаратном и программном обеспечении, простоту реализации и уровень безопасности.

Как работает AES?

Помните, что следующий пример является упрощением, но он дает вам общее представление о том, как работает AES. К сожалению, в мире не хватает кофе, чтобы большинство людей захотело пройти через более сложные аспекты AES. Как правило, процесс выполняется в двоичном формате, и математики намного больше.

Сначала данные делятся на блоки.

При таком методе шифрования первое, что происходит, – это то, что ваш открытый текст (то есть информация, которую вы хотите зашифровать) разделяется на блоки. Размер блока AES составляет 128 битов, поэтому он разделяет данные на столбец размером четыре на четыре из шестнадцати байтов (в байте восемь битов, а 16 x 8 = 128)..

Если ваше сообщение было «купите мне немного картофельных чипсов, пожалуйста», первый блок выглядит так:

            б             м             о             п
            U             е             м             о
            Y             е             T
            s            

Мы пропустим оставшуюся часть сообщения для этого примера и сосредоточимся только на том, что происходит с первым блоком, когда он зашифрован. «… К фишкам, пожалуйста» обычно просто добавляется к следующему блоку.

Расширение ключа

Расширение ключа включает в себя получение исходного ключа и его использование для создания ряда других ключей для каждого раунда процесса шифрования. Эти новые 128-битные ключи округления получены с помощью расписания ключей Rijndael, которое по сути является простым и быстрым способом создания новых ключей шифрования. Если исходный ключ был «keysoning1»:

            К             я
            е                         б             N
            Y             р             о             грамм
            s             е             р             1

Тогда каждый из новых ключей может выглядеть примерно так, как только будет использовано расписание ключей Rijndael:

            14             29             1ч             s5
            h9             9е             улица             9е
            GT             2h             штаб             73
            Канзас             диджей             Д.Ф.             ро

Хотя они выглядят как случайные символы (а вышеприведенный пример только что составлен), каждый из этих ключей является производным от структурированного процесса, когда фактически применяется шифрование AES. Мы вернемся к тому, для чего эти круглые ключи используются позже..

Добавить круглый ключ

На этом этапе, поскольку это первый раунд, наш начальный ключ добавляется в блок нашего сообщения:

            б             м             о             п
            U             е             м             о
            Y             е             T
            s            

+

            К             я
            е                         б             N
            Y             р             о             грамм
            s             е             р             1

Это делается с помощью шифра XOR, который является алгоритмом аддитивного шифрования. Хотя кажется, что вы не можете сложить эти вещи вместе, имейте в виду, что на самом деле это делается в двоичном виде. Персонажи – просто помощники, чтобы попытаться сделать вещи проще для понимания. Допустим, эта математическая операция дает нам результат:

            h3             юлианский день             цу             7s
            s8             7d             26             2n
            диджей             4b             9d             9c
            74             эль             2h             ртуть

Заменяющие байты

На этом этапе каждый байт заменяется в соответствии с заранее определенной таблицей. Это похоже на пример с начала статьи, где предложение было закодировано путем замены каждой буквы на ту, которая идет после нее в алфавите (Здравствуйте становится ifmmp).

Эта система немного сложнее и не обязательно имеет какую-либо логику. Вместо этого существует установленная таблица, которую можно найти по алгоритму, который говорит, например, что h3 становится ДБ, s8 становится , диджей становится 62 и так далее. После этого шага предположим, что предопределенная таблица дает нам:

            ДБ             n3             кф            n2
            9е             JJ             1ч             JS
            74             белый             0d             18
            вс             17             d6             ПВ

Сдвиг строк

Сдвиг строк – это простое имя, и этот шаг, по сути, тот, который вы ожидаете. Второй ряд перемещается на один пробел влево, третий ряд перемещается на два пробела влево, а четвертый ряд перемещается на три пробела влево. Это дает нам:

            ДБ             n3             кф             n2
            JJ             1ч             JS             9е
            0d             18             74             белый
            ПВ             вс             17             d6

Смешайте столбцы

Этот шаг немного сложно объяснить. Чтобы вырезать большую часть математики и упростить вещи, давайте просто скажем, что к каждому столбцу применено математическое уравнение для дальнейшей его диффузии. Допустим, операция дает нам такой результат:

            Ls             J4             2n             мама
            83             28             К.Е.             9е
            9w             хт             3л             m4
            5б             a9             сг             п.с.

Добавить круглый ключ (снова)

Помните те круглые ключи, которые мы сделали в начале, используя наш начальный ключ и расписание ключей Rijndael? Ну, вот где мы начинаем их использовать. Мы берем результат наших смешанных столбцов и добавляем ключ первого раунда, который мы получили:

            Ls             J4             2n             мама
            83             28             К.Е.             9е
            9w             хт             3л             m4
            5б             a9             сг             п.с.

+

            14             29             1ч             s5
            h9             9е             улица             9е
            GT             2h             штаб             73
            Канзас             диджей             Д.Ф.             ро

Допустим, эта операция дает нам следующий результат:

            9d             5б             28             С.Ф.
            Ls             Д.Ф.             высокочастотный             3b
            ю             28             л.с.             8е
            62             7d             15             ах

Еще много раундов …

Если вы думали, что это так, мы даже близко не подошли. После добавления ключа последнего раунда он возвращается к этапу подстановки байтов, где каждое значение изменяется в соответствии с заранее определенной таблицей. Как только это будет сделано, вернемся к сдвигу строк и перемещению каждого ряда влево на один, два или три пробела. Затем он снова проходит через уравнение столбцов микширования. После этого добавляется еще один ключ.

Это не останавливается там также. В начале было упомянуто, что AES имеет размер ключа 128, 192 или 256 бит. Когда используется 128-битный ключ, существует девять таких раундов. Когда используется 192-битный ключ, их 11. При использовании 256-битного ключа их 13. Таким образом, данные проходят подстановку байтов, сдвигаются строки, столбцы микширования и шаги округления до тринадцати раз каждый, быть измененным на каждом этапе.

После этих девяти, 11 или 13 раундов существует еще один раунд, в котором данные обрабатываются только путем подстановки байтов, сдвигаются строки и добавляются этапы округления ключа, но не шаг столбцов смешивания. Этап микширования столбцов сделан, потому что на этом этапе он просто потребляет вычислительную мощность без изменения данных, что сделает метод шифрования менее эффективным.

Чтобы прояснить ситуацию, весь процесс шифрования AES идет:

Расширение ключа

Добавить круглый ключ

Подстановка байтов

Сдвиг строк

Смешайте столбцы

Добавить круглый ключ          

x 9, 11 или 13 раз, в зависимости от того, является ли ключ 128, 192 или 256-битным

Подстановка байтов

Сдвиг строк

Добавить круглый ключ

После того, как данные прошли этот сложный процесс, ваш оригинальный «Купи мне немного картофельных чипсов, пожалуйста» выходит выглядит как «Ok23b8a0i3j 293uivnfqf98vs87a». Кажется, что это совершенно случайная строка символов, но, как вы можете видеть из этих примеров, на самом деле это результат множества различных математических операций, применяемых к нему снова и снова..

Какой смысл каждого из этих шагов?

Многое происходит, когда наши данные зашифрованы, и важно понять, почему. ключ расширение является критическим шаг, потому что он дает нам наши ключи для последующих раундов. В противном случае один и тот же ключ будет добавляться в каждом раунде, что облегчит взлом AES. В первом раунде добавляется начальный ключ, чтобы начать изменение простого текста.

шаг замещения байта, где каждая из точек данных изменяется в соответствии с заранее определенной таблицей, также выполняет важную роль. Это изменяет данные нелинейным способом, чтобы ввести в заблуждение информацию. Путаница – это процесс, который помогает скрыть связь между зашифрованными данными и исходным сообщением..

Сдвиг строк также имеет решающее значение, выполняя то, что известно как диффузия. В криптографии диффузия по существу означает транспонирование данных для добавления усложнения. При смещении строк данные перемещаются из исходного положения, что еще больше помогает скрыть их. Смешайте столбцы действует аналогичным образом, изменяя данные по вертикали, а не по горизонтали.

В конце раунда добавляется новый ключ раунда, полученный из начального ключа. Это добавляет большую путаницу к данным.

Почему так много раундов?

Процессы добавление круглых ключей, подстановка байтов, смещение строк и смесительные колонны изменяет данные, но все еще может быть взломан криптоанализом, который является способом изучения криптографического алгоритма, чтобы сломать его.

Ускоренные атаки являются одним из ключевые угрозы. Это атаки, которые могут взломать шифрование с меньшими усилиями, чем перебор. Когда разрабатывался AES, были обнаружены быстрые атаки на срок до шести раундов процесса. Из-за этого были добавлены дополнительные четыре раунда для минимума 128-битный AES как запас прочности. Получающиеся 10 раундов дают методу шифрования достаточно места для предотвращения коротких атак в соответствии с современными технологиями и технологиями..

Почему бы нам не добавить больше раундов, чтобы повысить безопасность?

С большинством вещей в безопасности, должно быть компромисс между чистой защитной силой, удобством использования и производительностью. Если вы установите десять стальных дверей с засовами в каждой точке входа в ваш дом, это, несомненно, сделает его более безопасным. Также потребуется неоправданно много времени, чтобы войти и выйти, поэтому мы никогда не видим, чтобы кто-то делал это.

То же самое относится и к шифрованию. Мы могли бы сделать его более безопасным, добавив больше раундов, но это также было бы медленнее и намного менее эффективно. 10, 12 и 14 раундов AES были установлены, потому что они обеспечивают хороший компромисс между этими конкурирующими аспектами, по крайней мере, в нынешнем технологическом ландшафте.

Расшифровка AES

Если вам удалось разобраться с процессом шифрования, описанным выше, расшифровка является относительно простой. Чтобы перейти от зашифрованного текста к исходному тексту исходного сообщения, все делается в обратном порядке..

Если мы начнем с нашего зашифрованного результата «Ok23b8a0i3j 293uivnfqf98vs87a» и применить обратное к каждому шагу шифрования, он начинается с обратного ключа округления, затем строк обратного сдвига и замены обратного байта перед переходом к обратному 9, 11 или 13 раундам. Это выглядит так:

«Ok23b8a0i3j 293uivnfqf98vs87a»

Обратное добавление ключа раунда

Обратный сдвиг строк

Обратная замена байтов

Обратное добавление ключа раунда

Обратные столбцы смешивания

Обратный сдвиг строк

Обратная замена байтов         

x 9, 11 или 13 раз, в зависимости от того, является ли ключ 128 192 или 256-битным

Обратное добавление ключа раунда

После этого процесса расшифровки мы снова получаем исходное сообщение: «Купи мне немного картофельных чипсов, пожалуйста»

128 против 192 против 256-битного AES

AES имеет три разных длины ключа. Основное различие заключается в количестве раундов, через которые проходят данные в процессе шифрования, 10, 12 и 14 соответственно. По сути, 192-битный и 256-битный обеспечить больший запас безопасности чем 128-бит.

В современном технологическом ландшафте, 128-битный AES достаточно для большинства практических целей. Высокочувствительные данные обрабатываются лицами с экстремальным уровнем угрозы, такими как ТОП СЕКРЕТНЫЕ документы контролируется военными, вероятно, следует обрабатывать либо 192 или 256-битный AES.

Если вы параноик, вы можете использовать 192 или 256-битный шифрование везде, где это возможно. Это хорошо, если вам легче спать по ночам, но в большинстве случаев это не обязательно. Это не обходится без затрат, с дополнительными четырьмя раундами 256-битное шифрование делая его примерно на 40 процентов менее эффективным.

Вопросы безопасности AES

Криптографы постоянно проверяют AES на наличие слабых сторон, пытаясь придумать новые технологии и использовать технологии, которые появляются на их пути. Это важно, потому что, если бы оно не было тщательно проверено учеными, тогда преступники или национальные государства могли бы в конечном итоге найти способ взломать его без ведома остального мира. Пока что исследователи обнаружили только теоретические прорывы и атаки по побочным каналам..

Атака по связанному ключу

В 2009 году была обнаружена серия атак по ключевым ключам. Это тип криптоанализа, который включает наблюдение за тем, как шифр работает под разными ключами. Атаки по связанным ключам, которые обнаружили исследователи, не представляют большой проблемы; они возможны только против протоколов, которые не реализованы должным образом.

Известная ключевая атака

В 2009 году была проведена отличительная атака на 8-раундовую версию AES-128. Эти атаки используют ключ, который уже известен, чтобы выяснить внутреннюю структуру шифра. Поскольку эта атака была направлена ​​только против версии с восемью раундами, для обычных пользователей AES-128 беспокоиться не о чем..

Атака по боковому каналу

Было несколько других теоретических атак, но при современных технологиях им все равно потребовались бы миллиарды лет для взлома. Это означает, что Сама AES на данный момент практически не ломается. Несмотря на это, AES все еще может быть уязвимым, если он не был реализован должным образом, в так называемой атаке по побочному каналу..

Атаки по побочным каналам происходят, когда система пропускает информацию. Атакующий прислушивается к звуку, информации о времени, электромагнитной информации или потребляемой мощности, чтобы получить выводы из алгоритма, который затем может быть использован для его взлома..

Если AES реализуется осторожно, эти атаки можно предотвратить, либо удалив источник утечки данных, либо гарантировав отсутствие очевидной связи между утечкой данных и алгоритмическими процессами..

Последний недостаток носит более общий характер, чем специфический для AES, но пользователи должны знать, что AES не делает свои данные автоматически безопасными. Даже AES-256 уязвим, если злоумышленник может получить доступ к ключу пользователя. Вот почему AES является лишь одним из аспектов обеспечения безопасности данных. Эффективное управление паролями, межсетевые экраны, обнаружение вирусов и обучение против атак социальной инженерии так же важны по-своему.

Достаточно ли AES?

В нынешнем возрасте мы все передаем так много наших конфиденциальных данных онлайн, AES стала неотъемлемой частью нашей безопасности. Несмотря на то, что он существует с 2001 года, этот повторяющийся процесс добавления ключей, подстановки байтов, смещения строк и смешивания столбцов оказался проверенным временем.

Несмотря на текущие теоретические атаки и любые потенциальные побочные атаки, Сам AES остается в безопасности. Это отличный стандарт для обеспечения безопасности нашей электронной связи, и его можно применять во многих ситуациях, когда требуется защита конфиденциальной информации. Судя по текущему уровню техники и технике атаки, вы должны чувствовать себя уверенно, используя его хорошо в обозримом будущем.

Зачем нам шифрование?

Теперь, когда мы рассмотрели технические детали AES, важно обсудить, почему шифрование важно. На самом базовом уровне шифрование позволяет нам кодировать информацию, так что дешифровать данные могут только те, кто имеет доступ к ключу. Без ключа это похоже на бред. С ключом, беспорядочно кажущихся случайных символов превращается обратно в свое первоначальное сообщение.

Шифрование использовалось правительствами и военными на протяжении тысячелетий чтобы не допустить попадания конфиденциальной информации в чужие руки. С годами он все больше и больше проникал в повседневную жизнь, особенно после того, как большая часть наших личных, социальных и рабочих отношений перешла в онлайн-мир..

Просто подумай обо всех данные, которые вы вводите в свои устройства: пароли, банковские реквизиты, ваш личные сообщения и многое другое. Без какого-либо шифрования эту информацию будет намного легче перехватить любому, будь то преступники, сумасшедшие сталкеры или правительство.

Так много наша информация ценна или чувствительна, поэтому ясно, что он должен быть защищен таким образом, чтобы к нему могли получить доступ только мы и те, кого мы уполномочиваем. Вот почему нам нужно шифрование. Без этого онлайн-мир просто не мог бы функционировать. Мы были бы полностью лишены какой-либо конфиденциальности и безопасности, отправив нашу онлайн жизнь в абсолютный хаос.

Смотрите также:
Генератор паролей
Ресурсы шифрования: большой список инструментов и руководств
Знаменитые коды и шифры в истории
Статистика кибербезопасности & факты

«Взлом, киберпреступность» по лицензии jaydeep_ под СС0

About the author

Comments

  1. AES является одним из самых популярных стандартов шифрования в мире, который используется для обеспечения безопасности наших коммуникаций. Это быстрая и безопасная форма шифрования, которая используется в различных приложениях, программных и аппаратных средствах. AES был разработан в ответ на проблемы безопасности, связанные с DES, который имел всего 56-битный ключ. AES использует ключи длиной 128, 192 или 256 бит, что делает его более безопасным. AES прошел множество тестов на безопасность и считается одним из самых надежных стандартов шифрования.

Comments are closed.