Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Advanced Encryption Standard ( AES ), также известный под своим первоначальным названием Rijndael ( Голландский произношение: [rɛindaːl] ), [3] является спецификацией для шифрования электронных данных , установленных в США Национальным институтом стандартов и технологий (NIST) в 2001. [4]

AES - это подмножество блочного шифра Rijndael [3], разработанное двумя бельгийскими криптографами, Винсентом Рейменом и Джоан Дэемен , которые подали предложение [5] в NIST во время процесса выбора AES . [6] Rijndael - это семейство шифров с разными ключами и размерами блоков. Для AES NIST выбрал три члена семейства Rijndael, каждый с размером блока 128 бит, но с тремя разными длинами ключей: 128, 192 и 256 бит.

AES был принят правительством США . Он заменяет Стандарт шифрования данных (DES) [7], который был опубликован в 1977 году. Алгоритм, описанный AES, является алгоритмом с симметричным ключом , что означает, что один и тот же ключ используется как для шифрования, так и для дешифрования данных.

В Соединенных Штатах AES был объявлен NIST как US FIPS PUB 197 (FIPS 197) 26 ноября 2001 г. [4] Это объявление последовало за пятилетним процессом стандартизации, в ходе которого были представлены и оценены пятнадцать конкурирующих проектов, прежде чем Шифр Rijndael был выбран как наиболее подходящий (подробнее см. Процесс Advanced Encryption Standard ).

AES включен в стандарт ISO / IEC 18033-3 . AES вступил в силу в качестве стандарта федерального правительства США 26 мая 2002 г. после утверждения министром торговли США . AES доступен во многих различных пакетах шифрования и является первым (и единственным) общедоступным шифром, одобренным Агентством национальной безопасности США (NSA) для сверхсекретной информации при использовании в одобренном NSA криптографическом модуле (см. Безопасность AES ниже) .

Окончательные стандарты [ править ]

Расширенный стандарт шифрования (AES) определяется в каждом из:

  • FIPS PUB 197: Расширенный стандарт шифрования (AES) [4]
  • ISO / IEC 18033-3: Блочные шифры [8]

Описание шифров [ править ]

AES основан на принципе проектирования, известном как сеть замещения-перестановки , и эффективен как в программном, так и в аппаратном обеспечении. [9] В отличие от своего предшественника DES, AES не использует сеть Фейстеля . AES - это вариант Rijndael с фиксированным размером блока 128 бит и размером ключа 128, 192 или 256 бит. Напротив, Rijndael как таковой определяется с размерами блоков и ключей, которые могут быть любым кратным 32 битам, минимум 128 и максимум 256 бит.

AES работает с массивом байтов размером 4 × 4 столбца , называемым состоянием . [примечание 3] Большинство вычислений AES выполняется в конкретном конечном поле .

Например, 16 байт представлены как этот двумерный массив:

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

  • 10 раундов для 128-битных ключей.
  • 12 раундов для 192-битных ключей.
  • 14 раундов для 256-битных ключей.

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

Общее описание алгоритма [ править ]

  1. KeyExpansion  - раундовые ключи получаются из ключа шифра с использованием расписания ключей AES . AES требует отдельного 128-битного блока ключей раунда для каждого раунда плюс еще один.
  2. Добавление начального раундового ключа:
    1. AddRoundKey  - каждый байт состояния объединяется с байтом ключа раунда с помощью побитового xor .
  3. 9, 11 или 13 патронов:
    1. SubBytes  - шаг нелинейной замены, на котором каждый байт заменяется другим в соответствии с таблицей поиска .
    2. ShiftRows  - шаг транспонирования, при котором последние три строки состояния циклически сдвигаются на определенное количество шагов.
    3. MixColumns  - операция линейного смешивания, которая работает со столбцами состояния, объединяя четыре байта в каждом столбце.
    4. AddRoundKey
  4. Финальный раунд (всего 10, 12 или 14 раундов):
    1. SubBytes
    2. ShiftRows
    3. AddRoundKey

SubBytes шаг [ править ]

На этапе SubBytes каждый байт в состоянии заменяется его записью в фиксированной 8-битной таблице поиска S ; b ij = S (a ij ) .

На этапе SubBytes каждый байт в массиве состояний заменяется SubByte с использованием 8-битного блока подстановки . Эта операция обеспечивает нелинейность шифра . Используемый S-блок получен из мультипликативной обратной функции над GF (2 8 ) , которая, как известно, имеет хорошие свойства нелинейности. Чтобы избежать атак, основанных на простых алгебраических свойствах, S-блок создается путем объединения обратной функции с обратимым аффинным преобразованием . S-блок также выбран, чтобы избежать каких-либо неподвижных точек (и, следовательно, расстройства ), т. Е. , а также любые противоположные неподвижные точки, т . е . При расшифровке используется шаг InvSubBytes (обратный к SubBytes ), который требует сначала взять обратное для аффинного преобразования, а затем найти мультипликативное обратное.

ShiftRows шаг [ править ]

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

ShiftRows шаг работает на строках состояния; он циклически сдвигает байты в каждой строке на определенное смещение . Для AES первая строка остается без изменений. Каждый байт второй строки сдвигается на единицу влево. Точно так же третья и четвертая строки сдвигаются на два и три смещения соответственно. [примечание 4] Таким образом, каждый столбец состояния вывода шага ShiftRows состоит из байтов из каждого столбца состояния ввода. Важность этого шага состоит в том, чтобы избежать независимого шифрования столбцов, в этом случае AES выродится в четыре независимых блочных шифра.

MixColumns шаг [ править ]

На шаге MixColumns каждый столбец состояния умножается на фиксированный полином .

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

Во время этой операции каждый столбец преобразуется с использованием фиксированной матрицы (матрица, умноженная слева на столбец, дает новое значение столбца в состоянии):

Умножение матриц состоит из умножения и сложения записей. Записи рассматриваются как байты как коэффициенты полинома порядка . Сложение - это просто XOR. Умножение производится по модулю неприводимого многочлена . Если обрабатывается побитно, то после сдвига должен выполняться условный XOR с 1B 16 , если сдвинутое значение больше FF 16 (переполнение должно быть исправлено вычитанием генерирующего полинома). Это частные случаи обычного умножения в .

В более общем смысле каждый столбец рассматривается как многочлен над и затем умножается по модулю на фиксированный многочлен . Коэффициенты отображаются в их шестнадцатеричном эквиваленте двоичного представления битовых многочленов из . MixColumns шаг также можно рассматривать как умножение на показанной конкретные матрицы РМР в конечной области . Этот процесс описан далее в статье Rijndael MixColumns .

AddRoundKey шаг [ править ]

На шаге AddRoundKey каждый байт состояния комбинируется с байтом подключа раунда с помощью операции XOR ().

На шаге AddRoundKey подраздел объединяется с состоянием. Для каждого раунда подключ получается из основного ключа с использованием расписания ключей Rijndael ; каждый подключ имеет тот же размер, что и состояние. Подключ добавляется путем объединения каждого байта состояния с соответствующим байтом подраздела с помощью побитового XOR .

Оптимизация шифра [ править ]

В системах с 32-битными или большими словами можно ускорить выполнение этого шифра, объединив шаги SubBytes и ShiftRows с шагом MixColumns , преобразовав их в последовательность поиска по таблице. Для этого требуются четыре 32-битные таблицы с 256 записями (вместе занимающие 4096 байт). Затем цикл может быть выполнен с помощью 16 операций поиска в таблице и 12 32-битных операций исключающего ИЛИ, за которыми следуют четыре 32-битных операции исключающего ИЛИ на этапе AddRoundKey . [10] В качестве альтернативы, операция поиска в таблице может выполняться с одной 32-битной таблицей с 256 записями (занимающей 1024 байта) с последующими операциями кругового вращения.

Используя байтовый подход, можно объединить шаги SubBytes , ShiftRows и MixColumns в одну операцию раунда. [11]

Безопасность [ править ]

Агентство национальной безопасности (АНБ) проверило всех финалистов AES, включая Риджндала, и заявило, что все они были достаточно безопасными для несекретных данных правительства США. В июне 2003 года правительство США объявило, что AES может использоваться для защиты секретной информации :

Дизайн и надежность всех длин ключей алгоритма AES (т. Е. 128, 192 и 256) достаточны для защиты секретной информации до уровня SECRET. СОВЕРШЕННО СЕКРЕТНАЯ информация потребует использования ключей длиной 192 или 256. Внедрение AES в продукты, предназначенные для защиты систем национальной безопасности и / или информации, должно быть проверено и сертифицировано АНБ до их приобретения и использования. [12]

AES имеет 10 раундов для 128-битных ключей, 12 раундов для 192-битных ключей и 14 раундов для 256-битных ключей.

К 2006 году самые известные атаки были на 7 раундов для 128-битных ключей, 8 раундов для 192-битных ключей и 9 раундов для 256-битных ключей. [13]

Известные атаки [ править ]

Для криптографов криптографический «взлом» - это что-то более быстрое, чем атака полным перебором, то есть выполнение одного пробного дешифрования для каждого возможного ключа в последовательности (см. Криптоанализ ). Таким образом, перерыв может включать результаты, которые недостижимы при использовании современных технологий. Несмотря на то, что теоретические исследования непрактичны, иногда они могут дать представление о моделях уязвимости. Самая большая успешная общеизвестный перебор атака на алгоритм шифрования широко реализован блок-шифр была против 64-битного RC5 ключа по distributed.net в 2006 году [14]

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

AES имеет довольно простую алгебраическую основу. [15] В 2002 году Николя Куртуа и Йозеф Пиепшик объявили о теоретической атаке, названной « XSL-атакой », с целью показать слабость алгоритма AES, частично из-за низкой сложности его нелинейных компонентов. [16] С тех пор другие документы показали, что атака в том виде, в котором она была представлена ​​изначально, неосуществима; см. XSL-атака на блочные шифры .

В процессе выбора AES разработчики конкурирующих алгоритмов написали об алгоритме Райндала: «Мы обеспокоены его использованием ... в критически важных для безопасности приложениях». [17] В октябре 2000 года, однако, в конце процесса выбора AES Брюс Шнайер , разработчик конкурирующего алгоритма Twofish , написал, что, хотя он думал, что успешные академические атаки на Rijndael когда-нибудь будут разработаны, он «не верил, что любой когда-либо обнаружит атаку, которая позволит кому-либо читать трафик Rijndael ". [18]

До мая 2009 года единственными успешными опубликованными атаками на полную версию AES были атаки по побочным каналам на некоторые конкретные реализации. В 2009 году была обнаружена новая атака на основе связанных ключей , использующая простоту расписания ключей AES и имеющая сложность 2119 . В декабре 2009 года он был улучшен до 2 99,5 . [2] Это продолжение атаки, обнаруженной ранее в 2009 году Алексом Бирюковым , Дмитрием Ховратовичем и Ивицей Николичем, со сложностью 2 96 для одного из каждых 2 35 ключей. [19]Однако атаки со связанными ключами не вызывают беспокойства ни в одном должным образом разработанном криптографическом протоколе, поскольку правильно разработанный протокол (т. Е. Программное обеспечение для реализации) позаботится о том, чтобы не допустить использование связанных ключей, по существу, ограничивая средства злоумышленника в выборе ключей для определения взаимосвязи.

Еще одна атака была опубликована в блоге Брюса Шнайера [20] 30 июля 2009 г. и выпущена в виде препринта [21] 3 августа 2009 г. Эта новая атака была проведена Алексом Бирюковым, Орром Дункельманом, Натаном Келлером, Дмитрием Ховратовичем и Ади Шамиром. , против AES-256, который использует только два связанных ключа и 2 39 раз, чтобы восстановить полный 256-битный ключ 9-раундовой версии, или 2 45 раз для 10-раундовой версии с более сильным типом атаки связанных подключей, или 2 70 раз для 11-раундового варианта. 256-битный AES использует 14 раундов, поэтому эти атаки не эффективны против полного AES.

Практичность этих атак с более сильными связанными ключами подвергалась критике [22], например, в статье об атаках с выбранным ключом в середине на AES-128, автором которой является Винсент Раймен в 2010 году [23].

В ноябре 2009 года в виде препринта была выпущена первая атака с распознаванием ключа против сокращенной 8-раундовой версии AES-128. [24] Эта атака с распознаванием известного ключа является улучшением отскока, или атаки «начало с середины», против AES-подобных перестановок, которые рассматривают два последовательных раунда перестановки как применение так называемой супер- S-бокс. Он работает с 8-раундовой версией AES-128 с временной сложностью 2 48 и сложностью памяти 2 32 . 128-битный AES использует 10 раундов, поэтому эта атака не эффективна против полного AES-128.

Первые атаки с восстановлением ключа на полный AES были предприняты Андреем Богдановым, Дмитрием Ховратовичем и Кристианом Рехбергером и были опубликованы в 2011 году. [25] Атака является бикликовой атакой и примерно в четыре раза быстрее грубой силы. Для восстановления ключа AES-128 требуется 2 операции 126,2 . Для AES-192 и AES-256 требуется 2 операций 190,2 и 2 254,6 соответственно. Этот результат был дополнительно улучшен до 2 126,0 для AES-128, 2 189,9 для AES-192 и 2 254,3 для AES-256, [26], которые на данный момент являются лучшими результатами атаки восстановления ключа против AES.

Это очень небольшой выигрыш, поскольку 126-битный ключ (вместо 128-битного) все равно потребует миллиарды лет, чтобы перебрать текущее и ожидаемое оборудование. Кроме того, авторы вычисляют лучшую атаку, используя свою технику на AES со 128-битным ключом, требующим хранения 2 88 бит данных. Это составляет около 38 триллионов терабайт данных, что больше, чем все данные, хранящиеся на всех компьютерах планеты в 2016 году. Таким образом, нет никаких практических последствий для безопасности AES. [27] Сложность пространства позже была улучшена до 2 56 бит, [26] что составляет 9007 терабайт.

Согласно документам Сноудена , АНБ изучает, может ли криптографическая атака, основанная на статистике тау, взломать AES. [28]

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

Атаки по побочным каналам [ править ]

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

В апреле 2005 года DJ Bernstein объявил об атаке с использованием тайминга кеша, которую он использовал для взлома пользовательского сервера, который использовал шифрование OpenSSL AES. [29] Для атаки потребовалось более 200 миллионов выбранных открытых текстов. [30] Пользовательский сервер был разработан так, чтобы выдавать как можно больше информации о времени (сервер сообщает количество машинных циклов, затраченных на операцию шифрования). Однако, как указал Бернштейн, «уменьшение точности временных меток сервера или их исключение из ответов сервера не останавливает атаку: клиент просто использует время приема-передачи, основанное на своих локальных часах, и компенсирует повышенный шум. путем усреднения по большему количеству образцов ". [29]

В октябре 2005 года Даг Арне Освик, Ади Шамир и Эран Тромер представили документ, демонстрирующий несколько атак с использованием тайминга кеширования против реализаций AES, обнаруженных в OpenSSL и dm-cryptфункции шифрования разделов Linux . [31] Одна атака смогла получить весь ключ AES всего за 800 операций, запускающих шифрование, в общей сложности за 65 миллисекунд. Эта атака требует, чтобы злоумышленник мог запускать программы в той же системе или платформе, на которой выполняется AES.

В декабре 2009 года была опубликована атака на некоторые аппаратные реализации, в которой использовался дифференциальный анализ неисправностей и которая позволяет восстановить ключ со сложностью 2 32 . [32]

В ноябре 2010 года Эндре Бангертер, Дэвид Гуллаш и Стефан Кренн опубликовали статью, в которой описал практический подход к восстановлению секретных ключей из AES-128 «почти в реальном времени» без необходимости в шифрованном или открытом тексте. Этот подход также работает с реализациями AES-128, которые используют таблицы сжатия, такие как OpenSSL. [33] Подобно некоторым более ранним атакам, эта требует возможности запускать непривилегированный код в системе, выполняющей шифрование AES, что может быть достигнуто путем заражения вредоносным ПО гораздо проще, чем реквизиция учетной записи root. [34]

В марте 2016 года Ашоккумар С., Рави Пракаш Гири и Бернард Менезес представили атаку по побочному каналу на реализации AES, которая может восстановить полный 128-битный ключ AES всего за 6-7 блоков открытого текста / зашифрованного текста, что является существенным улучшением по сравнению с предыдущие работы, требующие от 100 до миллиона шифрований. [35] Предлагаемая атака требует стандартных привилегий пользователя, а алгоритмы извлечения ключей выполняются менее чем за минуту.

Многие современные процессоры имеют встроенные аппаратные инструкции для AES , которые защищают от атак по побочным каналам, связанных с синхронизацией. [36] [37]

Проверка NIST / CSEC [ править ]

Программа проверки криптографических модулей (CMVP) осуществляется совместно Национальным институтом стандартов и технологий (NIST) правительства США и Управлением безопасности связи (CSE) правительства Канады. Использование криптографических модулей, подтвержденных NIST FIPS 140-2Требуется правительством США для шифрования всех данных, имеющих классификацию «Чувствительные, но несекретные» (SBU) или выше. Из NSTISSP # 11, Национальная политика, регулирующая получение информации: «Продукты шифрования для защиты секретной информации будут сертифицированы NSA, а продукты шифрования, предназначенные для защиты конфиденциальной информации, будут сертифицированы в соответствии с NIST FIPS 140-2». [38]

Правительство Канады также рекомендует использовать утвержденные FIPS 140 криптографические модули в несекретных приложениях своих ведомств.

Хотя публикация NIST 197 («FIPS 197») является уникальным документом, охватывающим алгоритм AES, поставщики обычно обращаются к CMVP в соответствии с FIPS 140 и просят одновременно проверить несколько алгоритмов (например, Triple DES или SHA1 ). Следовательно, редко можно найти криптографические модули, которые однозначно проверены FIPS 197, а сам NIST обычно не тратит время на то, чтобы перечислить проверенные модули FIPS 197 отдельно на своем общедоступном веб-сайте. Вместо этого проверка FIPS 197 обычно просто указывается как нотация «Утверждено FIPS: AES» (с конкретным номером сертификата FIPS 197) в текущем списке проверенных криптографических модулей FIPS 140.

Программа проверки криптографических алгоритмов (CAVP) [39] позволяет проводить независимую проверку правильности реализации алгоритма AES. Успешная проверка приводит к появлению в списке на странице проверок NIST. [40] Это тестирование является предварительным условием для проверки модуля FIPS 140-2, описанной ниже. Однако успешная проверка CAVP никоим образом не означает, что криптографический модуль, реализующий алгоритм, безопасен. Криптографический модуль без проверки FIPS 140-2 или специального одобрения NSA не считается безопасным правительством США и не может использоваться для защиты правительственных данных. [38]

Проверка FIPS 140-2 является сложной задачей как с технической, так и с финансовой точки зрения. [41] Существует стандартный набор тестов, а также элемент проверки исходного кода, который необходимо пройти в течение нескольких недель. Стоимость проведения этих тестов в утвержденной лаборатории может быть значительной (например, более 30 000 долларов США) [41] и не включает время, необходимое для написания, тестирования, документирования и подготовки модуля для проверки. После проверки модули должны быть повторно представлены и повторно оценены, если они каким-либо образом изменены. Это может отличаться от простых обновлений документов, если функциональные возможности безопасности не изменились, до более существенного набора повторных проверок, если на функциональные возможности безопасности это изменение повлияло.

Тестовые векторы [ править ]

Тестовые векторы - это набор известных шифров для заданного входа и ключа. NIST распределяет эталоны тестовых векторов AES как векторы теста известных ответов AES (KAT). [примечание 5]

Производительность [ править ]

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

На Pentium Pro для шифрования AES требуется 18 тактовых циклов на байт [42], что эквивалентно пропускной способности около 11 МБ / с для процессора с тактовой частотой 200 МГц.

На процессорах Intel Core и AMD Ryzen, поддерживающих расширения набора инструкций AES-NI , пропускная способность может составлять несколько ГБ / с (даже более 10 ГБ / с). [43]

Если аппаратное обеспечение ЦП не поддерживает ускорение AES, ChaCha представляет собой альтернативный шифр с более высокой производительностью и без ущерба для безопасности. [44] [45]

Реализации [ править ]

См. Также [ править ]

  • Режимы работы AES
  • Шифрование диска
  • Сетевое шифрование
  • Whirlpool - хеш-функция, созданная Винсентом Рейменом и Пауло SLM Баррето
  • Список бесплатных программных пакетов и пакетов с открытым исходным кодом

Заметки [ править ]

  1. ^ Размеры ключей 128, 160, 192, 224 и 256 бит поддерживаются алгоритмом Rijndael, но в стандарте AES указаны только размеры ключей 128, 192 и 256 бит.
  2. ^ Размеры блока 128, 160, 192, 224 и 256 бит поддерживаются алгоритмом Rijndael для каждого размера ключа, но в стандарте AES указан только размер блока 128 бит.
  3. ^ Варианты Rijndael с большими блоками используют массив с дополнительными столбцами, но всегда с четырьмя строками.
  4. ^ Варианты Rijndael с большим размером блока имеют немного другие смещения. Для блоков размером 128 бит и 192 бит схема сдвига одинакова. Строкасдвинута влево по кругу набайты. Для 256-битного блока первая строка не изменяется, а сдвиг для второй, третьей и четвертой строк составляет 1, 3 и 4 байта соответственно - это изменение применяется только для шифра Rijndael при использовании с 256-битным блоком. , поскольку AES не использует 256-битные блоки.
  5. ^ Векторы теста известных ответов AES (KAT) доступны в формате Zip на сайте NIST здесь. Архивировано 23 октября 2009 г. на Wayback Machine.

Ссылки [ править ]

  1. ^ "Biclique Cryptanalysis полного AES" (PDF) . Архивировано из оригинального (PDF) 6 марта 2016 года . Проверено 1 мая 2019 года .
  2. ^ a b Алекс Бирюков и Дмитрий Ховратович, Криптоанализ связанных ключей полного AES-192 и AES-256 , «Архивная копия» . Таблица 1. архивации от оригинала на 2009-09-28 . Проверено 16 февраля 2010 .CS1 maint: archived copy as title (link)
  3. ^ a b Дэмен, Джоан; Раймен, Винсент (9 марта 2003 г.). «Предложение AES: Rijndael» (PDF) . Национальный институт стандартов и технологий. п. 1. Архивировано (PDF) из оригинала 5 марта 2013 года . Проверено 21 февраля 2013 года .
  4. ^ a b c «Объявление РАСШИРЕННОГО СТАНДАРТА ШИФРОВАНИЯ (AES)» (PDF) . Публикация Федеральных стандартов обработки информации 197 . Национальный институт стандартов и технологий США (NIST). 26 ноября 2001 года архивации (PDF) с оригинала на 12 марта 2017 года . Проверено 2 октября 2012 года .
  5. ^ Джоан Daemen и Винсент Рэймен (3 сентября 1999). «Предложение AES: Rijndael» (PDF) . Архивировано из оригинала (PDF) от 3 февраля 2007 года.
  6. Джон Шварц (3 октября 2000 г.). «США выбирают новую технику шифрования» . Нью-Йорк Таймс . Архивировано 28 марта 2017 года.
  7. ^ Вестлунд, Гарольд Б. (2002). «NIST сообщает об измеримом успехе Advanced Encryption Standard» . Журнал исследований Национального института стандартов и технологий . Архивировано из оригинала на 2007-11-03.
  8. ^ «ISO / IEC 18033-3: Информационные технологии - Методы безопасности - Алгоритмы шифрования - Часть 3: Блочные шифры» . Архивировано 03 декабря 2013 года.
  9. ^ Брюс Шнайер; Джон Келси; Дуг Уайтинг; Давид Вагнер; Крис Холл; Нильс Фергюсон; Тадаёши Коно; и другие. (Май 2000 г.). «Заключительные комментарии команды Twofish по выбору AES» (PDF) . Архивировано (PDF) из оригинала 02.01.2010.
  10. ^ «Эффективная программная реализация AES на 32-битных платформах». Конспект лекций по информатике: 2523. 2003 г.
  11. ^ "byte-orient-aes - Байт-ориентированная реализация AES в C - Хостинг проектов Google" . Архивировано 20 июля 2013 года . Проверено 23 декабря 2012 .
  12. ^ Линн Хэтэуэй (июнь 2003 г.). «Национальная политика по использованию усовершенствованного стандарта шифрования (AES) для защиты систем национальной безопасности и информации о национальной безопасности» (PDF) . Архивировано (PDF) из оригинала 06.11.2010 . Проверено 15 февраля 2011 .
  13. ^ Джон Келси , Стефан Лакс , Брюс Шнайер , Майк Стей , Дэвид Вагнер и Дуг Уайтинг , Улучшенный криптоанализ Риджндаля , Быстрое шифрование программного обеспечения , 2000, стр 213–230 "Академический: Улучшенный криптоанализ Рийндаля - Шнайера по безопасности" . Архивировано 23 февраля 2007 года . Проверено 6 марта 2007 .
  14. Оу, Джордж (30 апреля 2006 г.). "Действительно ли шифрование поддается взлому?" . Зифф-Дэвис. Архивировано 8 августа 2010 года . Проверено 7 августа 2010 года .
  15. ^ "Шон Мерфи" . Лондонский университет. Архивировано 31 января 2009 года . Проверено 2 ноября 2008 .
  16. ^ Брюс Шнайер. «Новости AES, информационный бюллетень Crypto-Gram, 15 сентября 2002 г.» . Архивировано 7 июля 2007 года . Проверено 27 июля 2007 .
  17. ^ Нильс Фергюсон ; Ричард Шрёппель ; Дуг Уайтинг (2001). «Простое алгебраическое представление Rijndael» . Proceedings of Selected Areas in Cryptography, 2001, Lecture Notes in Computer Science . Springer-Verlag . С. 103–111. CiteSeerX 10.1.1.28.4921 . Архивировано из оригинала (PDF / PostScript ) 4 ноября 2006 года . Проверено 6 октября 2006 . 
  18. Брюс Шнайер, AES, объявленное в архиве, архивировано 01февраля2009 г. в Wayback Machine , 15 октября 2000 г.
  19. ^ Николич, Ивица (2009). «Атака с использованием отличительных и связанных ключей на полный AES-256». Достижения в криптологии - CRYPTO 2009 . Конспект лекций по информатике. 5677 . Springer Berlin / Heidelberg. С. 231–249. DOI : 10.1007 / 978-3-642-03356-8_14 . ISBN 978-3-642-03355-1.
  20. Брюс Шнайер (30 июля 2009 г.). «Еще одна новая атака AES» . Шнайер о безопасности, блог, посвященный безопасности и технологиям безопасности . Архивировано 05 октября 2009 года . Проверено 11 марта 2010 .
  21. Алексей Бирюков; Орр Дункельман; Натан Келлер; Дмитрий Ховратович; Ади Шамир (19.08.2009). «Атаки восстановления ключа практической сложности на вариантах AES до 10 раундов» . Архивировано 28 января 2010 года . Проверено 11 марта 2010 .
  22. ^ Агрен, Мартин (2012). О некоторых симметричных облегченных криптографических схемах . Диссертация, Лундский университет. С. 38–39.
  23. ^ Винсент Риджмен (2010). «Атака с практическим названием на AES-128 с использованием отношений выделенного текста» (PDF) . Архивировано (PDF) из оригинала 02.07.2010. Cite journal requires |journal= (help)
  24. ^ Анри Гилберт; Томас Пейрин (2009-11-09). «Криптоанализ Super-Sbox: улучшенные атаки для AES-подобных перестановок» . Архивировано 4 июня 2010 года . Проверено 11 марта 2010 .
  25. ^ Андрей Богданов; Дмитрий Ховратович и Кристиан Рехбергер (2011). «Бикликовый криптоанализ полного AES» (PDF) . Архивировано из оригинального (PDF) 05 сентября 2012 года.
  26. ^ а б Бяошуай Тао и Хунцзюнь Ву (2015). Информационная безопасность и конфиденциальность . Конспект лекций по информатике. 9144 . С. 39–56. DOI : 10.1007 / 978-3-319-19962-7_3 . ISBN 978-3-319-19961-0.
  27. Джеффри Голдберг (18.08.2011). «Шифрование AES не взломано» . Архивировано из оригинала 8 января 2015 года . Проверено 30 декабря 2014 .
  28. ^ Шпигель ONLINE, Гамбург, Германия (28 декабря 2014). «Внутри войны АНБ с интернет-безопасностью» . SPIEGEL ONLINE . Архивировано 24 января 2015 года . Проверено 4 сентября 2015 года .
  29. ^ a b «Указатель официальных научных статей» . Cr.yp.to. Архивировано 17 сентября 2008 года . Проверено 2 ноября 2008 .
  30. ^ Брюс Шнайер. «Атака по времени AES» . Архивировано 12 февраля 2007 года . Проверено 17 марта 2007 .
  31. ^ Даг Арне Osvik; Ади Шамир; Эран Тромер (20 ноября 2005 г.). «Кэш-атаки и меры противодействия: случай AES» (PDF) . Архивировано (PDF) из оригинала 19 июня 2006 года . Проверено 2 ноября 2008 . Cite journal requires |journal= (help)
  32. ^ Дхиман Саха; Дебдип Мухопадхьяй; Дипанвита РойЧоудхури. «Диагональная атака с ошибкой на усовершенствованный стандарт шифрования» (PDF) . Архивировано 22 декабря 2009 года (PDF) . Проверено 8 декабря 2009 . Cite journal requires |journal= (help)
  33. ^ Эндре Бангертер; Дэвид Гуллаш и Стефан Кренн (2010). «Игры с кешем - внедрение кэш-атак на основе доступа на AES на практике» (PDF) . Архивировано (PDF) из оригинала 14 декабря 2010 года. Cite journal requires |journal= (help)
  34. ^ «Взлом AES-128 в реальном времени, зашифрованный текст не требуется | Hacker News» . News.ycombinator.com. Архивировано 03.10.2011 . Проверено 23 декабря 2012 .
  35. ^ Ashokkumar C .; Рави Пракаш Гири; Бернар Менезеш (2016). Европейский симпозиум по безопасности и конфиденциальности IEEE 2016 г. (EuroS & P) . С. 261–275. DOI : 10.1109 / EuroSP.2016.29 . ISBN 978-1-5090-1751-5. S2CID  11251391 .
  36. ^ "Возможны ли по-прежнему атаки на кэш AES x86 по времени?" (PDF) . cseweb.ucsd.edu . Архивировано (PDF) из оригинала на 2017-08-09.
  37. ^ «Архивная копия» (PDF) . Архивации (PDF) с оригинала на 2013-03-31 . Проверено 26 июля 2017 . CS1 maint: archived copy as title (link) Обеспечение безопасности предприятия с помощью Intel AES-NI
  38. ^ a b «Архивная копия» (PDF) . Архивировано из оригинального (PDF) 21 апреля 2012 года . Проверено 29 мая 2012 . CS1 maint: archived copy as title (link)
  39. ^ "NIST.gov - Отдел компьютерной безопасности - Центр ресурсов компьютерной безопасности" . Csrc.nist.gov. Архивировано 2 января 2013 года . Проверено 23 декабря 2012 .
  40. ^ «Проверенные криптографические модули FIPS 140-1 и FIPS 140-2» . Архивировано из оригинала на 2014-12-26 . Проверено 26 июня 2014 .
  41. ^ a b OpenSSL, [email protected]. «Заметки OpenSSL о сертификации FIPS» . Openssl.org. Архивировано из оригинала на 2013-01-02 . Проверено 23 декабря 2012 .
  42. ^ Шнайер, Брюс; Келси, Джон; Уайтинг, Дуг; Вагнер, Давид; Холл, Крис; Фергюсон, Нильс (1999-02-01). «Сравнение производительности представленных AES» (PDF) . Архивировано (PDF) из оригинала 22.06.2011 . Проверено 28 декабря 2010 .
  43. ^ «Обзор AMD Ryzen 7 1700X» .
  44. ^ «Итак, вы хотите использовать альтернативный шифр…» . Несколько мыслей о криптографической инженерии . 9 октября 2012 г.
  45. ^ Бернштейн, Даниэль. «Зачем переходить с AES на новый потоковый шифр?» . cr.yp.to . Проверено 17 февраля 2021 года .
  • Куртуа, Николас; Пиепшик, Йозеф (2003). «Криптоанализ блочных шифров с переопределенными системами уравнений» . Ин Чжэн, Юлян (ред.). Достижения в криптологии - ASIACRYPT 2002: 8-я Международная конференция по теории и применению криптологии и информационной безопасности, Квинстаун, Новая Зеландия, 1–5 декабря 2002 г., Протоколы . Springer. С. 268–287. ISBN 978-3-540-36178-7.
  • Дэмен, Джоан; Раймен, Винсент (2002). Дизайн Rijndael: AES - расширенный стандарт шифрования . Springer. ISBN 978-3-540-42580-9.
  • Паар, Кристоф; Пельцль, янв (2009). Понимание криптографии: Учебник для студентов и практиков . Springer. С. 87–122. ISBN 978-3-642-04101-3. альтернативная ссылка (сопутствующий веб-сайт содержит онлайн-лекции по AES)

Внешние ссылки [ править ]

  • «256-битный ключ - 128-битный блок - AES» . Криптография - 256-битные шифры: справочный исходный код и заявки на участие в международных конкурсах криптографических разработок . EmbeddedSW.
  • «Расширенный стандарт шифрования (AES)» (PDF) . Федеральные стандарты обработки информации . 26 ноября 2001 г. doi : 10.6028 / NIST.FIPS.197 . 197.
  • Архивная информация алгоритма AES - (старая, неподдерживаемая)
  • «Часть 3: Блочные шифры» (PDF) . Информационные технологии - Методы безопасности - Алгоритмы шифрования (2-е изд.). ISO. 2010-12-15. ИСО / МЭК 18033-3: 2010 (E).
  • Анимация Rijndael - AES подробно объяснил и анимировал с помощью Flash (Энрике Забала / Университет ОРТ / Монтевидео / Уругвай). Эта анимация (на английском, испанском и немецком языках) также является частью CrypTool 1 (меню Индив. Процедуры → Визуализация алгоритмов → AES).
  • HTML5-анимация Rijndael - та же анимация, что и выше, сделанная в HTML5.