Расширенный стандарт шифрования

Из Википедии, бесплатной энциклопедии
Расширенный стандарт шифрования
(Рейндал)
Визуализация функции раунда AES
Общий
Дизайнеры Джоан Дэмен , Винсент Раймен
Впервые опубликовано 1998
Полученный из Квадрат
Преемники Anubis , Grand Cru , Kalyna
Сертификация AES Победитель , CRYPTREC , NESSIE , АНБ
Деталь шифрования
Размеры ключей 128, 192 или 256 бит [примечание 1]
Размеры блоков 128 бит [заметка 2]
Состав Сеть замены-перестановки
Раунды 10, 12 или 14 (в зависимости от размера ключа)
Лучший публичный криптоанализ
Были опубликованы атаки, которые в вычислительном отношении быстрее, чем полная атака методом перебора , хотя по состоянию на 2023 год ни одна из них не является вычислительно осуществимой. [1]

Для AES-128 ключ можно восстановить с вычислительной сложностью 2 126.1 используя бикличную атаку . Для бикличных атак на AES-192 и AES-256 вычислительная сложность 2 189.7 и 2 254.4 соответственно применять. Атаки с использованием связанных ключей могут сломать AES-256 и AES-192 со сложностью 2. 99.5 и 2 176 как по времени, так и по данным соответственно. [2]

Еще одна атака была опубликована в блоге [3] и выпущен в виде препринта [4] в 2009 году. Эта атака направлена ​​на AES-256, который использует только два связанных ключа и 2 39 время для восстановления полного 256-битного ключа 9-раундовой версии или 2 45 время для версии из 10 раундов с более сильным типом атаки по соответствующему подразделу или 2 70 время для 11-раундовой версии.

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

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

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

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

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

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

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

  • FIPS PUB 197: Стандарт расширенного шифрования (AES). [6]
  • ISO/IEC 18033-3: Блочные шифры. [10]

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

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

AES работает с массивом 4 × 4 по столбцам размером 16 байт b 0 , b 1 , ..., b 15 , называемым состоянием : [примечание 5]

Размер ключа, используемый для шифрования 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. Аддраундкей
  4. Финальный раунд (всего 10, 12 или 14 раундов):
    1. Суббайты
    2. ShiftRows
    3. Аддраундкей

The SubBytes Шаг [ править ]

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

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

The ShiftRows Шаг [ править ]

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

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

The MixColumns Шаг [ править ]

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

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

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

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

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

The AddRoundKey [ править ]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Первые атаки с восстановлением ключей на полный AES были осуществлены Андреем Богдановым, Дмитрием Ховратовичем и Кристианом Рехбергером и были опубликованы в 2011 году. [27] Атака представляет собой бикликовую атаку , которая быстрее грубой силы примерно в четыре раза. Требуется 2 126.2 операции по восстановлению ключа AES-128. Для AES-192 и AES-256, 2 190.2 и 2 254.6 соответственно необходимы операции. Этот результат был дополнительно улучшен до 2 126.0 для АЭС-128, 2 189.9 для АЭС-192 и 2 254.3 для АЭС-256, [28] это лучшие на данный момент результаты в атаке с восстановлением ключа против AES.

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

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

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

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

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

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

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

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

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

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

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

Квантовые атаки [ править ]

AES-256 считается квантовоустойчивым , поскольку он имеет квантовую устойчивость, аналогичную устойчивости AES-128 к традиционным, неквантовым атакам при уровне безопасности 128 бит . AES-192 и AES-128 не считаются квантовоустойчивыми из-за меньшего размера ключей. Устойчивость AES-192 к квантовым атакам составляет 96 бит, а устойчивость AES-128 к квантовым атакам составляет 64 бита, что делает их оба небезопасными. [40] [41]

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

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

Правительство Канады также рекомендует использовать криптографические модули, проверенные по стандарту 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) [43] позволяет провести независимую проверку правильности реализации алгоритма AES. Успешная проверка приводит к включению в список на странице проверок NIST. [44] Это тестирование является обязательным условием для проверки модуля FIPS 140-2. Однако успешная проверка CAVP никоим образом не означает, что криптографический модуль, реализующий алгоритм, безопасен. Криптографический модуль, не имеющий проверки FIPS 140-2 или специального одобрения АНБ, не считается безопасным правительством США и не может использоваться для защиты правительственных данных. [42]

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

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

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

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

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

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

На Intel Core и AMD Ryzen процессорах , поддерживающих расширения набора инструкций AES-NI , пропускная способность может составлять несколько ГиБ/с (даже более 15 ГиБ/с на i7-12700k). [47] На процессоре Intel Westmere шифрование AES с использованием AES-NI занимает около 1,3 cpb для AES-128 и 1,8 cpb для AES-256. [48]

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

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

Примечания [ править ]

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

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

  1. ^ «Бикликовый криптоанализ полного AES» (PDF) . Архивировано из оригинала (PDF) 6 марта 2016 г. Проверено 1 мая 2019 г.
  2. ^ Перейти обратно: а б Алекс Бирюков и Дмитрий Ховратович, Криптоанализ по связанным ключам полного AES-192 и AES-256 , «Криптоанализ связанных ключей полного AES-192 и AES-256» . Таблица 1. Архивировано из оригинала 28 сентября 2009 г. Проверено 16 февраля 2010 г.
  3. ^ Брюс Шнайер (30 июля 2009 г.). «Еще одна новая атака AES» . Schneier on Security, блог, посвященный безопасности и технологиям безопасности . Архивировано из оригинала 5 октября 2009 г. Проверено 11 марта 2010 г.
  4. ^ Алексей Бирюков; Орр Данкельман; Натан Келлер; Дмитрий Ховратович; Ади Шамир (19 августа 2009 г.). «Атаки практической сложности с восстановлением ключей на варианты AES до 10 раундов» . Архивировано из оригинала 28 января 2010 года . Проверено 11 марта 2010 г.
  5. ^ Перейти обратно: а б Дэмен, Джоан; Реймен, Винсент (9 марта 2003 г.). «Предложение AES: Рейндал» (PDF) . Национальный институт стандартов и технологий. п. 1. Архивировано (PDF) из оригинала 5 марта 2013 г. Проверено 21 февраля 2013 г.
  6. ^ Перейти обратно: а б с «Анонсируем РАСШИРЕННЫЙ СТАНДАРТ ШИФРОВАНИЯ (AES)» (PDF) . Публикация федеральных стандартов обработки информации 197 . Национальный институт стандартов и технологий США (NIST). 26 ноября 2001 г. Архивировано (PDF) из оригинала 12 марта 2017 г. . Проверено 2 октября 2012 г.
  7. ^ Джоан Дэмен и Винсент Реймен (3 сентября 1999 г.). «Предложение AES: Рейндал» (PDF) . Архивировано из оригинала (PDF) 3 февраля 2007 г.
  8. ^ Джон Шварц (3 октября 2000 г.). «США выбирают новую технику шифрования» . Газета "Нью-Йорк Таймс . Архивировано из оригинала 28 марта 2017 года.
  9. ^ Вестлунд, Гарольд Б. (2002). «NIST сообщает об измеримом успехе Advanced Encryption Standard» . Журнал исследований Национального института стандартов и технологий . Архивировано из оригинала 3 ноября 2007 г.
  10. ^ «ISO/IEC 18033-3: Информационные технологии. Методы безопасности. Алгоритмы шифрования. Часть 3. Блочные шифры» . Архивировано из оригинала 3 декабря 2013 г.
  11. ^ Брюс Шнайер; Джон Келси; Дуг Уайтинг; Дэвид Вагнер; Крис Холл; Нильс Фергюсон; Тадаёси Коно; и другие. (май 2000 г.). «Заключительные комментарии команды Twofish по выбору AES» (PDF) . Архивировано (PDF) из оригинала 02 января 2010 г.
  12. ^ Бертони, Гвидо; Бревельери, Лука; Фрагнето, Паскуалина; Маккетти, Марко; Марчезин, Стефано (2003). «Эффективная программная реализация AES на 32-битных платформах» . Криптографическое оборудование и встраиваемые системы — CHES 2002 . Конспекты лекций по информатике. Том. 2523. стр. 159–171. дои : 10.1007/3-540-36400-5_13 . ISBN  978-3-540-00409-7 .
  13. ^ «байт-ориентированный-aes — общедоступная байт-ориентированная реализация AES на C — хостинг проектов Google» . Архивировано из оригинала 20 июля 2013 г. Проверено 23 декабря 2012 г.
  14. ^ Линн Хэтэуэй (июнь 2003 г.). «Национальная политика использования расширенного стандарта шифрования (AES) для защиты систем национальной безопасности и информации национальной безопасности» (PDF) . Архивировано (PDF) из оригинала 6 ноября 2010 г. Проверено 15 февраля 2011 г.
  15. ^ Джон Келси , Стефан Лакс , Брюс Шнайер , Майк Стей , Дэвид Вагнер и Дуг Уайтинг , Улучшенный криптоанализ Rijndael , Быстрое шифрование программного обеспечения , 2000, стр. 213–230 «Академический: Улучшенный криптоанализ Рейндала — Шнайер по безопасности» . Архивировано из оригинала 23 февраля 2007 г. Проверено 6 марта 2007 г.
  16. ^ Оу, Джордж (30 апреля 2006 г.). «Действительно ли шифрование можно взломать?» . Зифф-Дэвис. Архивировано из оригинала 8 августа 2010 года . Проверено 7 августа 2010 г.
  17. ^ «Шон Мерфи» . Лондонский университет. Архивировано из оригинала 31 января 2009 г. Проверено 2 ноября 2008 г.
  18. ^ Брюс Шнайер. «Новости AES, информационный бюллетень Crypto-Gram, 15 сентября 2002 г.» . Архивировано из оригинала 7 июля 2007 года . Проверено 27 июля 2007 г.
  19. ^ Нильс Фергюсон ; Ричард Шреппель ; Дуг Уайтинг (2001). «Простое алгебраическое представление Рейндала» . Труды по избранным областям криптографии, 2001 г., Конспекты лекций по информатике . Спрингер-Верлаг . стр. 103–111. CiteSeerX   10.1.1.28.4921 . Архивировано из оригинала (PDF/ PostScript ) 4 ноября 2006 г. Проверено 6 октября 2006 г.
  20. Брюс Шнайер, Объявлено об AES. Архивировано 1 февраля 2009 г. в Wayback Machine , 15 октября 2000 г.
  21. ^ Николич, Ивица (2009). «Атака по различителю и связанным ключам на полный AES-256». Достижения криптологии — КРИПТО 2009 . Конспекты лекций по информатике. Том. 5677. Шпрингер Берлин/Гейдельберг. стр. 231–249. дои : 10.1007/978-3-642-03356-8_14 . ISBN  978-3-642-03355-1 .
  22. ^ Брюс Шнайер (30 июля 2009 г.). «Еще одна новая атака AES» . Schneier on Security, блог, посвященный безопасности и технологиям безопасности . Архивировано из оригинала 5 октября 2009 г. Проверено 11 марта 2010 г.
  23. ^ Алексей Бирюков; Орр Данкельман; Натан Келлер; Дмитрий Ховратович; Ади Шамир (19 августа 2009 г.). «Атаки практической сложности с восстановлением ключей на варианты AES до 10 раундов» . Архивировано из оригинала 28 января 2010 года . Проверено 11 марта 2010 г.
  24. ^ Агрен, Мартин (2012). О некоторых симметричных облегченных криптографических схемах . Диссертация, Лундский университет. стр. 38–39.
  25. ^ Винсент Реймен (2010). «Атака на AES-128 с практическим названием с использованием отношений выбранного текста» (PDF) . Архив электронной печати криптологии IACR . Архивировано (PDF) из оригинала 02 июля 2010 г.
  26. ^ Анри Жильбер; Томас Пейрин (9 ноября 2009 г.). «Криптоанализ Super-Sbox: улучшенные атаки на AES-подобные перестановки» . Архив электронной печати криптологии IACR . Архивировано из оригинала 4 июня 2010 г. Проверено 11 марта 2010 г.
  27. ^ Андрей Богданов; Дмитрий Ховратович и Кристиан Рехбергер (2011). «Бикликовый криптоанализ полного AES» (PDF) . Архивировано из оригинала (PDF) 5 сентября 2012 г.
  28. ^ Перейти обратно: а б Бяошуай Тао и Хунцзюнь Ву (2015). «Улучшение бикликового криптоанализа AES». Информационная безопасность и конфиденциальность . Конспекты лекций по информатике. Том. 9144. стр. 39–56. дои : 10.1007/978-3-319-19962-7_3 . ISBN  978-3-319-19961-0 .
  29. ^ Джеффри Голдберг (18 августа 2011 г.). «Шифрование AES не взломано» . Архивировано из оригинала 8 января 2015 года . Проверено 30 декабря 2014 г.
  30. ^ SPIEGEL ONLINE, Гамбург, Германия (28 декабря 2014 г.). «Внутри войны АНБ с интернет-безопасностью» . ШПИГЕЛЬ ОНЛАЙН . Архивировано из оригинала 24 января 2015 года . Проверено 4 сентября 2015 г.
  31. ^ Перейти обратно: а б «Указатель официальных научных работ» . Кр.йп.то. Архивировано из оригинала 17 сентября 2008 г. Проверено 2 ноября 2008 г.
  32. ^ Брюс Шнайер. «Временная атака AES» . Архивировано из оригинала 12 февраля 2007 года . Проверено 17 марта 2007 г.
  33. ^ Даг Арне Освик; Ади Шамир; Эран Тромер (20 ноября 2005 г.). «Атаки на кэш и меры противодействия: случай AES» (PDF) . Курс криптографа на конференции RSA 2006 . дои : 10.1007/11605805_1 . Архивировано (PDF) из оригинала 19 июня 2006 г. Проверено 2 ноября 2008 г.
  34. ^ Дхиман Саха; Дебдип Мукхопадьяй; Дипанвита Рой Чоудхури. «Атака по диагональной ошибке на расширенный стандарт шифрования» (PDF) . Архив электронной печати криптологии IACR . Архивировано (PDF) из оригинала 22 декабря 2009 г. Проверено 8 декабря 2009 г.
  35. ^ Эндре Бангертер; Дэвид Галлаш и Стефан Кренн (2010). «Игры с кэшем: применение на практике атак на кэш AES на основе доступа» (PDF) . Архив электронной печати криптологии IACR . Архивировано (PDF) из оригинала 14 декабря 2010 г.
  36. ^ «Взлом AES-128 в реальном времени, зашифрованный текст не требуется» . Хакерские новости. Архивировано из оригинала 3 октября 2011 г. Проверено 23 декабря 2012 г.
  37. ^ Ашоккумар К.; Рави Пракаш Гири; Бернар Менезес (2016). Европейский симпозиум IEEE по безопасности и конфиденциальности (EuroS&P), 2016 г. стр. 261–275. дои : 10.1109/ЕвроСП.2016.29 . ISBN  978-1-5090-1751-5 . S2CID   11251391 .
  38. ^ «Возможны ли атаки по времени на кэш AES x86?» (PDF) . cseweb.ucsd.edu . Архивировано (PDF) из оригинала 9 августа 2017 г.
  39. ^ «Защита предприятия с помощью Intel AES-NI» (PDF) . Архивировано (PDF) из оригинала 31 марта 2013 г. Проверено 26 июля 2017 г. Защита предприятия с помощью Intel AES-NI.
  40. ^ Бонтен, Ксавье; Ная-Пласенсия, Мария; Шроттенлоэр, Андре (6 декабря 2019 г.). «Квантовый анализ безопасности AES» . Хэл : 40.
  41. ^ О'Ши, Дэн (26 апреля 2022 г.). «AES-256 присоединяется к квантовому сопротивлению» . Жестокая электроника . Проверено 26 сентября 2023 г.
  42. ^ Перейти обратно: а б «NSTISSP № 11, Пересмотренный информационный бюллетень, Национальная политика обеспечения сбора информации» (PDF) . Архивировано из оригинала (PDF) 21 апреля 2012 г. Проверено 29 мая 2012 г.
  43. ^ «NIST.gov – Отдел компьютерной безопасности – Ресурсный центр компьютерной безопасности» . Csrc.nist.gov. Архивировано из оригинала 02 января 2013 г. Проверено 23 декабря 2012 г.
  44. ^ «Проверенные криптографические модули FIPS 140-1 и FIPS 140-2» . Архивировано из оригинала 26 декабря 2014 г. Проверено 26 июня 2014 г.
  45. ^ Перейти обратно: а б OpenSSL, [email protected]. «Заметки OpenSSL о сертификации FIPS» . Openssl.org. Архивировано из оригинала 02 января 2013 г. Проверено 23 декабря 2012 г.
  46. ^ Шнайер, Брюс; Келси, Джон; Уайтинг, Дуг; Вагнер, Дэвид; Холл, Крис; Фергюсон, Нильс (1 февраля 1999 г.). «Сравнение производительности материалов AES» (PDF) . Архивировано (PDF) из оригинала 22 июня 2011 г. Проверено 28 декабря 2010 г.
  47. ^ «Обзор AMD Ryzen 7 1700X» .
  48. ^ «Новый набор инструкций Intel ® Advanced Encryption Standard (AES)» (PDF) . Май 2010.

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