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