Семейство легких хеш функций PHOTON

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 19:52, 26 декабря 2015.
The Photon Family of Lightweight Functions
Файл:Photon1.png
Изображение 1 к статье о семействе легких хеш функций
Авторы Jian Guo[@: 1]
Axel Poschmann[@: 2] and
Thomas Peyrin[@: 3]
Опубликован 2015 г.
Сайт [3]
Перевели Eugene Kashtanov
Год перевода 2015 г.
Скачать оригинал

__NUMBEREDHEADINGS__

Аннотация. Безопасность RFID в настоящее время является одной из основных проблем, с которой сталкиваются в криптографии, часто решаемая протоколами, предполагающими доступность выделения хеш функции. В этой статье мы представляем семейство легких хеш функций PHOTON, доступное во многих различных состояниях и подходящее для ограниченного ряда устройств, таких как пассивные RFID-метки. Наше предложение использует в качестве алгоритма домена верхнего уровня конструкции подобные губке и в качестве внутренней перестановки AES подобные примитивы. Это позволяет нам получить самую компактную, из всех известных, хеш функцию, (приблизительно 1120 GE для 64-битного сопротивления безопасности), достигая близких к теоретическому оптимуму областей (полученных из минимального размера внутреннего состояния памяти). Кроме того, скорость, достигаемая PHOTON также вполне успешно выдерживает сравнение с его конкурентами. Главным образом, это достигается вследствие того, что в отличие от ранее предложенных схем, предлагаемую нами очень просто проанализировать, и можно получить трудные AES подобные границы на числе активного Sboxes. Этот вид AES подобного примитива обычно плохо подходит для крайне ограниченных сред, но мы описываем в этой статье новый метод для генерации слоев смешивания колонок последовательным способом, значительно понижая необходимую область. Наконец, мы немного расширяем структуру губки для предложения интересных компромиссов между скоростью и безопасностью прообраза для маленьких сообщений - классического случая использования в аппаратных средствах.
Ключевые слова: легкий, хеш функция, функция губки, AES.

Введение

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

Эти два аспекта безопасности уже были достаточно глубоко изучены и, что самое интересное, в большинстве предложенных протоколов RFID, сохраняющих приватность [1], [2], [3], требуется хеш функция. Неформально, данный примитив является функцией, берущей произвольный ввод длины и выводящей значения фиксированного размера. В то же время, несмотря на отсутствие тайны в вычислении, которая бы обнаруживала коллизию (два отличных сообщения хеширования одному значению) или (второй) - прообраз (ввод сообщения, которое хеширует к данному вызову выходного значения), в вычислительном отношении это неразрешимо для атакующего. Более точно, для идеальной -битной хеш функции мы ожидаем выполнение и вычисления как для нахождения коллизии, так и (второго) - прообраза соответственно. В то же время не столь глубоко изученное по сравнению с блочными шифрами, исследование в области хеш функций претерпело стремительное развитие в последнее время, в основном из-за инновационных атак на стандартизированные примитивы [4], [5], [6]. В настоящее время, большая часть внимания академического сообщества симметричной ключевой криптографии сосредоточена на конкурсе SHA-3, организованном NIST [7], который должен обеспечить потенциальную замену семейства MD-SHA.

Параллельно, в прошлые годы также были проведены прекрасные усовершенствования в области легких симметричных ключевых примитивов. У проектировщиков протокола теперь есть в распоряжении PRESENT3, 64-битный блочный шифр с 80-битным ключом, безопасность которого была уже интенсивно проанализирована, и он может быть столь же компактным как 1075 GE [8]. Шифры потоков также не стоят на месте с внедрениями [9] 80-битной безопасности, требующей приблизительно 1300 GE и 2600 GE, заявленных для GRAIN и TRIVIUM соответственно, двух кандидатов выбранных в портфолио финала аппаратных средств eSTREAM. Однако данная ситуация не столь впечатляющая, как в случае хеш функций.

Как уже указывалось и отражено в [10], сообщество испытывает недостаток в очень компактных хеш функциях. Стандартизированные примитивы, такие как SHA-1 [11]] или SHA-2 [[12] являются слишком большими для встраивания в очень ограниченные аппаратные средства (5527 GE [13], и 10868 GE [14] для целей 80 и 128 битной безопасности соответственно), и даже ориентированные на компактность предложения, такие как MAME требуют 8100 GE для 128-битной безопасности. В то время как аппаратные средства являются важными критериями в процессе выбора, нельзя ожидать, что финалисты SHA-3 будут намного компактней. В настоящее время все финалисты SHA-3 требуют более чем 12000 GE для 128-битной безопасности (уменьшенные варианты KECCAK, не представленные к конкурсу, предоставляют, например, 64-битную безопасность с 5090 GE). Обратите внимание на то, что RFID-метка может иметь любое общее количество логических вентилей от 1000-10000, в сравнении с 200-2000 логическими вентилями, планируемыми для безопасности [15].

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

Хотя такой выходной размер целесообразен, как и необходима продолжительная безопасность высокого уровня, случаи применения RFID могли бы иметь намного меньшие параметры безопасности. Это - например, выбранный нами путь, в котором авторы иллюстрируют на примерах легкие хеш функции с помощью основанных на литературе конструкций [16], [17] с компактным блок шифром PRESENT. С предложенной Шамиром компактной хеш функцией SQUASH, основанной на схеме шифрования Рабина, обрабатывающей короткие сообщения (в основном, 64-битные вводы), обеспечивающей 64 бита безопасности прообраза, не будучи стойкой к коллизиям. В CHES 2010 было предложено облегченное семейство хеш функции ARMADILLO, но которая, как выяснилось недавно, содержит серьезные слабые места безопасности [18]. На той же конференции Омэссон и др. представил хеш функцию QUARK, использующую функции губки [19] как алгоритм домена верхнего уровня и внутреннюю перестановку, основанную на потоке шифра GRAIN и блочном шифре KATAN [20]. Использование функции губки, в качестве рабочего режима является следующим шагом к компактности. Действительно, классическое создание -битной хеш функции, как например, семейства MD-SHA использует алгоритм Меркл-Дамгарда [21],[22] домена верхнего уровня с функцией сжатия , основанной на -битном блочном шифре способом Дэвиса-Мейера , где обозначает переменную соединения цепью и - текущий блок сообщений. Предотвращение любой прямой передачи как например, для конструкции губки, сохраняет много регистров памяти за счет обратимого итеративного процесса, вызывающего более низкую безопасность (второго)-прообраза для того же размера внутреннего состояния. В целом, проектировщики сталкиваются с компромиссом между безопасностью и требованиями к памяти.

В данной статье мы описываем новое ориентированное на аппаратные средства семейство хеш функции: PHOTON. Мы решили использовать структуру функций губки для сохранения максимально низкого внутреннего размера памяти. Однако мы расширяем эту структуру, для обеспечения очень интересных компромиссов в аппаратных средствах между безопасностью прообраза и скоростью маленьких хеш сообщений (маленький сценарий сообщения является классическим случаем использования и может быть проблематичным для функций губки из-за процесса сжатия, который может быть очень медленным на практике). Внутренние перестановки PHOTON могут рассматриваться как AES подобные примитивы, особенно полученные для аппаратных средств: наши колонки, смешивающие слои, могут быть вычислены последовательным способом при поддержании оптимальных рассеивающих способностей. В целом, как показано в Таблице 2 в Разделе 4.3, PHOTON является не только самой маленькой легкой хеш функцией из всех известных, но также достигает превосходных компромиссов область/пропускная способность. С точки зрения безопасности особенно интересно использовать AES подобные перестановки, поскольку мы можем полностью усилить весь предыдущий криптоанализ, выполняемый на AES и основанных на AES хеш функциях (вследствие ограниченного размера публикации, мы отсылаем читателя к [23] для подробного анализа безопасности). Кроме того, мы можем непосредственно получить очень простые границы на числе активного Sboxes для 4 раундов перестановки. Для этих границ, являющихся потенциально трудными, мы можем четко определить надлежащее число раундов, гарантирующих оптимальный уровень безопасности.

Выбор разработки

Основанные на метках приложения, которые, как правило, не требуют, примитивов высокой степени безопасности, таких как вывод 512 битной хеш функции. В противовес 64 или 80-битная безопасность часто является важной для объектов которые защищают и в которых используются RFID-метки. Кроме того, проектировщик должен точно использовать уровень, который он ожидает от своего примитива во избежание любой траты области или вычислительной мощности. Это – причина нашего решения точно иллюстрировать примерами несколько уровней безопасности для PHOTON, в пределах от 64-битной безопасности сопротивления прообраза к 128-битной безопасности коллизии сопротивления.

Расширенные функции губки

Функции губки были представлены Бертони и др. [24] как новый способ построения хеш функции от фиксированной перестановки (позднее было предложено больше приложений [25]). Внутреннее состояние , составленное из -битного объема и -битного битрейта, вначале инициализируется с определенным постоянным значением. Затем соответственно дополнив и разделив сообщение на куски -бит, каждое просто и многократно обрабатывает все куски сообщения -бит применяя операцию xor к части битрейта внутреннего состояния и затем применяя -битную перестановку . Как только все куски сообщения обрабатываются этой абсорбирующей фазой, части заключительного значения хэш функции последовательно выводятся путем извлечения бит из битрейта части внутреннего состояния и затем применяя на нем перестановки (сжимающий процесс).

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

  • Коллизия: минимум
  • Второй прообраз: минимум
  • Прообраз: минимум , максимум

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

Функции губки кажутся естественным выбором для уменьшения регистров объема памяти в аппаратных средствах, так как они могут предложить компромиссы скорости/области/безопасности. Действительно, единственная память, требуемая для внутреннего состояния, является биты, в то время как для классической конструкции Дэвиса-Мейера с помощью -битного блочного шифра с вводом -битного ключа, необходимо сохранить бит, из которых биты требуются для прямой передачи. Для эквивалента идеального уровня безопасности коллизии (установка ) и с целью уменьшения области ( и являются очень маленькими), функция губки требует только около половины памяти. Обратите внимание на то, что, если ищется совершенно стойкая хеш функция (второго) прообраза (до связанного идеала), тогда требуется что (что подразумевает, что построенная -битная хеш функция так или иначе индифферентна от -бита случайного оракула). В таком определенном случае функции губки не лучше, чем конструкция Дэвиса-Мейера с точки зрения требований пространства, и поэтому в этой работе мы не будем сосредотачиваться на этом сценарии. Вместо этого мы построим хеш функции, которые могут иметь идеальное сопротивление коллизии, но не для (второго) – прообраза. Типичная форма будет значением c равным хеш-выводу и очень маленькому битрейту . Этот компромисс безопасности/пространства, уже использованный проектировщиками QUARK, позволит нам стремиться к экстремально низким требованиям пространства при ожидании поддержания значений безопасности близких к идеальным.

Авторы указывают, что в большинстве приложений RFID, пользователь не будет хешировать большой объем данных, т.е. в общем менее чем 256 битов. Рассмотрим, например, число кода электронного товара (EPC), которое является 96 битными строками, предназначающимися для глобальной идентификации любых метки/продукта. В данном случае маленьких сообщений, функции губки с маленьким битрейтом , кажется, являются медленными, так как необходимо вызвать раз внутреннюю перестановку для завершения заключительного процесса сжатия. Это, например, имеет место в случае с U-QUARK, имеющим пропускную способность 1,47 Кбит/с для очень длинных сообщений, снижающуюся до 0,63 Кбит/с для 96-битных вводов. С другой стороны этот эффект “маленьких сообщений” снижается фактом наличия маленького битрейта уменьшающего сумму фактически хешированного дополнения (дополнение просто состоит в добавлении «1» и «0» требуемых для заполнения последнего блока сообщения). Обратите внимание на то, что облегченные предложения базирующиеся на основе классической конструкции Дэвиса-Мейера, которые включают длину сообщения как суффиксное дополнение, являются также медленными для маленьких сообщений: DM-PRESENT-80 имеет пропускную способность 14,63 Кбит/с для очень длинных сообщений, снижающуюся до 5,85 Кбит/с для 96-битных вводов, потому что в последнем случае многие вызовы функции сжатия потрачены для обработки блоков дополнения.


Файл:Photon2.png
Изображение 2 к статье о семействе легких хеш функций

Рис. 1. Расширенная структура губки, алгоритм домена верхнего уровня используемого семейством хеш-функции PHOTON.

Для большей гибкости в этой проблеме мы предлагаем немного расширить структуру губки, позволяя количеству битов, извлеченных во время каждой итерации процесса сжатия отличаться от битрейта (см. Рисунок 1). Увеличение непосредственно уменьшит время, проведенное в процессе сжатия, но может также уменьшить безопасность прообраза. Наоборот, уменьшение может улучшить связь прообраза за счет снижения скорости для маленьких сообщений. Пока безопасность прообраза остается в приемлемой связи, эта конфигурация может быть интересной во многих сценариях, в которых должны хешироваться только маленькие вводы. Более точно, в этой новой модели известные универсальные атаки требуют следующей суммы вычислений:

  • Коллизия: минимум
  • Второй прообраз: минимум
  • Прообраз: минимум , максимум

Наконец, в большинстве основанных на метках приложений сопротивление коллизии не является требованием, если должна быть обеспечена только одна из функций. Однако как мы объяснили ранее для легких сценариев, конструкция губки не поддерживает безопасность (второго)-прообраза на полном уровне ее значения . Это происходит из-за процесса вывода рабочего режима губки. Конечно, выполнение Дэвиса-Мейера в качестве прямой передачи после окончания работы заключительного усечения, может удвоить требования к пространству памяти (что является тем, чего мы пытаемся избежать). Хороший механизм сжатия в структуре функций губки позволяет избежать любой прямой передачи, так или иначе распространяясь на необратимый процесс отдачи, (см. мультиблок ограничено введенная ограничено выведенная проблема [28]). Решение достигнуть полной мощности безопасности прообраза состояло бы в добавлении еще одной итерации сжатия, таким образом увеличив выходной размер хеша битами. Далее известная универсальная атака прообраза для этой – битной хеш-функции, запустится минимум , когда и следует отметить, что такое выходное расширение хеша не имеет влияния на сопротивление второго прообраза. В этой статье мы обеспечим пять размеров внутренних перестановок и одно свойство PHOTON для каждой из них. Четыре самых больших версии соответствуют классической модели губки и гарантируют сопротивление коллизии и прообраза и относительно прообраза. Однако для наглядности мощных компромиссов, позволенных нашей расширенной моделью, меньший вариант PHOTON будет иметь различный ввод/вывод битрейтов и расширенный размер хэша. Используя эти пять перестановок, определенных в следующем разделе, можно получить свойства PHOTON в зависимости от коллизии/ (второго)-прообраза/требуемой безопасности MAC, максимальной области и максимального вывода допустимого размера хеша. Обратите внимание на то, что требуемая область будет зависеть только от внутренней выбранной перестановки.

AES подобная внутренняя перестановка

Мы определяем AES подобную функцию, чтобы применить фиксированную ключевую перестановку внутреннее состояние элементов каждого из s битов, что может быть представлено в виде матрицы (). составлен из количества раундов, каждый их которых содержит четыре уровня: AddConstants (AC), SubCells (SC), ShiftRows (ShR) и MixColumnsSerial (MCS). Образно говоря, AddConstants просто состоит в добавлении постоянных значений к клеткам внутреннего состояния, в то время как SubCells применяет -бит Sbox к каждой из них. ShiftRows поворачивает позицию клеток в каждом из рядов, и MixColumnsSerial независимо линейно смешивает все колонки. Мы решили использовать AES подобные перестановки, так как они предлагают больше уверенности в стратегии разработки, поскольку могут усилить предыдущую работу криптоанализа, проведенную на AES и на AES подобных хеш-функциях. Кроме того, AES подобные перестановки позволяют получать простые доказательства от количества активного Sboxes более четырех раундов примитива. Точнее, если матрица, лежащая в основе уровня MixColumnsSerial, является максимальным отделимым расстоянием (MDS), то можно немедленно показать что, по крайней мере Sboxes будут активны для любого дифференциального пути с 4 раундами [29]. Эта связь трудна, и мы уже знаем различные способы только с активными Sboxes для четырех раундов (мы будем использовать их позднее в целях анализа безопасности). Кроме того, обратите внимание на то, что перестановки, которые мы проектируем, являются фиксировано-ключевыми, таким образом, мы естественно избавляемся от связано-ключевых атак или любой проблемы, которая могла бы явиться результатом составления ключевого графика [30][31].

Файл:Photon2.png
Изображение 2 к статье о семействе легких хеш функций

Рис. 2. Один раунд перестановки PHOTON AddConstants. Константы были выбраны так, чтобы каждый номер раунда вычислений отличался, и таким образом, чтобы классическая симметрия между колонками в AES полдобных разработках была разрушена (без слоя AddConstants, ввод со всеми равными колонками поддержал бы это свойство через любое число раундов). Кроме того, раунды констант могут быть сгенерированы комбинацией компактных линейных сдвиговых регистров обратной связи. По причинам производительности включается только первая колонка внутреннего состояния. SubCells. Наш выбор Sboxes был главным образом мотивирован качеством аппаратных средств. 4-битный Sboxes может быть очень компактным в аппаратных средствах, в то время как приемлемый верхний предел в размере клетки является . Мы избежали использования нечетного размера Sbox , так как это приводит к нечетному размеру блока сообщения или значения, когда является также нечетным. Таким образом, мы можем выбрать , но мы также полагаем, что, используя проверенные и хорошо проанализированные компоненты, мы увеличиваем уверенность в безопасности схемы и экономим время для криптоанализа. Наконец, мы будем использовать два типа Sboxes: 4-битный PRESENT Sbox SBOXPRE и 8 битный AES Sbox SBOXaes ; последний, только для уровней высокой степени безопасности (по крайней мере 128 битное сопротивление коллизии). Отметим также, что позволяет более простое и быстрое внедрение программного обеспечения. ShiftRows. Выбор констант ShiftRows для PHOTON очень прост, так как наше внутреннее состояние всегда является квадратом клеток. Поэтому ряд , будет классически повернут на положение влево, считается от 0. MixColumnsSerial. Матрица, лежащая в основе функции AES MixColumns, является матрицей циркулянта с низким коэффициентом изменения веса. Даже если выбрать коэффициенты и неприводимый полиномиал, используемый для создания поля Галуа для функции AES MixColumns, чтобы улучшить аппаратные средства шифра, это не может быть осуществлено чрезвычайно компактным способом. Одна из главных причин - побайтное последовательное внедрение этой функции не компактно. Иными словами, если мы пишем матрицу AES MixColumns как состав операций, каждое обновление единственного байта за один раз последовательным способом, то коэффициенты этих матриц будут неподходящими для внедрения на небольшой области. Для решения этой проблемы мы рассмотрели проблему наоборот. Пусть будет матрицей, обновляющей последнюю клетку вектора колонки линейной комбинацией всех векторных клеток и затем поворачивающей вектор на одну позицию к вершине. Наш новый уровень MixColumnsSerial будет составлен из применений этой матрицы к входному вектору колонки. Формально, пусть будет входным вектором колонки MixColumnsSerial и будет соответствующим выводом. Следовательно мы имеем , где является матрицей формы :


Где, коэффициенты могут быть выбраны свободно. Мы обозначаем данную матрицу Последовательными . Конечно, мы назначаем матрицу , как MDS, чтобы поддержать столько же диффузии как в первоначальной стратегии разработки AES. Для каждого квадратного размера , выбранного во время разработки PHOTON, мы использовали MAGMA [12] для тестирования всех возможных значений и выбрали самого компактного кандидата, составляющего матрицы MDS. Также выбран неприводимый полиномиал с компактностью в качестве основного критерия.


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

Самое маленькое внедрение аппаратных средств AES требует 2400 GE [32], для которых 263 GE выделен на MixColumns. Возможно осуществить MixColumns AES способом байт за байтом, требующим, только 81 GE на вычисление одного байта выходной колонки. Однако, так как AES использует матрицу циркулянта, для поддержки вывода требуется по крайней мере три дополнительных 8-битных регистра (144 GE) плюс дополнительная управляющая логика, значительно увеличивающая требования к области. Поэтому [33] не используется последовательный MixColumns, а обрабатывается одна колонка за раз.

Обратите внимание на то, что в целом выбор констант отличных от нуля для любой матрицы MDS на -битных клетках оказывает только незначительное влияние на потребляемую область, так как умножение состоит из XOR логических вентилей, где обозначает вес неприводимого используемого полиномиала Хэмминга. Одновременно, XOR логических вентилей требуется для суммирования отдельных условий каждого из битов. Не удивительно, что умножение с константами выше составляет только 21,3 GE вместо требуемого 74 GE. Фактически, эффективность нашего подхода находится в перемещаемых свойствах , поскольку как это позволяет не использовать снова существующую память ни с временным хранением, ни с дополнительной требуемой управляющей логикой.


В целом, использование нашего подхода может предоставить оптимальный шифр AES с теми же самыми рассеивающими свойствами, как и оригинальный (матрица, являющаяся MDS), но помещающийся в 2210 GE (общее сбережение около 8%). Кроме того, для процесса расшифровки и разворачивания MixColumnsSerial могут использоваться немного измененные аппаратные средства, еще более уменьшая область шифра, базирующегося на PHOTON. Можно думать, что внедрение программного обеспечения пострадает от этого нового уровня. В то время как наша цель состоит в том, чтобы сделать ориентированный на аппаратные средства примитив. Также мы хотели бы отметить, что большинство внедрений программного обеспечения AES является предварительно вычисленным, базирующимися на таблицах (применяемых к Sbox и коэффициентам MixColumns одновременно), и данный метод может быть применен и к PHOTON. Это подтверждено нашими первыми внедрениями программного обеспечения, оценки которых предоставлены в Разделе 4.4.


Семейство хеш функции PHOTON

В данном разделе описывается семейство хеш-функций PHOTON. Каждый вариант соответственно будет определен его выводным размером хеша , его вводным и выводным битрейтом и . Поэтому мы обозначаем каждую функцию PHOTON-. Размер внутреннего состояния ) зависит от выходного размера хеша и может принять только 5 различных значений: 100, 144, 196, 256 и 288 бит. Как следствие, мы должны определить только 5 внутренних перестановок , одну для каждого размера внутреннего состояния.

Для покрытия широкого спектра приложений мы предлагаем пять различных свойств PHOTON, одно для каждого размера внутреннего состояния: PHOTON-80/20/16, PHOTON - 128/16/16, PHOTON-160/36/36, PHOTON-224/32/32 и PHOTON-256/32/32 будут использовать внутренние перестановки и соответственно. Обратите внимание на то, что первое предложение является особенным в том смысле, что оно разработано для конкретных случаев с 64-битной безопасностью прообраза и 64-битным ключом MAC, которые предположительно являются достаточными.8 Напротив, последнее предложение обеспечивает уровень высокой степени безопасности 128-битного сопротивления коллизии, таким образом делая его подходящим для универсальных приложений.


Алгоритм домена верхнего уровня

Сообщение для хеширования прежде всего дополнено путем добавления «1» бит и как такого количества нулей (возможно ни одного), чтобы общая длина являлась кратным битрейту числом, и мы могли получить l блок сообщения от каждого из бит. Внутреннее состояние -битного инициализируется путем присвоения ему значения , где обозначает связь, и каждое значение закодировано на 8 битах. В целях внедрения обратите внимание на то, что каждый байт интерпретируется в форме тупоконечника.

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


Внутренние перестановки

Здесь мы определяем внутренние перестановки , где . Внутреннее состояние номера раунда перестановки рассматривается как матрица -битных клеток и соответствующих значений в зависимости от , представленных в Таблице 1. Обратите внимание на то, что мы всегда будем использовать размер клетки 4 бита, за исключением самой большой версии, для которой мы используем 8 битные клетки, и что количество раундов всегда равно Номер = 12, независимо от значения . Клетка внутреннего состояния, расположенная в ряду колонки , обозначена с .

Один раунд составлен из четырех уровней (см. рисунок 2): AddConstant (AC), SubCell (SC), ShiftRows (ShR) и MixColumnsSerial (MCS).

Таблица 1. Параметры внутренних перестановок , вместе с внутренними константами , полиномиалы и коэффициенты для вычисления MixColumnsSerial.


AddConstant. Для целого числа (запуск подсчета от 1), мы проведем операцию XOR и подставим целое постоянное для каждой клетки первой колонки внутреннего состояния. Затем мы проведем операцию XOR отличных внутреннихконстант к каждой клетке той же первой колонки. В общем, для раунда мы имеем . Целые константы:

                                .

. Внутренние константы зависят от квадратного размера и от позиции ряда . Они представлены в Таблице 1.

SubCells. Этот уровень просто применяет -битный Sbox к каждой из клеток внутреннего состояния, т.е. для всех . В случае 4 битных клеток мы используем PRESENT Sbox , для 8 битных клеток мы используем AES SBOX [16].

ShiftRows. Что касается AES, для каждого ряда этот уровень поворачивает все клетки налево на позицию колонки. А именно, для всех .


MixColumnsSerial. Заключительный уровень смешивания применен к каждой из колонок внутреннего состояния независимо. Для каждого входного вектора колонки , мы применяем раз матрицу . Т.е. для всех : , где коэффициенты где коэффициенты предоставлены в Таблице 1. В случае 4 битных клеток неприводимый полиномиал, который мы выбрали, равен , для 8-битных клеток мы выбрали AES один, т.е. . Обратите внимание на то, что все матрицы имеют максимальное отделимое расстояние.

Производительность и Сравнение

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


Процесс разработки

Мы использовали Mentor Graphics ModelSimXE 6.4b и Synopsys DesignCompiler A- 2007.12-SP1 для функционального моделирования и синтеза разработки к библиотеке стандартных клеток Virtual Silicon (VST) UMCL18G212T3 [34], которая основана на логическом процессе с нормальным напряжением 1,8 В UMC L180 1P6M. Мы использовали версию a-2007.12-sp1 Компилятора Питания Synopsys для оценки потребления энергии наших внедрений ASIC. Для синтеза и для оценки питания мы рекомендовали компилятору сохранять иерархию и использовать тактовую частоту 100 кГц. Обратите внимание на то, что используемая модель проводной загрузки, хотя это - самое маленькое доступное для этой библиотеки, также моделирует типичную проводную загрузку схемы с размером приблизительно 10000 GE.



Архитектура аппаратных средств

Для доказательства наших требований эффективности на аппаратных средствах для нашего семейства PHOTON мы определили свойства, указанные в Разделе 3 в VHDL, и моделировали их постосинтезную производительность. Мы разработали две архитектуры: первая - последовательная, т.е. операции выполнения на одной клетке за такт, и стремится к самой маленькой возможной области; вторая – раз распараллеливание первой архитектуры, таким образом за один такт выполняя операции на одном ряду, что приводит к значительному ускорению. Как видно на рисунке 3, наш последовательная разработка дизайн состоит из шести модулей: MCS, State, IO, AC, SC и Контроллер.


IO позволяет 1) инициализировать наше внедрение со всем вектором ‘0’, 2) вводить IV, 3) поглощать куски сообщения, и 4) отправлять вывод государственного модуля к модулю AC без дальнейшей модификации. Вместо того, чтобы использовать два Мультиплексора и логические вентили XOR, мы использовали два NAND и логические вентили XOR, таким образом, уменьшающие требуемое количество логических вентилей, от до GE.


State включает массив триггера клеток, хранящих бит каждый. Каждый ряд составляет сдвиговый регистр с помощью вывода последней стадии, т.е. колонки 0, как ввод к первой стадии (колонка ) того же ряда и следующего ряда. Используя эту функциональность обратной связи ShiftRows может быть выполнен в такт без дополнительных затрат аппаратных средств. Далее, так как MixColumnsSerial выполняется на колонке 0, также требуется вертикальное направление перемены для этой колонки. Следовательно, колонки 0 и состоят из триггера клеток с двумя вводами (6 GE), в то время как колонки 1 к состоят из триггера клеток только с одним вводом (4,67 GE). Полное количество логических вентилей для этого модуля равно , GE и среди всех предназначений это занимает большую часть требуемой области (между 65 и 77,5%).


MCS вычисляет последний ряд за один такт. Результат сохранен в модуле State, который находится в последнем ряду колонки 0, перемещенной одновременно вверх. Следовательно, после тактов операция MixColumnsSerial применяется ко всей колонке. Тогда целый массив состояния поворачивается на одну позицию влево и обрабатывается следующая колонка. Для выполнения MCS требуется всего тактов. В качестве примера эффективности аппаратных средств MCS изображен в верхнем и его субкомпоненты в нижней правой части рисунка 3. Пользуясь нашей библиотекой, для умножения 2, 4 и 8, нам нужны 2,67 GE, 4,67 GE и 7 GE при использовании неприводимого полиномиала , соответственно. Поэтому выбор коэффициентов оказывает только незначительное влияние на полное количество логических вентилей, поскольку большинство подводит итог промежуточных результатов. Например, в случае , для суммы XOR требуются 56 из 75,33 GE. Логические вентили считают другие матрицы: 80 GE, 99 GE, 145 GE и 144 GE для Ai44, A196, A256 и A288, соответственно.


AC выполняет операцию AddConstant применяя операцию XOR суммы целого постоянного RC с текущим внутренним постоянным IC. Кроме того, так как AC только применен к первой колонке, ввод к логическому вентилю XNOR является логическим вентилем с логическим элементом NAND. Вместо того, чтобы использовать логический элемент AND в сочетании с логическим элементом XOR, наш подход позволяет уменьшать требуемую область с до GE.

SC выполняет операцию SubCells и состоит из единственного экземпляра соответствующего Sbox. Для мы использовали оптимизированное Булево представление PRESENT Sbox, которое требует только 22,33 GE, и для мы использовали представление Кэнрайта AES Sbox [35], требующее 233 GE. Это берет такты для выполнения AddConstant и SubCells на целом состоянии.


Контроллер использует Машину конечного состояния (FSM) для генерации всех требуемых сигналов управления. Кроме того, в этом модуле также сгенерированы целые константы и внутренние константы, поскольку их значения используются для условий перехода FSM. FSM состоит из одного нерабочего состояния, одного состояния для объединенного выполнения AC и SC, состояния для ShR и двух состояний для MCS (одно для обработки одной колонки и другое для вращения всего состояния влево). Естественно, его подсчет логических вентилей варьируется в зависимости от d: 197 GE, 210 GE, 235 GE и 254 GE для , соответственно.

Файл:Photon 4.png
Изображение 4 к статье о семействе легких хеш функций

Рис. 3 Последовательная архитектура PHOTON (слева). В качестве примера взяты компоненты с его субкомпонентами (справа).



Результаты аппаратных средств и их сравнение

Мы предполагаем, что сообщение корректно дополнено правильно и IVs будет загружен в начале работы. Тогда это требует тактов для выполнения одного раунда перестановки P, заканчиваясь в общее время ожидания тактов. Таблица 2 сравнивает результаты с предыдущими работами, отсортированными после прообраза и уровней сопротивления коллизии. Требования к области предоставляемые GE, в то время как время ожидания представлено только для тактов внутренней перестановки (или внутреннего блочного шифра ), и целой хеш-функции . Следующими показателями являются Пропускная способность в kbps и предложенный показатель качества (FOM).


Для сравнения лучшего варианта развития событий и реального приложения, мы обеспечиваем последние два параметра для 'длинных' сообщений (опускающий любые дополнительные влияния) и для 96-битных сообщений, в которых мы действительно принимаем дополнение во внимание. В частности это означает, что 96-битное сообщение дополнено «1» и столько же «0», сколько требуется. Кроме того, для конструкции Меркл-Дамгард требуютмя дополнительные 64 бита для кодирования длины сообщения. Параметры и служат для вывода размера хеша, значения, ввода и вывода битрейта соответственно. Наконец, колонка «Pre» предоставляет требуемую безопасность сопротивления прообраза и «Col» требуемую безопасность сопротивления коллизии.

Как видно, наши предложения имеют отличную конкурентоспособность с точки зрения требований к области, так как они от 18% до 75% меньше по сравнению с предыдущими предложениями с подобным уровнем сопротивления прообраза/коллизии. При меньшей области пропускная способность вариантов PHOTON сопоставима с предложениями QUARK. Также при равнозначной области, варианты PHOTON намного быстрее, чем предложения QUARK. Это может наблюдаться в колонке Показатель качества таблицы результатов. Можно утверждать, что пропускная способность двух предложений не может быть сравнена, потому что не принята во внимание граница безопасности. Однако мы хотели бы подчеркнуть, что границу безопасности очень трудно измерить, поскольку она значительно зависит от простоты схемы, объема работы, затраченного криптоанализа и т.д. В отличие от большинства облегченных предложенных хеш-функций, в случае PHOTON, мы выбрали очень простые для анализа внутренние перестановки, таким образом непосредственно усилив обширную аналитическую работу, уже известную подобными AES перестановками. В то время как 8 раундов, более чем 12 из внутренних перестановок PHOTON можно отличить от случайной перестановки, мы обеспечиваем веские доводы, что это вряд ли есть возможность для дополнительного улучшения.

Мы не включали потребление энергии в Таблицу 2 по нескольким причинам. Во-первых, потребление энергии сильно зависит от используемой технологии и не может быть справедливо сравнено между различными технологиями. Кроме того, моделируемое потребление энергии значительно зависит от используемого метода моделирования и затраченных усилий. Вместо этого здесь мы лишь кратко перечисляем моделируемое потребление энергии для наших предложений: 1.59, 2.29, 2.74, 4.01, и 4.55 пВт для серийного внедрения PHOTON-80/20/16, PHOTON-128/16/16, PHOTON-160/36/36, PHOTON-224/32/32, и PHOTON-256/32/32, соответственно. Внедрения параллели d требуют 2.7, 3.45, 4.35, 6.5, и 8.38 пВт соответственно. Это позволило нам прийти к заключению, что все параметры PHOTON подходят для ультраограниченных устройств, таких как пассивные метки RFID, которые были одной из наших начальных целей разработки.


Таблица 2. Обзор параметров, уровня безопасности и производительности нескольких облегченных хеш-функций. Пропускная способность и числа FOM были получены в тактовой частоте 100 кГц. Мы отметили * сопротивления прообраза PHOTON-128/16/16, PHOTON - 160/36/36, PHOTON-224/32/32 и PHOTON-256/32/32 чтобы указать, что эти варианты PHOTON могут достигнуть равного сопротивления прообраза по сравнению с конкурентами путем простого добавления еще одного раунда сжатия. Это увеличит выходной размер хеша, размер и бит и немного уменьшит пропускную способность для маленьких сообщений, в то время как область и производительность длинного сообщения останутся теми же.

Наименование Ссылка Параметры Безопасность Производительность
n c r r' Pre Col Площадь Задержка Пропускная способность Показатель качества
P/E H длин. 96-бит. длин. 96-бит.
64-битная защита прообраза
SQUASH [38] 64 x x x 64 0 2646 31800 31800 0.2 0.15 0.29 0.14
DM-PRESENT-80 64 64 80 x 64 32 1600 547 547 14.63 5.85 57.13 19.04
DM-PRESENT-80 64 64 80 x 64 32 2213 33 33 242.42 96.67 495.01 165.00
DM-PRESENT-128 64 64 128 x 64 32 1886 559 559 22.90 8.59 64.37 32.19
DM-PRESENT-128 64 64 128 x 64 32 2530 33 33 387.88 145.45 605.98 302.99
KECCAK-f[200] 64 128 72 72 64 32 2520 900 900 8.00 5.33 12.6 8.4
PHOTON-80/20/16 80 80 20 16 64 40 865 708 3540 2.82 1.51 37.73 20.12
PHOTON-80/20/16 80 80 20 16 64 40 1168 132 660 15.15 8.08 111.13 59.27
64-битная защита от коллизии
U-QUARK 136 128 8 8 128 64 1379 544 9248 1.47 0.61 7.73 3.20
U-QUARK 136 128 8 8 128 64 2392 68 1156 11.76 4.87 20.56 8.51
H-PRESENT-128 128 128 64 x 128 64 2330 559 559 11.45 5.72 21.09 10.54
H-PRESENT-128 128 128 64 x 128 64 4256 32 32 200.00 100.00 110.41 55.21
ARMADILLO2-B 128 128 64 x 128 64 4353 256 256 25.00 12.50 13.19 6.60
ARMADILLO2-B 128 128 64 x 128 64 6025 64 64 100.00 50.00 27.55 13.77
KECCAK-f[400] 128 256 144 144 128 64 5090 1000 1000 14.40 9.60 5.56 3.71
PHOTON-128/16/16 128 128 16 16 112* 64 1122 996 7968 1.61 0.69 12.78 5.48
PHOTON-128/16/16 128 128 16 16 112* 64 1708 156 1248 10.26 4.4 35.15 15.06
80-битная защита от коллизии
D-QUARK 176 160 16 16 160 80 1702 704 7744 2.27 0.80 7.85 2.77
D-QUARK 176 160 16 16 160 80 2819 88 968 18.18 6.42 22.88 8.08
ARMADILLO2-C 160 160 80 x 160 80 5406 320 320 25.00 10.00 8.55 3.42
ARMADILLO2-C 160 160 80 x 160 80 7492 80 80 100.00 40.00 17.82 7.13
SHA-1 [29] 160 160 512 x 160 80 5527 344 344 148.84 27.91 48.72 9.14
PHOTON-160/36/36 160 160 36 36 124* 80 1396 1332 6660 2.70 1.03 13.87 5.28
PHOTON-160/36/36 160 160 36 36 124* 80 2117 180 900 20 7.62 44.64 17.01
112-битная защита от коллизии
S-QUARK 256 224 32 32 224 112 2296 1024 8192 3.13 0.85 5.93 1.62
S-QUARK 256 224 32 32 224 112 4640 64 512 50.00 13.64 23.22 6.33
PHOTON-224/32/32 224 224 32 32 192* 112 1736 1716 12012 1.86 0.56 6.19 1.86
PHOTON-224/32/32 224 224 32 32 192* 112 2786 204 1428 15.69 4.71 20.21 6.06
128-битная защита от коллизии
ARMADILLO2-E 256 256 128 x 256 128 8653 512 512 25.00 9.38 3.34 1.25
ARMADILLO2-E 256 256 128 x 256 128 11914 128 128 100.00 37.50 7.05 2.64
SHA-2 [18] 256 256 512 x 256 128 10868 1128 1128 45.39 8.51 3.84 0.72
PHOTON-256/32/32 256 256 32 32 224* 128 2177 996 7968 3.21 0.88 6.78 1.85
PHOTON-256/32/32 256 256 32 32 224* 128 4362 156 1248 20.51 5.59 10.78 2.94

Внедрение программного обеспечения

В Таблице 3 предоставлена наша производительность внедрения программного обеспечения для вариантов PHOTON. Процессором, используемым для оценок, является Intel(R) Core(TM) i7 CPU Q 720, зафиксированный в 1.60 ГГц. В целях сравнения мы также сравнили скорости перестановки AES (без ключевого графика), и его измененную версию с последовательно вычислимой матрицей MDS вместо матрицы 4 x 4 предоставленной в Разделе 2.2. Как ожидалось, основанные на таблице внедрения достигают одинаковой скорости для обеих версий. Мы также сравнили другие разработки облегченных хеш-функций. Справочный код QUARK, очень подходит для оптимизации, проходит в 8, 30 и 22 циклов за байт для U-QUARK, D-QUARK и S-QUARK, соответственно. Оптимизированный код PRESENT достигает 90 циклов за байт, следовательно оценочная скорость для DM-PRESENT-80, DM-PRESENT-128 и H-PRESENT-128 равняется 72, 45 и 90 циклам за байт, соответственно.

Таблица 3. Производительность программного обеспечения в циклах за байт вариантов PHOTON для длинных сообщений.

PHOTON-80/20/16 PHOTON-128/16/16 PHOTON-160/36/36 PHOTON-224/32/32 PHOTON-256/32/32
95 ц/Б 156 ц/Б 116 ц/Б 227 ц/Б 157 ц/Б

Заключение

Мы предложили PHOTON, самое облегченное семейство хеш-функции, известное до сих пор, очень близкое к теоретическому оптимуму. Наше предложение основывается на известной стратегии разработки AES, но мы представили новую технологию смешивания уровней архитектуры, соответствующую сценариям небольшой площади. Это позволяет нам усиливать обширную работу, проделанную на AES и AES подобных хеш-функциях, для обеспечения хорошей уверенности в безопасности нашей схемы. Из-за ограничений мы обращаемся к расширенной версии данной статьи [36] для подробного анализа безопасности PHOTON. Наконец, PHOTON является не только самой маленькой хеш-функцией, но и также достигает превосходных компромиссов области/пропускной способности, и мы получили очень приемлемую производительность с простым внедрением программного обеспечения.


Благодарности

Авторы хотели бы благодарить анонимных рефери за их полезные комментарии. Кроме того, мы очень благодарны Дагу Арне Освику и AlpCode за предоставление оптимизированного Булева представления PRESENT Sbox, Жан-Филиппу Омассое за предоставление его исходного кода куба тестера и Кристине Буре за ее различную помощь.


Контакты авторов материала

  1. Institute for Infocomm Research, Singapore,
  2. Nanyang Technological University, Singapore, E-mail: [1]
  3. Nanyang Technological University, Singapore, E-mail: [2]

Литература

  1. G. Avoine and P. Oechslin. A Scalable and Provably Secure Hash-Based RFID Protocol. In PerCom Workshops, pages 110-114. IEEE Computer Society, 2005.
  2. D. Henrici, J. Gotze, and P. Muller. A Hash-based Pseudonymization Infrastructure for RFID Systems. In SecPerU, pages 22-27. IEEE Computer Society, 2006.
  3. S.-M. Lee, Y. J. Hwang, D. H. Lee, and J. I. Lim. Efficient Authentication for Low-Cost RFID Systems. In O. Gervasi, M. L. Gavrilova, V. Kumar, A. Lagana, H. P. Lee, Y. Mun, D. Taniar, and C. J. K. Tan, editors, ICCSA (1), volume 3480 of LNCS, pages 619-627. Springer, 2005.
  4. X. Wang, H. Yu, and Y. L. Yin. Efficient Collision Search Attacks on SHA-0. In Shoup [33], pages 1-16.
  5. X. Wang, Y. L. Yin, and H. Yu. Finding Collisions in the Full SHA-1. In Shoup [33], pages 17-36.
  6. X. Wang and H. Yu. How to Break MD5 and Other Hash Functions. In EURO-CRYPT, pages 19-35, 2005.
  7. National Institute of Standards and Technology. Announcing Request for Can-didate Algorithm Nominations for a NewCryptographic Hash Algorithm (SHA-3) Family. Federal Register, 27(212):62212-62220, November 2007. Available:http:// csrc.nist.gov/groups/ST/hash/documents/FR_Notice_Nov07.pdf(2008/10/17).
  8. C. Rolfes, A. Poschmann, G. Leander, and C. Paar. Ultra-Lightweight Implemen-tations for Smart Devices - Security for 1000 Gate Equivalents. In G. Grimaud and F.-X. Standaert, editors, CARDIS, volume 5189 of LNCS, pages 89-103. Springer, 2008.
  9. T. Good and M. Benaissa. ASIC Hardware Performance. In M. J. B. Robshaw and O. Billet, editors, The eSTREAM Finalists, volume 4986 of LNCS, pages 267-293. Springer, 2008.
  10. M. Feldhofer and C. Rechberger. A Case Against Currently Used Hash Func-tions in RFID Protocols. In R. Meersman, Z. Tari, and P. Herrero, editors, OTM Workshops (1), volume 4277 of LNCS, pages 372-381. Springer, 2006.
  11. National Institute of Standards and Technology. FIPS 180-1: Secure Hash Stan-dard. http://csrc.nist.gov, April 1995.
  12. National Institute of Standards and Technology. FIPS 180-2: Secure Hash Stan-dard. http://csrc.nist.gov, August 2002.
  13. M. O'Neill. Low-Cost SHA-1 Hash Function Architecture for RFID Tags. In S. Dominikus and M. Aigner, editors, RFIDSec, 2008. Available via http: //events.iaik.tugraz.at/RFIDSec08/Papers/.
  14. M. Feldhofer and C. Rechberger. A Case Against Currently Used Hash Func-tions in RFID Protocols. In R. Meersman, Z. Tari, and P. Herrero, editors, OTM Workshops (1), volume 4277 of LNCS, pages 372-381. Springer, 2006.
  15. A. Juels and S. A. Weis. Authenticating Pervasive Devices with Human Protocols.In Shoup [33], pages 293-308.
  16. S. Hirose. Some Plausible Constructions of Double-Block-Length Hash Functions.In M. J. B. Robshaw, editor, FSE, volume 4047 of LNCS, pages 210-225. Springer, 2006.
  17. T. Peyrin, H. Gilbert, F. Muller, and M. J. B. Robshaw. Combining Compression Functions and Block Cipher-Based Hash Functions. In X. Lai and K. Chen, editors, ASIACRYPT, volume 4284 of LNCS, pages 315-331. Springer, 2006.
  18. C. Blondeau, M. Naya-Plasencia, M. Videau, and E. Zenner. Cryptanalysis of ARMADILLO2. Cryptology ePrint Archive, Report 2011/160, 2011.
  19. G. Bertoni, J. Daemen, M. Peeters, and G. V. Assche. Sponge functions. Ecrypt Hash Workshop 2007, May 2007.
  20. C. D. Canniere, O. Dunkelman, and M. Knezevic. KATAN and KTANTAN - A Family of Small and Efficient Hardware-Oriented Block Ciphers. In C. Clavier and K. Ga j, editors, CHES, volume 5747 of LNCS, pages 272-288. Springer, 2009.
  21. R. C. Merkle. One Way Hash Functions and DES. In Brassard [13], pages 428-446.
  22. I. Damgard. A Design Principle for Hash Functions. In Brassard [13], pages 416-427.
  23. The PHOTON Family of Lightweight Hash Functions. http://sites.google. com/site/photonhashfunction/.
  24. G. Bertoni, J. Daemen, M. Peeters, and G. V. Assche. Sponge functions. Ecrypt Hash Workshop 2007, May 2007.
  25. G. Bertoni, J. Daemen, M. Peeters, and G. V. Assche. Sponge-Based Pseudo-Random Number Generators. In S. Mangard and F.-X. Standaert, editors, CHES, volume 6225 of LNCS, pages 33-47. Springer, 2010.
  26. G. Bertoni, J. Daemen, M. Peeters, and G. V. Assche. On the Indifferentiability of the Sponge Construction. In Paterson [30], pages 181-197.
  27. G. Bertoni, J. Daemen, M. Peeters, and G. V. Assche. On the security of the keyed sponge construction. In G. Leander and S. Thomsen, editors, SKEW, 2011.
  28. G. Bertoni, J. Daemen, M. Peeters, and G. V. Assche. Keccak specifications.Submission to NIST (Round 2), 2009.
  29. J. Daemen and V. Rijmen. The Design of Rijndael: AES - The Advanced Encryption Standard. Springer, 2002.
  30. A. Biryukov and D. Khovratovich. Related-Key Cryptanalysis of the Full AES-192 and AES-256. In M. Matsui, editor, ASIACRYPT, volume 5912 of LNCS, pages 1-18. Springer, 2009.
  31. A. Biryukov, D. Khovratovich, and I. Nikolic. Distinguisher and Related-Key Attack on the Full AES-256. In S. Halevi, editor, CRYPTO, volume 5677 of LNCS, pages 231-249. Springer, 2009.
  32. A. Moradi, A. Poschmann, S. Ling, C. Paar, and H. Wang. Pushing the Limits: A Very Compact and a Threshold Implementation of the AES. In Paterson [30].
  33. A. Moradi, A. Poschmann, S. Ling, C. Paar, and H. Wang. Pushing the Limits: A Very Compact and a Threshold Implementation of the AES. In Paterson [30].
  34. Virtual Silicon Inc. 0:18 um VIP Standard Cell Library Tape Out Ready, Part Number: UMCL18G212T3, Process: UMC Logic 0:18 um Generic II Technology: 0.18 II, July 2004.
  35. D. Canright. A Very Compact S-Box for AES. In J. R. Rao and B. Sunar, editors, CHES, volume 3659 of LNCS, pages 441-455. Springer, 2005. The HDL specification is available at the author's official webpage http://faculty.nps. edu/drcanrig/pub/index.html.
  36. The PHOTON Family of Lightweight Hash Functions. http://sites.google. com/site/photonhashfunction/.