1 / 27

Особенности аппаратной реализации алгоритма шифрования

1. Описание алгоритма. 2. Типовые схемные решения аппаратной реализации. Особенности аппаратной реализации алгоритма шифрования. 3. Аппаратная р еализация структурных блоков. Rijndael. 4. Проблемы, возникающие при аппаратной реализации. Стандарт AES, принятый NIST в 2001 году.

dong
Download Presentation

Особенности аппаратной реализации алгоритма шифрования

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1. Описание алгоритма 2. Типовые схемные решения аппаратной реализации Особенности аппаратной реализации алгоритма шифрования 3. Аппаратная реализация структурных блоков Rijndael 4. Проблемы, возникающие при аппаратной реализации СтандартAES, принятый NIST в 2001 году

  2. 1. Описание алгоритма Rijndael Шифрование с секретным ключом

  3. 1. Описание алгоритма Rijndael Состояние и ключ Nk = 4 Nb= 6 байт * всегда = 4 Состояние Ключ * В AES Nbвсегда = 4 байта Rijndael допускает длину 128, 192 и 256 бит Может быть длиной 128, 192 и 256 бит

  4. 1. Описание алгоритма Rijndael Общая структура алгоритма Зависимость количества раундов Nr от длины массивов состояния Nb и ключа Nk

  5. 1. Описание алгоритма Rijndael Обычный и заключительный раунды

  6. 1. Описание алгоритма Rijndael Преобразование SybBytes Общая схема применения преобразования SubBytesк состоянию 1. Нахождение обратногозначения по отношению к операции умножения в поле Галуа − GF(28) для текущего байта состояния 2. Вычисление афинного преобразования В обратной операции, InvSubBytes, сначала над состоянием выполняется обратное афинное преобразование, а затем находится обратное по умножению значение в GF(28)

  7. 1. Описание алгоритма Rijndael Преобразование ShiftRows Структура преобразования ShiftRows Зависимость величины сдвигов от длины состояния Nb

  8. 1. Описание алгоритма Rijndael Преобразование MixColumns Структура преобразования MixColumns Математическое описание преобразования MixColumns Каждый столбец состояния представляется в виде полинома с коэффициентами в поле Галуа GF(28):a(x ) = a3x3 + a2x2 + a1x + a0 который умножается по модулю M(x) = x4 + 1 на полином: c(x ) = ’03’x3+ ’01’x2+ ‘01’x + ‘02’

  9. 1. Описание алгоритма Rijndael Преобразование AddRoundKey Структура преобразованияAddRoundKey текущее состояние ключ текущего раунда состояние-результат Обратное преобразование,InvAddRoundKey,полностью идентично прямому.

  10. 1. Описание алгоритма Rijndael Механизм расширения ключа В каждом раунде используется свой уникальный ключ, сгенерированный на основе главного. Такие ключи называются раундовыми (цикловыми).

  11. 2. Типовые схемные решения аппаратной реализации Основные типы схем

  12. 2. Типовые схемные решения аппаратной реализации Схема, предложенная Стефаном Мангардом, Манфредом Айнером и Сандрой Доминикус (Гразский Технологический Университет, Австрия) Представленная схема является в высшей степени регулярной и масштабируемой. Структурные элементы: 1. Модуль данных. 2. Модуль расширения ключей. 3. Модуль связывания закодированных и незакодированных блоков. (CBC) 4. Интерфейсный модуль.

  13. 2. Типовые схемные решения аппаратной реализации Вариант 2 Схема предложена Намингом Ю и ГовардомХейсом из Electrical and Computer Engineering Memorial University of Newfoundland Реализация одного универсального раунда

  14. 2. Типовые схемные решения аппаратной реализации Вариант 3 Этот вариант реализации представлен АлирезойХоджат и ИнгридВербауведе, факультет электрического проектирования Калифорнийского Университета, Лос-Анджелес Особенность реализации в том, что каждый раунд реализован отдельно, в результате чего получается конвейерная структура. (Pipeline architecture) Структура одного раунда

  15. 3. Аппаратная реализация структурных блоков Блок S-Box Вариант, предложенный в стандарте AES В стандарте AES представлены следующие таблицы, которые содержат рассчитанные заранее значения функций S-Box. Их предлагается реализовать в виде выборки по таблице из блока памяти ПЗУ (ROM Table Lookup) Этот способ является наиболее простым, но ресурсозатратным и не подходящим для быстрых реализаций.

  16. 3. Аппаратная реализация структурных блоков Блок S-Box Вариант, предложенный Намингом Ю и ГовардомХейсом из Electrical and Computer EngineeringMemorial University of Newfoundland Представленная реализация отличается от представленных ранее. Дж. Фуллер и В. Миллан, исследуя локальную структуру расстояний Хэмминга между булевыми функциями, использовали новый метод для нахождения эквивалентности между 8 булевыми функциями, используемыми блоками S-Box. Выходная булева функция блока S-Box может быть представлена в виде: где: D − двоичная матрица, с − двоичная константа, а bi − известная булева функция bj(x) = bi(Dijx) cj

  17. 3. Аппаратная реализация структурных блоков Блок S-Box Вариант, предложенный Эдвином Муи из Texco Enterprise Ptd. Схема универсального блока S-Box Схема реализует алгоритм преобразований, описанный авторами Rijndael. Реализация основана на работах Винсента Рэймена“Efficient Implementation of the Rijndael S-Box” и АкашиСато ( с соавт.) “A CompactRijndael Hardware Architecture with S-Box Optimization” Основная сложность данного метода в реализации нахождения обратного значения текущего байта состояния относительно операции умножения в поле Галуа GF(28). Поскольку эта операция очень сложна, прибегли к разложению полинома в GF(28) к полиному в GF(24). Для таких полиномов существует более простая формула:

  18. 3. Аппаратная реализация структурных блоков Блок S-Box Вариант, предложенный Эдвином Муи из Texco Enterprise Ptd. Схема нахождения мультипликативного инверсного мультипликативная инверсия в поле GF(24) изоморфное преобразование в комплексном поле возведение в квадрат в поле GF(24) умножение в поле GF(24) умножение на константу в поле GF(24) обратное изоморфное преобразование в комплексном поле сложение в поле GF(24)

  19. 3. Аппаратная реализация структурных блоков Блок S-Box Реализация 3-го варианта

  20. 3. Аппаратная реализация структурных блоков Схема модуля расширения ключей Схема позволяет хранить только текущий цикловой ключ, обеспечивая вычисление нового циклового ключа как в прямом (RoundKeyi+1), так и в обратном порядке (RoundKeyi-1).

  21. 3. Аппаратная реализация структурных блоков Схема модуля расширения ключей Вариант, предложенный Намингом Ю и ГовардомХейсом из Electrical and Computer EngineeringMemorial University of Newfoundland

  22. 3. Аппаратная реализация структурных блоков Схема модуля расширения ключей Этот вариант реализации представлен АлирезойХоджат и ИнгридВербауведе, факультет электрического проектирования Калифорнийского Университета, Лос-Анджелес Физическая структура блока с указанием уровней конвееризации Схема реализации модуля расширения ключа

  23. 3. Аппаратная реализация структурных блоков Преобразование MixColumns Один из возможных способов реализации преобразования MixColumns

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

  25. 4. Проблемы, возникающие при аппаратной реализации Блок S-Box Отношение количества эквивалентных ячеек и времени задержки для вариантов реализации представленных АлирезойХоджат и ИнгридВербауведе, факультет электрического проектирования Калифорнийского Университета, Лос-Анджелес

  26. 4. Проблемы, возникающие при аппаратной реализации Схема расширения ключа

  27. 4. Проблемы, возникающие при аппаратной реализации Проблема масштабируемости Зависимость количества раундов Nr от длины массивов состояния Nb и ключа Nk Зависимость величины сдвигов от длины состояния Nb Nr = f(Nb, Nk) ? C1, C2, C3 = f(Nb) ?

More Related