08 48 16 56 24 64 32
07 47 15 55 23 63 31
06 46 14 54 22 62 30
05 45 13 53 21 61 29
04 44 12 52 20 60 28
03 43 11 51 19 59 27
02 42 10 50 18 58 26
01 41 09 49 17 57 25
Матрицы IP-1 и IP соотносятся следующим образом: значение 1-го элемента матрицы IP-1 равно 40, а значение 40-го элемента матрицы IP равно 1,
значение 2-го элемента матрицы IP-1 равно 8, а значение 8-го элемента матрицы IP равно 2 и т.д. Процесс расшифрования данных является инверсным по отношению к процессу шифрования. Все действия должны быть выполнены в обратном порядке. Это означает, что расшифровываемые данные сначала переставляются в соответствии с матрицей IP-1, а затем над последовательностью бит R(16) L(16) выполняются те же действия, что и в процессе шифрования, но в обратном порядке. Итеративный процесс расшифрования может быть описан следующими формулами:
R (i-1) = L(i), i = 1, 2,…, 16;
L (i-1) = R(i) xor f (L(i), K(i)), i = 1, 2,…, 16.
На 16-й итерации получают последовательности L(0) и R(0), которые конкатенируют в 64-битовую последовательность L(0) R(0). Затем позиции битов этой последовательности переставляют в соответствии с матрицей IP. Результат такой перестановки - исходная 64-битовая последовательность. Теперь рассмотрим функцию шифрования f (R(i-1), K(i)). Схематически она показана на рисунке 6.
Рисунок 6 - Вычисление функции f (R(i-1), K(i))
Для вычисления значения функции f используются следующие функции-матрицы:
· Е - расширение 32-битовой последовательности до 48-битовой,
· S1, S2,…, S8 - преобразование 6-битового блока в 4-битовый,
· Р - перестановка бит в 32-битовой последовательности.
Функция расширения Е определяется таблицей 1.3. В соответствии с этой таблицей первые 3 бита Е (R(i-1)) - это биты 32, 1 и 2, а последние - 31, 32 и 1.
Таблица 1.3 - Функция расширения E
01 02 03 04 05
05 06 07 08 09
09 10 11 12 13
13 14 15 16 17
17 18 19 20 21
21 22 23 24 25
25 26 27 28 29
29 30 31 32 01
Результат функции Е (R(i-1)) есть 48-битовая последовательность, которая складывается по модулю 2 (операция xor) с 48-битовым ключом К(i). Получается 48-битовая последовательность, которая разбивается на восемь 6-битовых блоков B(1) B(2) B(3) B(4) B(5) B(6) B(7) B(8). То есть: E (R(i-1)) xor K(i) = B(1) B(2)… B(8).
Функции S1, S2,…, S8 определяются таблице 1.4.
Таблица 1.4 - Функции преобразования S1, S2,…, S8
К таблице 1.4. требуются дополнительные пояснения. Пусть на вход функции-матрицы Sj поступает 6-битовый блок B(j) = b1b2b3b4b5b6, тогда двухбитовое число b1b6 указывает номер строки матрицы, а b2b3b4b5 - номер столбца. Результатом Sj (B(j)) будет 4-битовый элемент, расположенный на пересечении указанных строки и столбца. Например, В(1)=011011. Тогда S1 (В(1)) расположен на пересечении строки 1 и столбца 13. В столбце 13 строки 1 задано значение 5. Значит, S1 (011011)=0101. Применив операцию выбора к каждому из 6-битовых блоков B(1), B(2),…, B(8), получаем 32-битовую последовательность S1 (B(1)) S2 (B(2)) S3 (B(3))… S8 (B(8)). Наконец, для получения результата функции шифрования надо переставить биты этой последовательности. Для этого применяется функция перестановки P (таблица 1.5). Во входной последовательности биты перестанавливаются так, чтобы бит 16 стал битом 1, а бит 7 - битом 2 и т.д. Перейти на страницу: 1 2 3
Другие статьи по теме
Усилитель звуковой частоты с однотактным трансформаторным выходным каскадом Для увеличения напряжения или силы тока, а так же мощности электромагнитных колебаний используются специальные устройства, называемые усилителями. В соответствии с выполняемыми фун ...
Исследование методов помехозащищенности радиотехнических систем Проблема повышения помехозащищенности систем управления и связи является весьма острой и до сих пор не нашла своего решения в большинстве прикладных задач. Решению этой проблемы способс ...
Микропроцессорная система управления объектом Микропроцессорные и информационно-управляющие системы, в настоящее время, стали одним из наиболее дешевых и быстрых способов обработки информации. Практически ни одна область современно ...