28552

Симметричные методы шифрования DES

Доклад

Информатика, кибернетика и программирование

Функция перестановки одна и та же для каждого раунда но подключи Ki для каждого раунда получаются разные вследствие повторяющегося сдвига битов ключа. Последовательность преобразований отдельного раунда Теперь рассмотрим последовательность преобразований используемую на каждом раунде. Создание подключей Ключ для отдельного раунда Ki состоит из 48 битов. На каждом раунде Ci и Di независимо циклически сдвигаются влево на 1 или 2 бита в зависимости от номера раунда.

Русский

2013-08-20

63.46 KB

7 чел.

20 Симметричные методы шифрования DES

Принципы разработки

Самым распространенным и наиболее известным алгоритмом симметричного шифрования является DES (Data Encryption Standard). Алгоритм был разработан в 1977 году, в 1980 году был принят NIST (National Institute of Standards and Technolody США) в качестве стандарта (FIPS PUB 46).

DES является классической сетью Фейштеля с двумя ветвями. Данные шифруются 64-битными блоками, используя 56-битный ключ. Алгоритм преобразует за несколько раундов 64-битный вход в 64-битный выход. Длина ключа равна 56 битам. Процесс шифрования состоит из четырех этапов. На первом из них выполняется начальная перестановка (IP) 64-битного исходного текста (забеливание), во время которой биты переупорядочиваются в соответствии со стандартной таблицей. Следующий этап состоит из 16 раундов одной и той же функции, которая использует операции сдвига и подстановки. На третьем этапе левая и правая половины выхода последней (16-й) итерации меняются местами. Наконец, на четвертом этапе выполняется перестановка IP-1 результата, полученного на третьем этапе. Перестановка IP-1 инверсна начальной перестановке.


Рис. 4. Общая схема DES

Справа на рисунке показан способ, которым используется 56-битный ключ. Первоначально ключ подается на вход функции перестановки. Затем для каждого из 16 раундов подключ Ki является комбинацией левого циклического сдвига и перестановки. Функция перестановки одна и та же для каждого раунда, но подключи Ki для каждого раунда получаются разные вследствие повторяющегося сдвига битов ключа.

Шифрование

Начальная перестановка

Начальная перестановка и ее инверсия определяются стандартной таблицей. Если М - это произвольные 64 бита, то X = IP (M) - переставленные 64 бита. Если применить обратную функцию перестановки Y = IP-1 (X) = IP-1 (IP(M)), то получится первоначальная последовательность битов.

Последовательность преобразований отдельного раунда

Теперь рассмотрим последовательность преобразований, используемую на каждом раунде.


Рис. 5. I-ый раунд DES

64-битный входной блок проходит через 16 раундов, при этом на каждой итерации получается промежуточное 64-битное значение. Левая и правая части каждого промежуточного значения трактуются как отдельные 32-битные значения, обозначенные L и R. Каждую итерацию можно описать следующим образом:

Li = Ri-1
R
i =Li-1 F (Ri-1, Ki)

Где обозначает операцию XOR.

Таким образом, выход левой половины Li равен входу правой половины Ri-1. Выход правой половины Ri является результатом применения операции XOR к Li-1 и функции F, зависящей от Ri-1 и Ki.

Рассмотрим функцию F более подробно.

Ri, которое подается на вход функции F, имеет длину 32 бита. Вначале Ri расширяется до 48 битов, используя таблицу, которая определяет перестановку плюс расширение на 16 битов. Расширение происходит следующим образом. 32 бита разбиваются на группы по 4 бита и затем расширяются до 6 битов, присоединяя крайние биты из двух соседних групп. Например, если часть входного сообщения

. . . efgh ijkl mnop . . .

то в результате расширения получается сообщение

. . . defghi hijklm lmnopq . . .

После этого для полученного 48-битного значения выполняется операция XOR с 48-битным подключом Ki. Затем полученное 48-битное значение подается на вход функции подстановки, результатом которой является 32-битное значение.

Подстановка состоит из восьми S-boxes, каждый из которых на входе получает 6 бит, а на выходе создает 4 бита. Эти преобразования определяются специальными таблицами. Первый и последний биты входного значения S-box определяют номер строки в таблице, средние 4 бита определяют номер столбца. Пересечение строки и столбца определяет 4-битный выход. Например, если входом является 011011, то номер строки равен 01 (строка 1) и номер столбца равен 1101 (столбец 13). Значение в строке 1 и столбце 13 равно 5, т.е. выходом является 0101.

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

Создание подключей

Ключ для отдельного раунда Ki состоит из 48 битов. Ключи Ki получаются по следующему алгоритму. Для 56-битного ключа, используемого на входе алгоритма, вначале выполняется перестановка в соответствии с таблицей Permuted Choice 1 (РС-1). Полученный 56-битный ключ разделяется на две 28-битные части, обозначаемые как C0 и D0 соответственно. На каждом раунде Ci и Di независимо циклически сдвигаются влево на 1 или 2 бита, в зависимости от номера раунда. Полученные значения являются входом следующего раунда. Они также представляют собой вход в Permuted Choice 2 (РС-2), который создает 48-битное выходное значение, являющееся входом функции F (Ri-1, Ki).

Дешифрование

Процесс дешифрования аналогичен процессу шифрования. На входе алгоритма используется зашифрованный текст, но ключи Ki используются в обратной последовательности. K16 используется на первом раунде, K1 используется на последнем раунде. Пусть выходом i-ого раунда шифрования будет Li||Ri. Тогда соответствующий вход (16-i)-ого раунда дешифрования будет Ri||Li.

После последнего раунда процесса расшифрования две половины выхода меняются местами так, чтобы вход заключительной перестановки IP-1 был R16||L16. Выходом этой стадии является незашифрованный текст.

Проверим корректность процесса дешифрования. Возьмем зашифрованный текст и ключ и используем их в качестве входа в алгоритм. На первом шаге выполним начальную перестановку IP и получим 64-битное значение Ld0||Rd0. Известно, что IP и IP-1 взаимнообратны. Следовательно

Ld0||Rd0 = IP (зашифрованный текст)
Зашифрованный текст = IP
-1 (R16||L16)
L
d0||Rd0 = IP (IP-1(R16||L16)) = R16||L16 

Таким образом, вход первого раунда процесса дешифрования эквивалентен 32-битному выходу 16-ого раунда процесса шифрования, у которого левая и правая части записаны в обратном порядке.

Теперь мы должны показать, что выход первого раунда процесса дешифрования эквивалентен 32-битному входу 16-ого раунда процесса шифрования. Во-первых, рассмотрим процесс шифрования. Мы видим,что

L16 = R15
R
16 = L15 F (R15, K16)

При дешифровании:

Ld1 = Rd0 = L16 = R15
R
d1 = Ld0 F (Rd0, K16)
= R
16 F (Rd0, K16)
= (L
15 F (R15, K16)) F (R15, K16)

XOR имеет следующие свойства:

(A B) C = A (B C)
D
D =0
E
0 = E

Таким образом, мы имеем Ld1 = R15 и Rd1 = L15. Следовательно, выход первого раунда процесса дешифрования есть L15||R15, который является перестановкой входа 16-го раунда шифрования. Легко показать, что данное соответствие выполняется все 16 раундов. Мы можем описать этот процесс в общих терминах. Для i-ого раунда шифрующего алгоритма:

Li = Ri-1
R
i = Li-1 F (Ri-1, Ki)

Эти равенства можно записать по-другому:

Ri-1 = Li
L
i-1 = Ri F (Ri-1, Ki) = Ri F (Li, Ki)

Таким образом, мы описали входы i-ого раунда как функцию выходов.

Выход последней стадии процесса дешифрования есть R0||L0. Чтобы входом IP-1 стадии было L0||R0, необходимо поменять местами левую и правую части. Но

IP-1(L0||R0) = IP-1 (IP (незашифрованный текст)) = незашифрованный текст

Т.е. получаем незашифрованный текст, что и демонстрирует возможность дешифрования DES.


 

А также другие работы, которые могут Вас заинтересовать

19259. Модификация модели сечения выведения для различных спектров быстрых нейтронов и неводородосодержащих сред 37.5 KB
  Лекция 7. Модификация модели сечения выведения для различных спектров быстрых нейтронов и неводородосодержащих сред. 7.1. Модификация модели сечения выведения для различных спектров. При получении значений сечений выведения для задач реакторной защиты обычно пр...
19260. Основные процессы взаимодействия гамма-квантов с веществом. Газокинетическое уравнение переноса гамма-квантов в задачах с внешним источником 124 KB
  Лекция 8. Основные процессы взаимодействия гаммаквантов с веществом. Газокинетическое уравнение переноса гаммаквантов в задачах с внешним источником. 8.1. Понятие гаммаизлучения. Электромагнитное излучение высокой энергии высокой частоты испускаемое возбуж
19261. Модель факторов накопления гамма-квантов. Аналитические аппроксимации факторов накопления гамма-квантов. Фактор накопления для многослойных систем 54.5 KB
  Лекция 9. Модель факторов накопления гаммаквантов. Аналитические аппроксимации факторов накопления гаммаквантов. Фактор накопления для многослойных систем. 9.1. Расчет защиты от фотонного излучения. Для расчета мощности дозы гаммаквантов за защитой модель сеч
19262. Многогрупповое приближение. Технология получения групповых констант. Понятие спектра свертки. Стандартные спектры. Библиотеки групповых констант нейтронов. Комбинированные библиотеки констант 139.5 KB
  Лекция 10. Многогрупповое приближение. Технология получения групповых констант. Понятие спектра свертки. Стандартные спектры. Библиотеки групповых констант нейтронов. Комбинированные библиотеки констант. 10.1. Многогрупповое приближение. Аналитическое решени...
19263. Методы моментов, сферических гармоник. Уравнение переноса в Р1-приближении. Границы применимости диффузионного приближения в задачах расчета защит 82.5 KB
  Лекция 11. Методы моментов сферических гармоник. Уравнение переноса в Р1приближении. Границы применимости диффузионного приближения в задачах расчета защит. 11.1. Методы моментов. Методы моментов или полиномиальные методы основаны на представлении угловой завис
19264. Метод дискретных ординат, SN-метод. Понятие квадратуры. Квадратуры Гаусса 48.5 KB
  Лекция 12. Метод дискретных ординат SNметод. Понятие квадратуры. Квадратуры Гаусса. 12.1. Особенности методов дискретных ординат. Методы дискретных ординат и связанные с ними методы получения численных решений уравнения переноса широко используются в реакторных р...
19265. Аппроксимации пространственной зависимости потока в уравнении переноса. Операторный вид уравнения переноса 97 KB
  Лекция 13. Аппроксимации пространственной зависимости потока в уравнении переноса. Операторный вид уравнения переноса. 13.1. Уравнение переноса в одномерной плоской геометрии. Одномерная плоская геометрия система бесконечных параллельных пластин частный случ...
19266. Организация итерационного процесса. Проблемы сходимости численных схем. Улучшенные итерационные методы. Внутренние и внешние итерации 89.5 KB
  Лекция 14. Организация итерационного процесса. Проблемы сходимости численных схем. Улучшенные итерационные методы. Внутренние и внешние итерации. 14.1. Прямой метод решения уравнений в матричной форме. Систему конечноразностных уравнений записанную в матричной
19267. Физическая постановка задачи, алгоритм метода Монте-Карло в задачах переноса излучений. Генератор случайных чисел. Получение локальных и интегральных характеристик поля нейтронов и гамма-квантов 38.5 KB
  Лекция 15. Физическая постановка задачи алгоритм метода МонтеКарло в задачах переноса излучений. Генератор случайных чисел. Получение локальных и интегральных характеристик поля нейтронов и гаммаквантов. 15.1. Особенности метода МонтеКарло. Метод МонтеКарло п