Особенности аппаратной реализации алгоритма...

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

Upload: dong

Post on 20-Jan-2016

82 views

Category:

Documents


1 download

DESCRIPTION

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

TRANSCRIPT

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

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

шифрования

Стандарт AES, принятый NIST в 2001 году

Rijndael 3. Аппаратная реализация структурных блоков

1. Описание алгоритма

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

4. Проблемы, возникающие при аппаратной реализации

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

1. Описание алгоритма Rijndael

Шифрование с секретным ключом

2

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

3

1. Описание алгоритма Rijndael

Состояние и ключ

Состояние Ключ

всег

да =

4

* В AES Nb всегда = 4 байтаRijndael допускает длину 128, 192 и 256 бит

Nk = 4

Может быть длиной 128, 192 и 256 бит

Nb = 6 байт *

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

4

Общая структура алгоритма

1. Описание алгоритма Rijndael

Nr Nb = 4 Nb = 6 Nb = 8Nk = 4 10 12 14Nk = 6 12 12 14Nk = 8 14 14 14

Зависимость количества раундов Nr от длины

массивов состояния Nb и ключа Nk

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

5

Обычный и заключительный раунды

1. Описание алгоритма Rijndael

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

6

Преобразование SybBytes

1. Описание алгоритма Rijndael

Общая схема применения преобразования SubBytes к состоянию

1. Нахождение обратного значения по отношению к операции умножения в поле Галуа − GF(28) для текущего байта состояния

2. Вычисление афинного преобразования

В обратной операции, InvSubBytes, сначала над состоянием выполняется обратное афинное преобразование, а затем находится обратное по

умножению значение в GF(28)

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

7

Преобразование ShiftRows

1. Описание алгоритма Rijndael

Структура преобразования ShiftRows

Зависимость величины сдвигов от длины состояния Nb

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

8

Преобразование MixColumns

1. Описание алгоритма Rijndael

Структура преобразования MixColumns

Математическое описание преобразования MixColumns

c(x ) = ’03’x3 + ’01’x2 + ‘01’x + ‘02’

Каждый столбец состояния представляется в виде полинома с коэффициентами в поле Галуа GF(28): a(x ) = a3x3 + a2x2 + a1x + a0

который умножается по модулю M(x) = x4 + 1 на полином:

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

9

Преобразование AddRoundKey

1. Описание алгоритма Rijndael

Структура преобразования AddRoundKey

текущее состояние ключ текущего раунда состояние-результат

Обратное преобразование, InvAddRoundKey, полностью идентично прямому.

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

10

1. Описание алгоритма Rijndael

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

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

11

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

Основные типы схем

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

12

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

Схема, предложенная Стефаном Мангардом, Манфредом Айнером и Сандрой Доминикус (Гразский Технологический Университет, Австрия)

Представленная схема является в высшей степени регулярной и

масштабируемой. Структурные элементы:

1. Модуль данных.2. Модуль расширения ключей.3. Модуль связывания закодированных и незакодированных блоков. (CBC)4. Интерфейсный модуль.

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

13

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

Вариант 2

Схема предложена Намингом Ю и Говардом Хейсом из

Electrical and Computer EngineeringMemorial University of Newfoundland

Реализация одного универсального раунда

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

14

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

Вариант 3

Особенность реализации в том, что каждый раунд реализован отдельно, в

результате чего получается конвейерная структура.

(Pipeline architecture)

Структура одного раунда

Этот вариант реализации представлен Алирезой Ходжат и Ингрид

Вербауведе, факультет электрического проектирования Калифорнийского

Университета, Лос-Анджелес

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

15

3. Аппаратная реализация структурных блоков

Блок S-BoxВариант, предложенный в стандарте AES

В стандарте AES представлены следующие таблицы, которые содержат

рассчитанные заранее значения функций S-Box. Их предлагается реализовать в

виде выборки по таблице из блока памяти ПЗУ (ROM Table Lookup)

Этот способ является наиболее простым, но ресурсозатратным и не подходящим

для быстрых реализаций.

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

16

3. Аппаратная реализация структурных блоков

Блок S-BoxВариант, предложенный Намингом Ю и Говардом Хейсом из

Electrical and Computer Engineering Memorial University of Newfoundland

Представленная реализация отличается от представленных ранее.Дж. Фуллер и В. Миллан, исследуя локальную структуру расстояний Хэмминга между булевыми функциями, использовали новый метод для нахождения эквивалентности между 8 булевыми функциями, используемыми блоками S-Box. Выходная булева функция блока S-Box может быть представлена в виде:

bj(x) = bi(Dijx) cj

где: D − двоичная матрица, с − двоичная константа, а bi − известная булева функция

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

17

3. Аппаратная реализация структурных блоков

Блок S-BoxВариант, предложенный Эдвином Муи из Texco

Enterprise Ptd.

Схема универсального блока S-Box

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

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

18

3. Аппаратная реализация структурных блоков

Блок S-BoxВариант, предложенный Эдвином Муи из Texco

Enterprise Ptd.

Схема нахождения мультипликативного инверсного

изоморфное преобразование в комплексном поле

возведение в квадрат в поле GF(24)

умножение на константу в поле GF(24)

сложение в поле GF(24)

обратное изоморфное преобразование в комплексном поле

мультипликативная инверсия в поле GF(24)

умножение в поле GF(24)

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

19

3. Аппаратная реализация структурных блоков

Блок S-BoxРеализация 3-го варианта

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

20

3. Аппаратная реализация структурных блоков

Схема модуля расширения ключей

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

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

21

3. Аппаратная реализация структурных блоков

Схема модуля расширения ключей

Вариант, предложенный Намингом Ю и Говардом Хейсом из

Electrical and Computer Engineering Memorial University of Newfoundland

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

22

3. Аппаратная реализация структурных блоков

Схема модуля расширения ключей

Физическая структура блока с указанием уровней конвееризации

Схема реализации модуля расширения ключа

Этот вариант реализации представлен Алирезой Ходжат и Ингрид Вербауведе, факультет электрического проектирования Калифорнийского Университета, Лос-Анджелес

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

23

3. Аппаратная реализация структурных блоков

Преобразование MixColumns

Один из возможных способов реализации преобразования MixColumns

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

24

4. Проблемы, возникающие при аппаратной реализации

Общие проблемы и сложности

1) минимизация места, занимаемого на кристалле2) увеличение быстродействия3) защита от аппаратно-направленных атак (атака по

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

реализации

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

25

4. Проблемы, возникающие при аппаратной реализации

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

Блок S-Box

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

26

4. Проблемы, возникающие при аппаратной реализации

Схема расширения ключа

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

27

4. Проблемы, возникающие при аппаратной реализации

Проблема масштабируемости

Nr Nb = 4 Nb = 6 Nb = 8Nk = 4 10 12 14Nk = 6 12 12 14Nk = 8 14 14 14

Зависимость количества раундов Nr от длины

массивов состояния Nb и ключа Nk

Зависимость величины сдвигов от длины состояния Nb

Nr = f(Nb, Nk) ? C1, C2, C3 = f(Nb) ?