Криптографическая система защиты информации на — КиберПедия 

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Криптографическая система защиты информации на

2018-01-13 194
Криптографическая система защиты информации на 0.00 из 5.00 0 оценок
Заказать работу

Основе стандарта AES (Rijndael)

В криптографии используются симметричные и асимметричные системы (алгоритмы) шифрования. Среди симметричных алгоритмов шифрования особое место занимает алгоритм DES, который на протяжении трех десятилетий был по сути международным стандартом симметричного шифрования. Столько высокую популярность этому алгоритму обеспечила его стойкость — за 25 лет интенсивного криптоанализа не было найдено методов вскрытия этого шифра, существенно отличающихся по эффективности от полного перебора по ключевому пространству. Однако сегодня DES считается устаревшим по многим другим важным параметрам: длине ключа, удобству реализации, на современных процессорах, быстродействию и др.

Учитывая это, в 1997 г. Национальный институт стандартов и технологий США (NIST) объявил о начале конкурса по принятию нового стандарта криптографической защиты для закрытия важной информации правительственного уровня на замену существующему с 1974 г. алгоритму DES.

В настоящей работе рассматривается шифрование по алгоритму AES (Advanced Encryption Standard), который в октябре 2000 г. был признан победителем конкурса, проводимого NIST, как имеющий наилучшее сочетание стойкости, производительности, эффективности реализации и гибкости.

Алгоритм AES (вначале он имел наименование Rijndae по начальным буквам бельгийских разработчиков Райменом (Rijmen) и Даменом (Daemen) является блочным шифром. Алгоритм представляет каждый блок кодируемых данных в виде двумерного массива байт размером 4×4, 4×6 или 4×8 в зависимости от установленной длины блока. Далее на соответствующих этапах преобразования производятся либо над независимыми столбцами, либо над независимыми строками, либо вообще над отдельными байтами в таблице.

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

Шифрование

Rijndael представляет собой итеративный блочный шифр, имеющий переменную длину блоков и различные длины ключей. Длина ключа и длина блока могут быть независимо друг от друга 128, 192 или 256 бит. Промежуточные результаты преобразований называются состояниями.

Блоки данных состояния можно представить в виде прямоугольного массива байтов. Этот массив имеет 4 строки, а число столбцов обозначено как N b и равно длине блока, деленной на 32. Ключ шифрования также представлен в виде прямоугольного массива с четырьмя строками, число столбцов в котором обозначено как N k и равно длине ключа, деленной на 32.

Система шифрования по стандарту AES с алгоритмом работы представлена в приложении 3 для случая, когда длина блока открытого текста N b = 6 словам (слово равно 32 битам, а длина ключа N k =4 словам). Тогда таблицы массива байт открытого текста и массива ключей будут выглядеть следующим образом:

Таблица 1

a 00 a 01 a 02 a03 a 04 a 05         k 00 k 01 k 02 k 03
a 10 a 11 a 12 a 13 a 14 a 15         k 10 k 11 k 12 k 13
a 20 a 21 a 22 a 23 a 24 a 25         k 20 k 21 k 22 k 23
a 30 a 31 a 32 a 33 a 34 a 35         k 30 k 31 k 32 k 33

 

Условные обозначения на схемах математических функций приведены в приложении 4.

Процесс шифрования состоит из следующих этапов:

· начальное добавление раундового ключа (начальное забеливание),

· раундовое преобразование в течение (r – 1) раундов,

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

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

Число раундов обозначено как r и зависит от значений N b и N k. Оно приведено в таблице 2.

Таблица 2

r N b = 4 N b = 6 N b = 8
N k = 4      
N k = 6      
N k = 8      

Начальное добавление раундового ключа. В преобразовании добавление раундового ключа (начальное забеливание) цикловой ключ добавляется к состоянию посредством сложения по модулю 2. Длина раундового Nk ключа равна длине блока Nb.

a 00 a 01 a 02 a 03 a 04 a 05   k 00 k 01 k 02 k 03 k 04 k 05   = b 00 b 01 b 02 b 03 b 04 b 05  
a 10 a 11 a 12 a 13 a 14 a 15 Å k 10 k 11 k 12 k 13 k 14 k 15 b 10 b 11 b 12 b 13 b 14 b 15  
b 20 b 21 b 22 b 23 b 24 b 25  
a 20 a 21 a 22 a 23 a 24 a 25   k 20 k 21 k 22 k 23 k 24 k 25  
b 30 b 31 b 32 b 33 b 34 b 35  
a 30 a 31 a 32 a 33 a 34 a 35   k 30 k 31 k 32 k 33 k 34 k 35  

Сложение и вывод результатов осуществляется в следующей последовательности: a 00Å k 00= b 00, a 10Å k 10= b 10,…, a 35Å k 35= b 35.

Раундовое преобразование. Это преобразование включает в себя нелинейное преобразование матрицы данных и добавление раундового ключа. Нелинейное преобразование матрицы состоит из трех шагов: замены байтов матрицы на новые значения (S- box - преобразования), циклического сдвига строк матрицы влево, перемешивания столбцов матрицы (умножения матрицы данных слева на постоянную матрицу-циркулянт M.

М =        
       
       
       

Преобразование замена байт представляет собой нелинейную замену байт, выполняемую независимо с каждым байтом состояния. Таблицы замены (или S-box) являются инвертируемыми и построены из композиции двух преобразований: а) получение обратного элемента, б) применение аффинного преобразования (над GF(2)). Эти преобразования определены как:

b 0 =                 * a 0 Å  
b 1                 a 1  
b 2                 a2  
b 3                 a 3  
b 4                 a4  
b 5                 a 5  
b 6                 a 6  
b7                 a 7  

 

Применение описанного S -box ко всем байтам состояния можно проиллюстрировать как:

 
 

Рис.3.3. Преобразование замены байтов

Преобразование S - box в виде таблицы приведено в приложении 5, табл. 1.

Преобразование сдвига строк подразумевает, что последние 3 строки состояния циклически сдвигаются на различное число байт. Строка 1 сдвигается на С 1 байт, строка 2 - на С 2 байт и строка 3 - на С 3 байт. Значения сдвигов С 1, С 2 и С 3 зависят от длины блока N b. Их величины приведены в таблице 2.

Таблица 2. - Величина сдвига для разной длины блоков.

N b C 1 C 2 C 3
       
       
       

 

В преобразовании перемешивания столбцов столбцы состояния рассматриваются как многочлены над полем GF(28) и умножаются по модулю x 4+1 на многочлен c (x), выглядящий следующим образом:

c (x)='03' x 3 + '01' x 2 + '01' x + '02'.

Это может быть представлено в виде матричного умножения. Пусть b (x)= c (x)* a (x),

b 0 =         * a 0
b 1         a 1
b 2         a 2
b 3         a 3

 

Конечное поле GF(28) порождается неприводимым полиномом g (x) = x 8+ x 4+ x 3+ x 2+1. Операция сложения в этом поле является ни чем иным, как побитовым суммированием по модулю 2, умножение выполняется как обычное умножение полиномов над GF(2) по модулю полинома g (x).

В графическом виде преобразование перемешивание столбцов выглядит так.

 
 

Рис.3.4. Преобразование перемешивания столбцов.

Добавление раундового ключа. В конце каждого раунда с полученным в результате всех преобразований блоком складывается посредством поразрядного сложения по модулю 2 раундовый ключ. Это осуществляется аналогично начальному добавлению раундового ключа.

Заключительный раунд отличается от остальных только тем, что в нём исключается преобразование перемешивания столбцов.


Поделиться с друзьями:

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.022 с.