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

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

Примером такого стандарта является AES , аббревиатура, с которой вы, вероятно, сталкивались раньше, особенно если вы постоянно используете приложения для связи, такие как WhatsApp, Signal или Telegram, или программное обеспечение VPN. В этой статье мы сосредоточимся на AES и поможем вам лучше понять его.

Шифрование AES

Что такое AES?

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

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

Как работает шифрование

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

Этот стандарт шифрования использует сетевой алгоритм перестановки подстановок (алгоритм SPN), чтобы применить несколько раундов шифрования для защиты данных. Тот факт, что он использует так много раундов, делает AES практически непроницаемым .

AES-не только первый, но и единственный общедоступный шифр, одобренный NSA (Агентством национальной безопасности) для защиты сверхсекретных данных. Первоначально этот стандарт шифрования назывался Rijndael по именам двух его разработчиков, Винсента Реймена и Джоан Дэемен (оба из Бельгии).

Несколько длин ключей AES

AES включает три блочных шифра, и каждый из этих блочных шифров имеет разное количество возможных комбинаций клавиш, а именно:

  • AES-128: 128-битная длина ключа=3,4 * 10 38
  • AES-192: 192-битная длина ключа=6,2 * 10 57
  • AES-256: 256-битная длина ключа=1,1 * 10 7 7

Хотя существует три блочных шифра, каждый из них шифрует и дешифрует данные в 128 блочных битах с использованием ключей разной длины (т.е. 128, 192 и 256, как указано выше). Таким образом, можно с уверенностью сказать, что, хотя длина ключей может быть разной, размер блока всегда одинаков (128 бит или 16 байт, это одно и то же).

Тот факт, что AES использует ключи разной длины, определенно вызвал у пользователей некоторые вопросы, например, зачем вообще нужны ключи разной длины? Другие могут даже усомниться в необходимости иметь несколько длин ключей, тем более что 256-битный ключ, по-видимому, является наиболее безопасным.

Несмотря на то, что 256-битный ключ AES является просто самым сильным ключом в группе, часто называемый «военным», он не всегда используется по умолчанию, и причина почему это происходит из-за доступных или, что еще лучше, недоступных ресурсов.

AES-128 против AES-256

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

256-битные ключи AES намного сложнее подобрать, чем 128-битные. Однако даже при огромной вычислительной мощности 128-битные ключи AES по-прежнему практически невозможно взломать, поэтому использование этой версии вместо 256-битных ключей может быть лучшим выбором, если вас беспокоит мощность или задержка, особенно на портативные устройства (например, смартфоны).

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

Преимущества использования AES

AES 256

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

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

И последнее, но не менее важное: если ситуация требует этого, AES достаточно гибок и позволяет комбинировать его с несколькими другими протоколами безопасности, такими как TKIP, WPA2, WEP, а также с другими типами шифрования, такими как SSL.

Вот некоторые ключевые преимущества выбора AES по сравнению с другими стандартами шифрования:

  • Поддерживается как аппаратное, так и программное обеспечение.
  • Тот факт, что он поддерживает три длины ключа, дает вам некоторую гибкость в отношении безопасности и скорости (производительности).
  • Все три типа ключей достаточно длинные, что делает AES невозможной целью для перебора.
  • Пока не доказано, что криптографические атаки работают против AES.
  • Его можно найти практически везде, учитывая тот факт, что правительство США определило его как стандарт.
  • Легко внедрить независимо от места назначения (как сообщается, аппаратная реализация проще, чем программная).
  • Не занимает столько памяти, сколько другие типы шифрования (например, DES).
  • Легко сочетается с другими протоколами безопасности и типами шифрования.

Распространенное использование AES

Несмотря на то, что мы уже упоминали, что AES обычно используется везде, где он поддерживается, есть несколько примеров, когда вероятность столкнуться с ним выше. А именно:

  • VPN
    • Принцип работы VPN основан на перенаправлении вашего трафика, но не до его шифрования, чтобы другие не могли его увидеть в случае, если они отслеживают ваше соединение. Более того, трафик необходимо расшифровать в точке его выхода, что предполагает необходимость в стандарте шифрования. AES-256 по умолчанию используется несколькими поставщиками VPN, включая NordVPN , Surfshark и ExpressVPN .
  • Менеджеры паролей
    • Менеджеры паролей работают, позволяя вам вводить в них все свои пароли и защищая их одним паролем с помощью шифрования. Различные программные решения для управления паролями, представленные на рынке, выбрали AES в качестве своего стандарта оперативного шифрования, считая его простым в реализации, быстрым и безопасным.
  • Сети Wi-Fi
    • Без шифрования трафика злоумышленники могут просто сидеть за пределами вашей беспроводной сети, перехватывать незашифрованные пакеты с помощью соответствующего адаптера Wi-Fi и отслеживать все ваше местонахождение в Интернете без каких-либо забот. К счастью, шифрование AES, обычно наряду с дополнительными стандартами безопасности (WPA2 является самым популярным в настоящее время), может предотвратить это.
  • Веб-браузеры
    • Вы, наверное, уже знаете, что некоторое время веб-браузеры шифруют соединения своих пользователей, чтобы защитить их от различных киберугроз, таких как атаки MITM (Man-In-The-Middle), спуфинг или мониторинг трафика.
  • Шифрование диска
    • Хотя эта функция в основном используется на портативных устройствах, таких как смартфоны и планшеты, шифрование диска не является чем-то необычным, если вы хотите повысить свою конфиденциальность и безопасность. В настоящее время AES является одним из самых популярных методов, используемых для шифрования и дешифрования содержимого диска.
  • Программное обеспечение для сжатия файлов
    • Будь то WinRar, WinZip или 7z, все представленные на рынке утилиты для архивирования и сжатия/распаковки файлов используют AES в качестве основного стандарта шифрования для предотвращения случайных утечек данных при работе с вашими файлами.
  • Приложения для общения
    • WhatsApp, Signal, Telegram, Snapchat, Messenger, а также другие, о которых мы не упоминали, используют шифрование AES, чтобы обеспечить вам полную конфиденциальность, независимо от того, отправляете ли вы фотографии, видео, документы или простые текстовые сообщения через эти приложения.
  • Библиотеки языков программирования
    • Если вы программист, вам, вероятно, следует знать, что библиотеки определенных языков программирования, включая, помимо прочего, C ++, Java и Python, используют шифрование AES, чтобы помочь вам защитить ваши данные и проекты от несанкционированного доступа.
  • Компоненты ОС
    • Чтобы добавить дополнительный уровень безопасности, некоторые операционные системы добавили шифрование AES к некоторым из своих компонентов.

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

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

1. Данные разбиваются на блоки

Как вы, вероятно, помните из упомянутого выше, AES-это блочный шифр , что означает, что он шифрует данные, которые он получает, блоками бит, а не бит за битом.

Таким образом, первый шаг шифрования AES-это разделение данных на блоки. Каждый из этих блоков содержит столбец 4 на 4 из 128 бит или 16 байтов. Учитывая, что один байт состоит из 8 бит , мы имеем 16 x 8=128 бит , что составляет размер блока.

Допустим, вы хотите зашифровать ‘addictivetips.com’ с помощью AES. Первое, что делает процесс шифрования,-это разделяет данные на блоки. Однако блок может содержать только 16 символов , поэтому в первом блоке не будет символа «m» в конце текста. Буква «m» будет отправлена ​​в следующий блок.

Следовательно, после применения AES к « addictivetips.com » первая часть этого текста будет выглядеть, как показано ниже:

а c е s
г т т .
г я я в
я v п о

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

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

Так, например, если вы используете ключ « AESencryption12 » в нашем обычном тексте выше ( addictivetips.com ), вы получите строку, казалось бы, случайную числа.

А е г о
E нет п нет
S в т 1
г я 2

Однако в расписании ключей Rijndael используются очень специфические процессы для шифрования каждого символа в начальной фразе.

Результат будет похож на блок ниже:

7e 04 0b 20
52 6c 1c 56
a7 bf 8e 84
30 03 3d 20

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

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

3. Добавление круглого ключа

На самом деле это первый раунд шифрования, поскольку мы собираемся добавить начальный ключ (‘ AES encryption12 ‘) в наш блок сообщения (‘ addictivetips.com ‘), как в примере ниже, что поначалу может не иметь смысла.

а c е s
г т т .
г я я в
я v п о

<▪AND

А е г о
E нет п нет
S в т 1
г я 2

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

Эта операция (добавления двух блоков текста вместе) выполняется с использованием шифра XOR , и результат можно увидеть ниже:

32 d5 5c d9
f3 24 a8 46
7e 1c 37 f3
82 5e 3f 03

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

Для дальнейшего повышения защиты ваших данных (в нашем случае открытого текста, который мы пытаемся зашифровать), на этом этапе процесса каждый байт блока будет заменен заранее определенным значением в соответствии с таблицей, называемой Rijndael S-box . Вы можете увидеть таблицу чуть ниже:

00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
00 63 7c 77 f2 6f c5 30 01 67 2b fe d7 ab 76
10 ca 82 c9 7 дней fa 59 47 f0 объявление d4 a2 аф 9c a4 72 c0
20 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
30 04 c7 23 c3 18 96 05 07 12 80 e2 eb 27 b2 75
40 09 83 2c 6e 5a а0 52 3b d6 b3 29 e3 2f 84
50 53 d1 00 изд 20 fc b1 6a cb быть 39 4a 4c 58 cf
60 d0 ef аа fb 43 4 дня 33 85 45 f9 02 7f 50 3c 9f a8
70 51 a3 40 8f 92 9 дней 38 f5 до н.э. b6 да 21 10 ff f3 d2
80 компакт-диск 0c 13 ec 5f 97 44 17 c4 a7 7e 3D 64 5 дней 19 73
90 60 81 4f округ Колумбия 22 90 88 46 ее b8 14 де 5e 0b база данных
a0 e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79
b0 e7 c8 37 6 дней 8 дней d5 4e a9 6c 56 f4 ea 65 а.е. 08
c0 ба 78 25 1c a6 b4 c6 e8 дд 74 1f 4b бд 8b 8a
d0 70 b5 66 48 03 f6 0e 61 35 57 b9 86 c1 9e
e0 e1 f8 98 11 69 d9 8e 94 87 e9 ce 55 28 df
f0 8c a1 89 bf e6 42 68 41 99 0f b0 54 bb 16

Хотя эта таблица также выглядит как последовательность случайных символов, вы можете использовать ее, чтобы проверить, какое значение будут иметь замененные байты. Например, c9 станет dd , 26 станет f7 , ff станет станет 16 , и скоро. Это не так уж и сложно, если вы освоитесь.

Теперь, когда мы просмотрели таблицу, давайте посмотрим, как новый блок, созданный нами выше в результате первого раунда шифрования, изменится после замены байтов на основе S-блока Rijndael:

23 03 4a 35
36 c2 5a
f3 9c 9a
13 58 75 7b

Обратите внимание, что мы фактически заменили блоки с помощью таблицы Rijndael S-box вручную , так что вы можете перепроверить и попытаться воспроизвести результаты, если вам интересно. Так вам будет легче следить, особенно если вы хотите больше узнать о криптографии.

5. Смещение строк

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

  • вторая строка сдвигается влево на один байт (ячейка).
  • третья строка сдвигается влево на два байта (ячейки).
  • четвертая и последняя строка сдвигается влево на три байта (ячейки).
23 03 4a 35
36 c2 5a
9a f3 9c
7b 13 58 75

6. Смешение колонок

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

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

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

43 4 дня 33 85
c8 37 6 дней 8 дней
9a 33 85 9c
42 68 41 99

7. Добавить дополнительный круглый ключ

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

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

43 4 дня 33 85
c8 37 6 дней 8 дней
9a 33 85 9c
42 68 41 99

<▪AND

32 d5 5c d9
f3 24 a8 46
7e 1c 37 f3
82 5e 3f 03

As you’d expect, this step will generate yet another block of data for us to process, but we’ll stop here. We have a feeling that you got the point. However, the encryption process is still far from being over, as the block of data we just generated will undergo several more modifications.

8. More steps

These modifications that we’ve mentioned above include everything we’ve done so far: shifting rows, byte substitution, adding round keys, and mixing columns, so it’s easy to understand why we had to stop here as far as exemplifying goes.

These rounds are identical and the number of times these rounds are repeated depend on the AES key length, as follows:

  • AES-128 uses 9 rounds
  • AES-192 uses 11 rounds
  • AES-256 uses 13 rounds

So if you’re planning to use AES-256, the steps we’ve previously mentioned and explained will be repeated 13 times in a row, which you can agree is a tremendous amount. It’s also easy to understand why AES is so difficult to crack and is a go-to encryption standard in a lot of environments.

However, we’re not done yet. After the 9, 11, or 13 rounds of encryption we’ve briefly talked about above, there’s an additional round, during which the algorithm only substitutes bytes, shifts rows, and adds a round key (it skips mixing columns).

It may sound ridiculous that after 9, 11, or 13 rounds of running all the steps above the mixing columns step gets dropped. The reason is that at this point it’s somewhat redundant, and this step is skipped only to preserve some processing power.

So actually, after running all the steps of the encryption process, the input data (our plaintext we’ve used in the beginning in this case) will have gone through 10, 12, or 14 rounds, depending on the key length you chose and will look like a set of random characters. Not that it didn’t look like that for a long time now, since we started the encryption process and all.

So, to recap, while undergoing encryption, the data you feed to the AES encryption tools undergoes the following processes, in this order:

  1. Block division
  2. Key expansion
  3. Adding a round key
  4. Byte substitution
  5. Row shifting
  6. Column mixing
  7. Adding a round key
  8. Steps 4-7 are repeated for 9, 11, or 13 times depending on the key length
  9. Byte substitution
  10. Row shifting
  11. Adding a round key

At the end of this complex and seemingly endless process, addictivetips.com, the text we’ve attempted to encrypt, will look like the code below if encrypted using a 128-bit key and ‘AESencryption12‘ as our secret key:

  • RcadDaLDuP5fHtor3/Rfnq5EijEfhP02pvrlGkGr1Gc=

Although it may look like complete gibberish, once again, that’s the point of using encryption: making data as simple as plain text look like something went horribly wrong during its transmission and now it looks like gibberish.

How to decrypt AES

We understand that AES and the whole encryption process can be a bit of a handful, as the multitude of steps, as well as the fact that they’re repeated for an ungodly amount of time, can be a bit intimidating.

However, if you take a step back and look at the big picture, the whole thing actually starts to make sense, even for someone who didn’t spend their whole life studying cryptography and designing the perfect way to encrypt or decrypt information.

That’s precisely why we’re pretty confident you’ll have no trouble understanding AES decryption if the encryption process along with all of its steps made sense to you. To put it shortly, AES decryption follows the exact same steps as the encryption process, only they’re reversed.

So, in our case, if we want to go back to ‘addictivetips.com’ from RcadDaLDuP5fHtor3/Rfnq5EijEfhP02pvrlGkGr1Gc=, all we have to do is trace our steps back up until we reach the initial one, like so:

  1. Inverse adding round key
  2. Inverse row shifting
  3. Inverse byte substitution
  4. Inverse adding round key
  5. Inverse column mixing
  6. Inverse row shifting
  7. Inverse byte substitution
  8. Repeat steps 4-7 for 9, 11, or 13 times depending on key length
  9. Inverse add round key

After performing all the steps above, we should end up with our original text fragment, ‘addictivetips.com’.

Is AES encryption secure?

AES encryption examples

One of the most pressing questions when it comes to all encryption standards (not only AES) is if it can provide you with an optimum level of security. In this case, the question would be: is AES encryption secure?

Although you could see for yourself that this encryption standard deploys a huge number of steps, each of which scrambles the original text and twists it beyond recognition, this didn’t seem to stop attackers from designing potential ways to circumvent these means of protection.

Note that in a real-life situation, an attacker (commonly known as a hacker or cracker) won’t go after the tallest, thickest wall in its attempt to invade the virtual fortress that is your PC, database, archive, or whatever you’re trying to protect.

Instead, they will circle the proverbial walls several times trying to find any cracks worth exploiting, and then start drilling there. In our situation, attackers may want to spot any vulnerabilities in the AES encryption process and start working their way up from there.

Thankfully, cryptography researchers constantly try to find vulnerabilities with the AES encryption process, so as to be able to prevent a potential attack from someone who discovers the flaws first and (obviously) doesn’t share them with the whole world.

Up until now, the researchers have been able to identify a series of attacks that could compromise AES, but these are either purely theoretical, side-channel attacks, or cracking attempts with a known security key, as you’ll soon learn from the following sections.

1. Known-key distinguishing attack

An attack that used a known key was designed by cryptography researchers and observed in action, and it showed some promising results. The attack was introduced in 2007 by Vincent Rijmen and Lars Knudsen.

While that’s not exactly great for the AES encryption method, this attack had two flaws that make it unlikely to be used in a real-life scenario: the fact that it used a known key, and that it was tested against a seven-round version of AES-128.

Considering that most of the time the key is not known to the attacker (unless they happen to just stumble upon it with precise instructions regarding its purpose) and that AES-128 has 10 rounds of encryption, everyday AES-128 can rest assured that the attack is not likely to occur.

The fact that most services that offer AES-128 also feature native support for AES-256 means that boosting your encryption couldn’t be easier in case you’re worried about being targeted by a known-key distinguishing attack.

2. Related key attack

Related key attacks are more of a category, as they represent all forms of cryptanalysis where attackers can analyze the way a cipher works under multiple keys. In this type of attack, the attacker doesn’t know the values of the keys used in the cipher.

However, although unknown, the keys also have some sort of mathematical relation one to another, which the attacker does know. One of the simplest examples would be that the attacker knows that the first 16 bits of the keys are always the same, but has no idea what the bits actually are.

Although related key attacks could be successful if applied correctly, they are of no real concern in the real world. In order for such an attack to work, an attacker would need to successfully persuade a cryptographer to encrypt data using various secret keys that are connected to each other mathematically, then share the secret with the attacker.

Thus, this type of attack servers merely as a reminder that human error could contribute to putting some kinks in the AES armor by being subject to poor implementation of this encryption standard.

3. Side-channel attack

Although AES is, at the time being, virtually uncrackable, there have been many attempts to design theoretical attacks that could demonstrate some of this encryption standard’s vulnerabilities.

Even if it’s been 20 years since AES has been introduced, and technology has made some huge advancements over these past 20 years, the amount of computing power needed to brute-force AES is still not enough, and we’d still need billions of years to be able to crack it.

However, a different breed of attempts to break the security of AES encryption is the side-channel attack. This type of attack combines multiple types of data leaks to extract enough data from an algorithm that it can be cracked.

For instance, attackers could focus on power consumption, electromagnetic radiation, the time it takes various computations to be performed, and even the sounds produced during computation to extract more information about the algorithm.

There are several classes of side-channel, including:

  • Timing attacks
    • Timing attacks revolve around measuring the time it takes for certain computations to be performed (for instance comparing a known password against an unknown one).
  • Cache attacks
    • These attacks are only viable if the attacker can access some of the victim’s caches in various environments, whether it’s virtualization environments (virtual machines), shared physical systems, or cloud services we’re talking about.
  • Electromagnetic attacks
    • Electromagnetic attacks are based on electromagnetic radiation leaks, which can be used to extract various bits of information. Measuring electromagnetic radiation leaks can sometimes lead to discovering cryptographic keys.
  • Power-monitoring attacks
    • Attackers monitor the power consumption of the hardware during certain computation steps in order to extract information about the algorithm.
  • Acoustic cryptanalisis
    • Similar to the power-monitoring attacks, but attackers listen to and analyze the sounds that hardware makes when performing certain computation steps and extract information from these findings.
  • Data remanence
    • This type of attack revolves around sensitive data that can still be accessed and read even after being deleted.
  • Optical analysis
    • In this complex type of attack, high-resolution cameras are used to capture secrets or sensitive data (such as analyzing hard disk activity indicators or transistors switching states).
  • Differential fault analysis
    • This type of attack is based on discovering secrets by inputting faults in computation in order to trigger an error.

Although you can agree that these side-channels are nothing short of creative and their authors can use them to turn even the most seemingly insignificant detail into a veritable piece of information, they only work if the system being audited is leaking information.

For that reason, avoiding side-channel attacks can be easily achieved either by making sure that the systems that could be attacked don’t leak any data or by ensuring that there’s no association between the algorithmic processes and leaked data, regardless of its nature.

4. Key recovery attacks

Last, but not least, the key recovery attacks are a tough contestant when it comes to efficient ways to crack AES encryption. In 2011, such an attack was attempted to prove its efficacy against the AES encryption mechanism.

This type of attack is not exactly likely to occur, seeing as it involves the attacker getting its hands on at least a pair of encrypted and decrypted messages from the soon-to-be-compromised system.

The attack showed promising results, as it was approximately four times as fast as brute-forcing. However, considering that a brute-force attack would take literally billions of years to complete, key recovery attacks are still far from being ideal, which makes them unlikely to be used in an attack.

Furthermore, even if it took a shorter amount of time to complete, changing the security key often could render the pair of encrypted and decrypted messages useless.

Is AES secure?

Considering everything you’ve learned by going through this guide, we think that you can be the judge of whether or not AES is a safe encryption standard.

AES has been around since 2001, and since its introduction, there were numerous attempts to break it, which makes it safe to say that it stood the test of time, and it’s still a solid choice when it comes to encryption algorithms.

The sheer amount of steps the algorithmic process goes through in order to make the data unreadable is tremendous, and it would take literally billions of years to crack AES, even with today’s computation power and technology advancements.

So, to answer your question considering all of the above: yes, AES is secure. Even AES-128 proved to be downright impossible to crack, not to mention its more powerful counterparts, AES-192, and AES-256.

AES Encryption – CONCLUSION

All things considered, after reading our extensive guide we hope you learned more about AES, including how it works, what processes it goes through during the encryption process, where it can be used, and how it could be (at a theoretical level) compromised.

The fact that 20 years after its introduction it’s still fast, secure, and can be implemented on a huge variety of hardware and software environments makes it truly deserve its title of being the “gold standard” of encryption techniques.

Categories: IT Info