Опубликован: 19.01.2010 | Доступ: платный | Студентов: 38 / 8 | Оценка: 4.33 / 4.00 | Длительность: 18:53:00
Дополнительный материал 15:

О. Упрощенный DES (S-DES)

Упрощенный DES (S-DES) разработан профессором Эдуардом Шаефером (Edward Schaefer) Университета Санта-Клары и является образовательным инструментом для помощи студентам при изучении структуры DES - для шифрования и дешифрования с использованием блочных шифров и ключей с небольшим количеством битов.

O.1. Структура S-DES

S-DES - блочный шифр, как это показано на рис. О.1.

Шифрование и дешифрование в S - DES

Рис. О.1. Шифрование и дешифрование в S - DES

На стороне шифрования S-DES принимает исходный текст по 8 битов и создает зашифрованный текст по 8 битов; на стороне дешифрования S- DES принимает зашифрованный текст на 8 битов и создает 8-битовый открытый текст. Один и тот же ключ шифра на 10 битов используется и для шифрования, и для дешифрования.

Остановимся на шифровании, а потом обсудим дешифрование. Процесс шифрования состоит из двух перестановок (P-блоки), которые мы называем начальными и конечными перестановками (их также называют IP и IP-1), и двух раундов Файстеля. Каждый раунд использует различные ключи раунда по 8 битов, сгенерированные от ключа шифра согласно заранее заданному алгоритму, описанному позже в этом приложении. Рисунок O.2 показывает элементы шифра S-DES на стороне шифрования.

Общая структура S-DES устройства шифрования

Рис. O.2. Общая структура S-DES устройства шифрования

Рисунок O.3 показывает начальные и конечные перестановки (P-блоки). Каждая из этих перестановок получает входную информацию на 8 битов и переставляет их согласно заранее заданному правилу. Эти перестановки - прямые перестановки, которые инверсны друг другу, как это было сказано в лекции 5 курса "Математика криптографии и теория шифрования". Эти две перестановки не имеют никакого криптографического значения в S-DES. Они включены в S-DES, чтобы совместить их с полным DES.

Начальная и конечная перестановки (IP и IP-1)

Рис. O.3. Начальная и конечная перестановки (IP и IP-1)

Раунды

S-DES использует два раунда. Каждый раунд S-DES - это шифр Файстеля, как это показано на рис. О.4

Раунд S-DES (сторона шифрования)

увеличить изображение
Рис. O.4. Раунд S-DES (сторона шифрования)

Раунд получает LI -1 и RI -1 от предыдущего раунда (или начального блока перестановки) и создает LI и RI, которые поступают в следующий раунд (или конечный блок перестановки). Как мы говорили в лекции 5 курса "Математика криптографии и теория шифрования", мы можем принять, что каждый раунд имеет два элемента шифра: смеситель и устройство замены. Каждый из этих элементов является обратимым. Устройство замены, очевидно, является обратимым. Оно меняет левую половину текста с правой половиной. Смеситель является обратимым из-за операции ИСКЛЮЧАЮЩЕЕ ИЛИ. Все необратимые элементы собраны в функции f (RI -1, KI).

Функция S-DES

Основа S-DES - функция S-DES. Функция S-DES применяет ключ на 8 битов к самым правым 4 битам ( RI -1 ), чтобы формирует выход на 4 бита. Эта функция составлена из четырех секций: P-блока расширения, отбеливателя, группы S-блоков и прямого P-блока, как показано на рис. О.4.

P-блок расширения - RI-1 вход на 4 бита, и KI - ключ на 8 битов, так что мы сначала должны расширить RI-1 до 8 битов.

Хотя отношения между входом и выходом могут быть определены математически, S-DES использует таблицу, чтобы определить P-блок, как это показано на рис. О.5. Обратите внимание, что число портов выхода - 8, но диапазон значения - только 1-4. Некоторые из входов идут больше чем в один выход.

Отбеливатель (ИСКЛЮЧАЮЩЕЕ ИЛИ). После перестановки расширения S-DES используют операцию ИСКЛЮЧАЮЩЕЕ ИЛИ для сложения расширенной правой секции и ключа раунда. Обратите внимание, что ключи раунда используются только в этой операции.

S-блоки. S-блоки делают реальное смешивание (перемешивание). S-DES используют два S-блока, каждый с входом на 4 бита и выводом на 2 бита (см. рис. О.6).

P -блок расширения

увеличить изображение
Рис. О.5. P -блок расширения

Данные по 8 битов от второй операции разделены на две части по 4 бита, и каждый кусок подается в свой блок. Результат каждого блока - отрезок на 2 бита; когда они объединяются, в результате получается текст на 4 бита. Подстановка в каждом блоке соответствует заранее определенным правилам, основанным на записях в таблицах 4 x 4. Комбинация входных битов 1 и 4 определяет одну из четырех строк; комбинация битов 2 и 3 определяет один из четырех столбцов, как показано на рис. O.6.

Поскольку каждый S-блок имеет свою собственную таблицу, необходимы две таблицы, как это видно на рис. О.6, чтобы определить выход этих блоков. Значения входов (номер строки и номер столбца) и значения выходов на рисунке даются в виде десятичных чисел, чтобы сохранить пространство. Они должны быть изменены на двоичные значения.

Пример 0.1

На вход S-блока 1 подается число 10102. Каким будет выход?

Решение

Если мы запишем вместе первый и четвертый биты, мы получим 10 в двоичном виде или 2 в десятичном числе. Остающиеся биты - 01 в двоичном виде, - это 1 в десятичном числе. Мы ищем последовательно значение 2, столбец 1, на рис. 0.6 (S-блок 1). Результат в десятичном виде - 2, а в двоичном - это 10. Таким образом, вход 10102 дает выход 102.

Прямая перестановка. Последняя операция в функции S-DES - прямая перестановка с входом на 4 бита и выходом на 4 бита. Отношения входа-выхода для этой операции показаны на рисунке О.7 и следуют тем же общим правилам, что и предыдущие таблицы перестановки.

P-блок прямой перестановки

Рис. О.7. P-блок прямой перестановки

Генерация ключей

Генератор ключей раунда создает два ключа на 8 битов из ключа шифра на 10 битов.

Прямая перестановка

Первый процесс - прямая перестановка. Этот процесс переставляет 10 битов в ключе согласно заранее заданной таблице, как это показано на рис. О.8.

Сдвиг влево

После прямой перестановки ключ разделяется на две части по 5 битов. Каждая часть сдвигается влево (циклический сдвиг) на r бит, где r - номер раунда (1 или 2). Эти две части затем объединяются, чтобы сформировать модуль на 10 битов.

Перестановка сжатия

Перестановка сжатия (P-блок) изменяет 10 битов на 8 битов, которые используются как ключ для раунда. Таблица перестановки сжатия показана на рис. О.8.

Генератор ключей

увеличить изображение
Рис. O.8. Генератор ключей

Пример O.2

Табл. О.1 показывает три случая генерации ключей.

Таблица O.1.
Шаги Случай 1 Случай 2 Случай 3
Ключ шифра 1011100110 0000000000 1111111111
после перестановки 1100101110 0000000000 1111111111
После разделения L: 11001 R:01110 L: 00000 R:00000 L: 11111 R: 11111
Раунд 1: Сдвинутые ключи: L: 10011 R: 11100 L: 00000 R: 00000 L: 11111 R: 11111
Комбинация ключей: 1001111100 0000000000 1111111111
Ключ раунда 1: 10111100 00000000 11111111
Раунд 2: Сдвинутые ключи: L: 01110 R: 10011 L: 00000 R: 00000 L: 1111 R: 11111
Ключ раунда 2: 0111010011 0000000000 1111111111
Комбинация ключей: 11010011 00000000 11111111

Случаи 2 и 3 показывают, что ни одна из операций, используемых в процессе генерации ключей, не эффективна, если ключ шифра состоит из всех нулей или всех единиц. Нужно избегать такого типа ключей шифра.

S-DES очень уязвим к атаке грубой силы из-за размера ключа (10 битов)
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????