Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основной шаг криптопреобразования




Ключевая информация

В соответствии с принципом Кирхгофа, которому удовлетворяют все современные шифры, именно секретность ключевой информации обеспечивает секретность зашифрованного сообщения. В ГОСТ 28147–89 ключевая информация состоит из двух структур данных. Собственно ключа (ключевого запоминающего устройства), необходимого для всех шифров, и блока подтановки – долговременной ключевой структуры. Ниже приведены основные характеристики ключевых структур ГОСТ 28147–89.

1) Ключ является массивом из восьми 32-битных элементов кода, далее он обозначается символом К: K = {Ki}0≤ i ≤7. В ГОСТе элементы ключа используются как 32-разрядные целые числа без знака: 0 ≤ Ki ≤ 232. Таким образом, размер ключа составляет 32·8=256 бит или 32 байта.

2) Блок подстановки является матрицей 8´16, содержащей 4-битовые элементы, которые можно представить в виде целых чисел от 0 до 15. Строки блока подстановки называются узлами замен, они должны содержать различные значения, то есть каждый узел замен должен содержать 16 различных чисел от 0 до 15. Таблица замен обозначается символом H: H = {Hi,j} 0 ≤ i ≤ 7, 0 ≤ j ≤ 15 0 ≤ Hi,j ≤ 15. Таким образом, общий объем таблицы замен равен: 8 узлов ´ 16 элементов/узел ´ 4 бита/элемент = 512 бит или 64 байта.

                                 
  0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15
  0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15
  0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15
  0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15
  0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15
  0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15
  0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15
  0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15 0-15

Рис. 7.2 Таблица замен


 

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

 

 

 
 

 


Рис. 7.3 Схема алгоритма основного шага

Шаг 0. Определяет исходные данные для основного шага криптопреобразования:

- N – преобразуемый 64-битовый блок данных, в ходе выполнения шага. Его младшая (N 1) и старшая (N 2) части обрабатываются как отдельные 32-битовые целые числа без знака. Таким образом, можно записать N = (N 1, N 2).

- K – 32-битовый элемент ключа;

Шаг 1. Сложение с ключом. Младшая половина преобразуемого блока складывается по модулю 232 с используемым на шаге элементом ключа, результат S = (S 0, S 1, S 2, S 3, S 4, S 5, S 6, S 7) передается на следующий шаг;

Шаг 2. Поблочная замена. 32-битовое значение, полученное на предыдущем шаге, интерпретируется как массив из восьми 4-битовых блоков кода, которые заменяются на соответствующие значения ячеек таблицы замен.

Значение каждого из восьми блоков заменяется на новое, которое выбирается по таблице замен следующим образом: значение блока Si заменяется на Si -тый по порядку элемент (нумерация с нуля) i -того узла замен (т.е. i -той строки таблицы замен, нумерация также с нуля). Другими словами, в качестве замены для значения блока выбирается элемент из таблицы замен с номером строки, равным номеру заменяемого блока, и номером столбца, равным значению заменяемого блока как 4-битового целого неотрицательного числа.

Шаг 3. Циклический сдвиг на 11 бит влево. Результат предыдущего шага сдвигается циклически на 11 бит в сторону старших разрядов и передается на следующий шаг. На схеме алгоритма символом << обозначена функция циклического сдвига своего аргумента на 11 бит в сторону старших разрядов.

Шаг 4. Побитовое сложение: значение, полученное на шаге 3, побитно складывается по модулю 2 со старшей половиной преобразуемого блока.

Шаг 5. Сдвиг по цепочке: младшая часть преобразуемого блока сдвигается на место старшей, а на ее место помещается результат выполнения предыдущего шага.

Шаг6. Полученное значение преобразуемого блока возвращается как результат выполнения алгоритма основного шага криптопреобразования.


 

 




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


Дата добавления: 2014-01-07; Просмотров: 345; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.