Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Алгоритм шифрования DES – описание




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

На каждой итерации используется, строго говоря, не 56-битный ключ , а выбранные из него подключи по 48 битов каждый.

Рассмотрим алгоритм порождения подключей:

1. В цикле от 1 до 16 выполнить:

2. Ключ разделить на две части: и ; в первый поместить левые 28 битов, а во второй – правые 28 битов.

3. Прокрутить циклически влево каждый подключ на число битов, заданное в таблице и оставить из 28 битов первые 24, получив укороченные подключи и ;

4. Конкатенировать с и запомнить укороченный 48-битовый ключ ; конкатенировать и , чтобы получить полный 56-битный ключ для начала следующей итерации.

5. end

 

После начального перемешивания 64-битный блок делится на две половины. Правая часть без изменений переносится в левую часть следующей итерации, а левая часть предыдущей итерации подвергается четырем преобразованиям, прежде чем стать правой частью следующей итерации.

 

Преобразование Р2. 32 бита входного слова делятся на 8 четверок, а потом каждая четверка преобразуется в шестерку. Таким образом, входное 32-битное слово преобразуется в 48-битное.

 

 

Схема алгоритма:

 

где:

Text исходный текст (блок 64 бита)
Crypt зашифрованный блок
Key 64-х разрядный ключ
Числа разрядность на данной ветке алгоритма
P, Pk перестановки
S подстановка 6 бит 4 бита
L(i) сдвиг (i - номер итерации)
xor сложение по модулю 2 (поразрядное сложение двоичных чисел, без переноса лишней единицы в старший разряд)
конкатенация битовых строк, причем верхняя - спереди
разбиение строки на две, причем первая - наверху
ограниченный точками участок повторяется 16 раз

Перестановки выполняются по обычной формуле D[i]=S[P[i]], где

S исходная строка (массив символов, нумерация с единицы)
D результат перестановки (массив символов, нумерация с единицы)
P таблица перестановок (массив индексов в строке S)

 

S - подстановка 6 4. 48-битный результат предыдущей операции делится на 8 шестерок, и каждая шестерка преобразуется в четверку по своей таблице. Каждая из таблиц S1, S2, …, S8 состоит из 16-тиричных (то есть 4-битовых) чисел, содержит 4 строки с номерами 0, 1, 2, 3 и 16 столбцов с номерами 0, 1, 2, …, 15. Подстановка производится по следующему правилу: пусть исходная битовая строка - /abcdef/, тогда /af/ - номер строки, а /bcde/ - номер столбца. Строка и столбец определяют местонахождение результата в S-таблице. Например, при использовании таблицы S6, число 58 (111010) переводится в 13 (1101).

Помимо обычного его применения, этот алгоритм можно использовать для создания "односторонних" функций. Для этого ключ и исходный текст меняются местами: в формуле Crypt=DES(Text,Key) исходный текст может быть несекретным и фиксированным. А Crypt рассматривается как функция ключа - Key.

 





Поделиться с друзьями:


Дата добавления: 2015-11-23; Мы поможем в написании ваших работ!; просмотров: 745 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Велико ли, мало ли дело, его надо делать. © Неизвестно
==> читать все изречения...

4532 - | 4112 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.