Основная функция шифрования (функция Фейстеля)

Исходная перестановка

Начальный текст T (блок 64 бит) преобразуется c помощью исходной перестановки IP которая определяется таблицей 1:

Таблица 1. Исходная перестановка IP

По таблице 1-ые 3 бита результирующего блока IP(T) после исходной перестановки IP являются битами 58, 50, 42 входного блока Т, а его 3 последние бита являются битами 23, 15, 7 входного блока.

Циклы шифрования

Приобретенный после исходной перестановки 64-битовый блок IP Основная функция шифрования (функция Фейстеля)(T) участвует в 16-циклах преобразования Фейстеля.

— 16 циклов преобразования Фейстеля:

Разбить IP(T) на две части , где — соответственно 32 старших битов и 32 младших битов блока IP(T)=

Пусть итог (i-1) итерации, тогда итог i-ой итерации определяется:


Левая половина равна правой половине предшествующего вектора . А правая половина — это битовое сложение и Основная функция шифрования (функция Фейстеля) по модулю 2.

В 16-циклах преобразования Фейстеля функция f играет роль шифрования. Разглядим тщательно функцию f.

Основная функция шифрования (функция Фейстеля)

Аргументами функции f являются 32-битовый вектор и 48-битовый ключ ki, который является результатом преобразования 56-битового начального ключа шифра k.

Для вычисления функции f употребляются функция расширения Е, преобразование S Основная функция шифрования (функция Фейстеля), состоящее из 8 преобразований S-блоков , и перестановка P.

Функция Е расширяет 32-битовый вектор до 48-битового вектора оковём дублирования неких битов из ; при всем этом порядок битов вектора указан в таблице 2.

Таблица 2. Функция расширения E

1-ые три бита вектора являются битами 32, 1, 2 вектора . По таблице 2 видно, что биты Основная функция шифрования (функция Фейстеля) 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29, 32 дублируются. Последние 3 бита вектора — это биты 31, 32, 1 вектора . Приобретенный после перестановки блок складывается по модулю 2 с ключами и потом представляется в виде восьми поочередных блоков .

Каждый является 6-битовым блоком. Дальше любой из блоков трансформируется в 4-битовый блок при помощи преобразований . Преобразования определяются таблицей 3.

Рис.5 Схема работы функции f

Таблица 3. Преобразования , i Основная функция шифрования (функция Фейстеля)=1…8

Представим, что , и мы желаем отыскать . 1-ый и последний разряды являются двоичной записью числа а, 0<=a<=3, средние 4 разряда представляют число b, 0<=b<=15. Строчки таблицы S3 нумеруются от 0 до 3, столбцы таблицы S3 нумеруются от 0 до 15. Пара чисел (а, b) определяет число, находящееся в скрещении строчки а и столбца b. Двоичное представление этого Основная функция шифрования (функция Фейстеля) числа дает . В нашем случае , , а число, определяемое парой (3,7), равно 7. Его двоичное представление =0111.

Значение функции (32 бит) выходит перестановкой Р, используемой к 32-битовому блоку . Перестановка Р задана таблицей 4.

Таблица 4. Перестановка P


Согласно таблице 4, 1-ые четыре бита результирующего вектора после деяния функции f — это биты 16, 7, 20, 21 вектора

Генерирование ключей

Ключи получаются из исходного Основная функция шифрования (функция Фейстеля) ключа k (64 бит = 8 байтов либо 8 знаков в ASCII) таким макаром. Восемь битов, находящихся в позициях 8, 16, 24, 32, 40, 48, 56, 64 добавляются в ключ k таким макаром чтоб каждый б содержал нечетное число единиц. Это употребляется для обнаружения ошибок при обмене и хранении ключей. Потом делают перестановку для расширенного ключа (не считая добавляемых битов Основная функция шифрования (функция Фейстеля) 8, 16, 24, 32, 40, 48, 56, 64). Такая перестановка определена в таблице 5.

Рис.6 Схема расшифрования метода DES

Таблица 5.

Эта перестановка определяется 2-мя блоками и по 28 бит каждый. 1-ые 3 бита есть биты 57, 49, 41 расширенного ключа. А 1-ые три бита есть биты 63, 55, 47 расширенного ключа. i=1,2,3…получаются из одним либо 2-мя левыми повторяющимися сдвигами согласно таблице 6.

Таблица 6.
i
Число сдвига

Ключ Основная функция шифрования (функция Фейстеля) , i=1,…16 состоит из 48 бит, избранных из битов вектора (56 бит) согласно таблице 7. 1-ый и 2-ой биты есть биты 14, 17 вектора

Таблица 7.

Конечная перестановка

Конечная перестановка действует на и употребляется для восстановления позиции. Она является оборотной к перестановке IP. Конечная перестановка определяется таблицей 8.

Таблица 8. Оборотная перестановка

Схема расшифрования

При расшифровании данных все деяния производятся в оборотном Основная функция шифрования (функция Фейстеля) порядке. В 16 циклах расшифрования, в отличие от шифрования c помощью прямого преобразования сетью Фейстеля, тут употребляется оборотное преобразование сетью Фейстеля.


Схема расшифрования указана на Рис.6.
Ключ , i=1,…,16, функция f, перестановка IP и такие же как и в процессе шифрования.

Режимы использования DES

Основная статья: Режим шифрования

DES может употребляться Основная функция шифрования (функция Фейстеля) в четырёх режимах.

1. Режим электрической кодовой книжки (ECB — Electronic Code Book): обыденное внедрение DES как блочного шифра. Шифруемый текст разбивается на блоки, при всем этом, каждый блок шифруется раздельно, не взаимодействуя с другими блоками (см. Рис.7).

Рис.7 Режим электрической кодовой книжки — ECB

2. Режим сцепления блоков (СВС — Cipher Block Chaining) (см Основная функция шифрования (функция Фейстеля). Рис.8). Каждый очередной блок i>=1, перед зашифровыванием складывается по модулю 2 со последующим блоком открытого текста . Вектор — исходный вектор, он изменяется раз в день и хранится в секрете.

Рис.8 Режим сцепления блоков — СВС

3. Режим оборотной связи по шифротексту (англ. Cipher Feed Back) (см. Рис.9). В режиме CFB вырабатывается блочная «гамма» . Исходный вектор является синхропосылкой Основная функция шифрования (функция Фейстеля) и предназначен для того, чтоб различные наборы данных шифровались по-разному с внедрением 1-го и такого же секретного ключа. Синхропосылка посылается получателю в открытом виде вкупе с зашифрованным файлом.

Рис.9 Режим оборотной связи по шифротексту — CFB

4. Режим оборотной связи по выходу (OFB — Output Feed Back) (см. Рис.10). В режиме Основная функция шифрования (функция Фейстеля) OFB вырабатывается блочная «гамма» , i>=1

Рис.10 Режим оборотной связи по выходу — OFB

Плюсы и недочеты режимов:

Криптостойкость метода DES

Нелинейность преобразований в DES средствами только S-блоков, и внедрение слабеньких S-блоков позволяет производить контроль за шифрованной перепиской. Выбор S-блоков просит соблюдения нескольких критерий:

Из-за маленького числа вероятных ключей (всего ), возникает возможность их полного перебора Основная функция шифрования (функция Фейстеля) на быстродействующей вычислительной технике за реальное время. В 1998 году Electronic Frontier Foundation используя особый компьютер DES-Cracker, удалось взломать DES за 3 денька.

Слабенькие ключи

Слабенькими ключами именуется ключи k такие, что , где x — 64-битный блок.

Известны 4 слабеньких ключа, они приведены в таблице 9. Для каждого слабенького ключа существует недвижные точки, другими Основная функция шифрования (функция Фейстеля) словами, таких 64-битных блоков х, для которых .

Таблица 9. DES-Слабые ключи
Слабенькие ключи(hexadecimal)
0101-0101-0101-0101
FEFE-FEFE-FEFE-FEFE
1F1F-1F1F-0E0E-0E0E
E0E0-E0E0-F1F1-F1F1

обозначает вектор, состоящий из 28 нулевых битов.

Отчасти слабенькие ключи

В методе DES есть слабенькие и отчасти Основная функция шифрования (функция Фейстеля) слабенькие ключи. Частично-слабые ключи — это такие пары ключей , что

Есть 6 частично-слабых пар ключей, они приведены в таблице 10. Для каждого из 12 частично-слабых ключей есть «анти-неподвижные точки», другими словами такие блоки х, что

Таблица 10. Частично-слабые ключи
Пары частично-слабых ключей
01FE-01FE-01FE-01FE,----FE01-FE Основная функция шифрования (функция Фейстеля)01-FE01-FE01
1FE0-1FE0-1FE0-1FE0,----E0F1-E0F1-E0F1-E0F1
01E0-01E0-01F1-01F1,----E001-E001-F101-F101
1FFE-1FFE-0EFE-0EFE,----FE1F-FE1F-FE0E-FE0E
O11F-011F-010E-010E,----1F01-1F01-0E01-0E01
E0FE-E0FE Основная функция шифрования (функция Фейстеля)-F1FE-F1FE,----FEE0-FEE0-FEF1-FEF1

Известные атаки на DES

Таблица 11. Известные атаки на DES.
Способы атаки Известные откр. тексты Избранные отк. тексты Объём памяти Количество операций
Полный поиск - Малозначительный
Линейный Криптоанализ - Для текста
Линейный Криптоанализ - Для текста
Диффер. Криптоанализ - Для текста
Диффер. Криптоанализ - Для текста

Для линейного и дифференциального криптоанализа требуется довольно большой объём памяти для сохранения избранных (узнаваемых) открытых текстов до начала атаки.

Повышение криптостойкости DES

Чтоб Основная функция шифрования (функция Фейстеля) наращивать криптостойкость DES возникают несколько вариантов: double DES (2DES), triple DES (3DES), DESX, G-DES.

Самый пользующийся Основная функция шифрования (функция Фейстеля) популярностью тип при использовании 3DES — это DES-EDE3, для него метод смотрится так:

Зашифрование: .

Расшифрование:

При выполнении метода 3DES ключи могут избрать так:

Применение

DES был государственным эталоном США в 1977—1980 гг., но в текущее время DES употребляется (с ключом длины 56 бит) только для устаревших систем, в большинстве случаев употребляют его более криптоустойчивый вид (3DES, 2DES). 3DES является обычный Основная функция шифрования (функция Фейстеля) действенной подменой DES, и на данный момент он рассмотрен как эталон. В последнее время DES и Triple DES будут изменены методом AES (Advanced Encryption Standard — Расширенный Эталон Шифрования). Метод DES обширно применяется для защиты денежной инфы: так, модуль THALES (Racal) HSM RG7000 вполне поддерживает операции TripleDES для эмиссии и Основная функция шифрования (функция Фейстеля) обработки кредитных карт VISA, EuroPay и проч. Канальные шифраторы THALES (Racal) DataDryptor 2000 употребляют TripleDES для прозрачного шифрования потоков инфы. Также алгогритм DES употребляется в почти всех других устройствах и решениях THALES-eSECURITY.

Triple DES

Triple DES (3DES) — симметричный блочный шифр, сделанный Уитфилдом Диффи, Мартином Хеллманом и Уолтом Тачманном в 1978 году Основная функция шифрования (функция Фейстеля) на базе метода DES, с целью устранения головного недочета последнего — малой длины ключа (56 бит), который может быть взломан способом полного перебора ключа. Скорость работы 3DES в 3 раза ниже, чем у DES, но криптостойкость намного выше — время, требуемое для криптоанализа 3DES, может быть в млрд раз больше, чем время, необходимое для вскрытия Основная функция шифрования (функция Фейстеля) DES. 3DES употребляется почаще, чем DES, который просто ломается с помощью нынешних технологий (в 1998 году организация Electronic Frontier Foundation, используя особый компьютер DES Cracker, вскрыла DES за 3 денька). 3DES является обычным методом устранения недочетов DES. Метод 3DES построен на базе DES, потому для его реализации может быть использовать программки Основная функция шифрования (функция Фейстеля), предназначенные для DES.

Метод

Схема метода 3DES имеет таковой вид, как на рисунке. Обычной вариант 3DES можно представить так:


osnovnaya-obrazovatelnaya-programma-nachalnogo-obshego-obrazovaniya-na-period-2011-2015-g-2011-god-stranica-24.html
osnovnaya-obrazovatelnaya-programma-nachalnogo-obshego-obrazovaniya-na-period-2011-2015-gg-stranica-5.html
osnovnaya-obrazovatelnaya-programma-nachalnogo-obshego-obrazovaniya-na-period-2011-2015-godi-stranica-15.html