АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Зашифрование открытых данных в режиме простой замены

Читайте также:
  1. Абстрактные структуры данных
  2. Автоматизированная система обработки данных правовой статистики
  3. Авторское право - правовое положение авторов и созданных их творческим трудом произведений литературы, науки и искусства.
  4. Алгоритм шифрования данных IDEA
  5. Американский стандарт шифрования данных DES
  6. Анализ данных при исследовании систем управления
  7. Анализ матричных данных (матрица приоритетов)
  8. Анализ работы усилительного каскада в режиме покоя
  9. Аппаратура линии связи: аппаратура передачи данных, оконечное оборудование, промежуточная аппаратура.
  10. Архитектура, управляемая событиями. Типы данных Win32. Оконная процедура (функция). Оконный класс.
  11. Атрибуты (элементы данных).
  12. База данных

Открытые данные, подлежащие зашифрованию, разбивают на 64‑разрядные блоки Т0. Процедура зашифрования 64-разрядного блока Т0 в режиме простой замены включает 32 цикла (j = 1…32). В ключевое запоминающее устройство вводят 256 бит ключа К в виде восьми 32-разрядных подключей (чисел) Кi:

К=К7К6К5К4К3К2К1К0.

Последовательность битов блока

Т0=(a1(0), a2(0),..., a31(0), a32(0), b1(0), b2(0),..., b31(0), b32(0))

разбивают на две последовательности по 32 бита: b(0) a(0), где b(0) – левые или старшие биты, a(0) – правые или младшие биты.Эти последовательности вводят в накопители N1 и N2 перед началом первого цикла зашифрования. В результате начальное заполнение накопителя N1

a (0) = (a32(0), a31(0),..., a2(0), a1(0)),

32, 31,... 2, 1 номер разряда N1

начальное заполнение накопителя N2

b(0) = (b32(0), b31(0),..., b2(0), b1(0)).

32, 31,..2, 1 номер разряда N2

 

Рисунок 5.6 – Схема реализации режима простой замены

 

Первый цикл (j=1) процедуры зашифрования 64-разрядного блока открытых данных можно описать уравнениями:

Здесь a (1) – заполнение N1 после 1-го цикла зашифровaния; b (1) – заполнение N2 после 1-го цикла зашифрования; f функция шифрования.

Аргументом функции f является сумма по модулю 232 числа a(0) (начального заполнения накопителя N1) и числа К0 – подключа, считываемого из накопителя Х0 КЗУ. Каждое из этих чисел равно 32 битам.

Функция f включает две операции над полученной 32-разрядной суммой (a (0) К0).

Перваяоперация называется подстановкой (заменой) и выполняется блоком подстановки S. Блок подстановки S состоит из восьми узлов замены (S-блоков замены) S1,S2,...,S8 с памятью 64 бит каждый. Поступающий из СМ1 на блок подстановки S 32-разрядный вектор разбивают на восемь последовательно идущих 4-разрядных векторов, каждый из которых преобразуется в четырехразрядный вектор соответствующим узлом замены. Каждый узел замены можно представить в виде таблицы-перестановки шестнадцати четырехразрядных двоичных чисел в диапазоне 0000…1111. Входной вектор указывает адрес строки в таблице, а число в этой строке является выходным вектором. Затем четырехразрядные выходные векторы последовательно объединяют в 32‑разрядный вектор. Узлы замены (таблицы-перестановки) представляют собой ключевые элементы, которые являются общими для сети ЭВМ и редко изменяются. Эти узлы замены должны сохраняться в секрете.

Втораяоперация – циклический сдвиг влево (на 11 разрядов) 32‑разрядного вектора, полученного с выхода блока подстановки S. Циклический сдвиг выполняется регистром сдвига R.

Далее результат работы функции шифрования f суммируют поразрядно по модулю 2 в сумматоре СМ2 с 32-разрядным начальным заполнением b(0) накопителя N2. Затем полученный на выходе СМ2 результат (значение a(1)) записывают в накопитель N1, а старое значение N1 (значение a(0)) переписывают в накопитель N2 (значение b(1) = a(0)). Первый цикл завершен.

Последующие циклы осуществляются аналогично, при этом во втором цикле из КЗУ считывают заполнение Х1 – подключ К1, в третьем цикле – подключ К2 и т.д., в восьмом цикле – подключ К7. В циклах с 9-го по 16-й, а также в циклах с 17-го по 24-й подключи из КЗУ считываются в том же порядке: К0, К1, К2,...,К6, К7. В последних восьми циклах с 25-го по 32-й порядок считывания подключей из КЗУ обратный: К7, К6,..., К2, К1, К0. Таким образом, при зашифровании в 32 циклах осуществляется следующий порядок выборки из КЗУ подключей:

К0, К1, К2, К3, К4, К5, К6, К7, К0, К1, К2, К3, К4, К5, К6, К7,

К0, К1, К2, К3, К4, К5, К6, К7, К7, К6, К5, К4, К3, К2, К1, К0.

В 32-м цикле результат из сумматора СМ2 вводится в накопитель N2, а в накопителе N1 сохраняется прежнее заполнение. Полученные после 32-го цикла зашифрования заполнения накопителей N1 и N2 являются блоком зашифрованных данных Тш, соответствующим блоку открытых данных Т0.

Уравнения зашифрования в режиме простой замены имеют вид:

при j=1…24,

при j=25…31,

при j=32

где a (j) = (a32(j), a31(j),..., a1(j)) – заполнение N1 после j-го цикла зашифрования;

b (j) = (b32(j), b31(j),..., b1(j)) – заполнение N2 после j-го цикла зашифрования, j=1…32.

Блок зашифрованных данных Тш (64 разряда) выводится из накопителей N1, N2 в следующем порядке: из разрядов 1…32 накопителя N1, затем из разрядов 1…32 накопителя N2, т.е. начиная с младших разрядов:

Тш = (a1(32), a2(32),..., a32(32), b1(32), b2(32),..., b32(32)).

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

 

5.5.1.2 Расшифрование в режиме простой замены

Криптосхема, реализующая алгоритм расшифрования в режиме простой замены, имеет тот же вид, что и при зашифровании (рисунок 5.6).

В КЗУ вводят 256 бит ключа, на котором осуществлялось зашифрование. Зашифрованные данные, подлежащие расшифрованию, разбиты на блоки Тш по 64 бита в каждом. Ввод любо-го блока

Тш = (a1(32), a2(32),..., a32(32), b1(32), b2(32),..., b32(32))

в накопители N1 и N2 производят так, чтобы начальное значение накопителя N1 имело вид

(a32(32), a31(32),..., a2(32), a1(32)),

32, 31,..., 2, 1 номер разряда N1

а начальное заполнение накопителя N2 – вид

(b32(32), b31(32),..., b2(32), b1(32)).

32, 31,..., 2, 1 номер разряда N2

Расшифрование осуществляется по тому же алгоритму, что и зашифрование, с тем изменением, что заполнения накопителей X0, Х1,..., Х7 считываются из КЗУ в циклах расшифрования в следующем порядке:

К0, К1, К2, К3, К4, К5, К6, К7, К7, К6, К5, К4, К3, К2, К1, К0,

К7, К6, К5, К4, К3, К2, К1, К0, К7, К6, К5, К4, К3, К2, К1, К0.

Уравнения расшифрования имеют вид:

при j=1…8;

при j=9…31;

при j=32.

Полученные после 32 циклов работы заполнения накопителей N1 и N2 образуют блок открытых данных Т0 = (a1(0), a2(0),..., a32(0), b1(0), b2(0),..., b32(0)),

соответствующий блоку зашифрованных данных Тш. При этом состояние накопителя N1

(a32(0), a31(0),..., a2(0), a1(0)),

32, 31,..., 2, 1 номер разряда N1

состояние накопителя N2

(b32(0), b31(0),..., b2(0), b1(0)).

32, 31,..., 2, 1 номер разряда N2

Аналогично расшифровываются остальные блоки зашифрованных данных.

Если алгоритм зашифрования в режиме простой замены 64‑битового блока Т0 обозначить через А, то

А(Т0) = А(a (0), b(0)) = (a (32), b(32))=Тш.

Следует иметь в виду, что режим простой замены допустимо использовать для шифрования данных только в ограниченных случаях – при выработке ключа и зашифровании его с обеспечением имитозащиты для передачи по каналам связи или для хранения в памяти ЭВМ.

Остальные режимы стандарта будут рассмотрены в последующих дисциплинах.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 |

Поиск по сайту:



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