Научная литература
booksshare.net -> Добавить материал -> Криптография -> Алферов А.П. -> "Основы криптографии Учебное пособие" -> 55

Основы криптографии Учебное пособие - Алферов А.П.

Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии Учебное пособие — М.: Гелиос АРВ, 2002. — 480 c.
ISBN 5-85438-025-0
Скачать (прямая ссылка): osnovikriptografii2005.djvu
Предыдущая << 1 .. 49 50 51 52 53 54 < 55 > 56 57 58 59 60 61 .. 126 >> Следующая


Рис. 25

Преобразование, реализуемое сетью Фейстеля в / -м цикле шифрования, имеет вид

208
Ьлочные системы шифрования

Yi=X2,

Y2 =Xt Qfl(X2Jl),

(1)

где X — входной блок, разделенный на две половины X1 и X2 ,a (Y19Y2) — результат зашифрования блока X на ключе к, с помощью функции ft.

Алгоритм шифрования реализуется несколькими итерациями преобразования сети Фейстеля с использованием ключа к . При этом очередная (і -я) итерация использует в качестве входного блока X результат предыдущей итерации и ключ к,, вычисляемый определенным образом по ключу к .

Функция ft может зависеть или не зависеть от номера итерации.

Ценность преобразований подобного вида заключается в том, что даже если ft не является обратимой функцией, преобразование сети Фейстеля обратимо. В самом деле, из (1) сразу следует, что

§ 8.2. Примеры блочных шифров

Американский стандарт шифрования данных DES

Стандарт шифрования данных DES (Data Encryption Standard) опубликован Национальным бюро стандартов США в 1977 г. В 1980 г. этот алгоритм был принят Национальным институтом стандартов и технологий США (НИСТ) в качестве стандарта шифрования данных для защиты от несанкционированного доступа к важной, но несекретной

209
І лава 8

информации в государственных и коммерческих организациях США.

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

Алгоритм DES, используя комбинацию ряда подстановок и перестановок, осуществляет шифрование 64-битовых блоков данных с помощью 56-битового ключа к. Схема алгоритма DES изображена на рис. 26, 27.

Рис. 26

Процесс шифрования состоит в начальной перестановке битов входного блока, шестнадцати циклах шифрования и, наконец, конечной перестановке битов.

Отметим, что все приводимые ниже таблицы являются стандартными и должны использоваться при реализации алгоритма DES в неизменном виде. Все перестановки и коды в аблицах подобраны разработчиками таким образом, чтобы максимально затруднить процесс вскрытия шифра путем подбора ключа.

210
Ьлочные системы шифрования

Рис. 27

211
/ лава 8

В приводимом ниже описании алгоритма DES использованы следующие обозначения:

L1 и R1 — левая и правая половины 64-битного блока

LA-,

® — операция побитового сложения векторов-блоков по модулю 2;

Icl — 48-битовые ключи; f — функция шифрования;

IP — начальная перестановка степени 64.

При зашифровании очередного блока T (см. рис. 27) его биты подвергаются начальной перестановке IP согласно табл. 9.

Таблица 9. Начальная перестановка IP

58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7

При этом бит 58 блока T становится битом 1, бит 50 — битом 2 и т. д. Полученный после перестановки блок IP(T)

разделяется на две половины: L0, состоящую из 32 старших

бит, и R0, состоящую из 32 младших бит.

Затем выполняется итеративный процесс шифрования, состоящий из 16 циклов преобразования Фейстеля. Пусть Tt_x = Lt_xRt_x —результат (/ — 1)-й итерации.

Тогда результат Z-й итерации T1=L1R1 определяется формулами

212
ьлочные системы шифрования

[ L -

1 --------------------------- (2)

I©/(*,_!,U Z = 1,16.

Функция f называется функцией шифрования. Ее аргументами являются 32-битовый вектор Rt_} и 48-битовый ключ kt, который является результатом преобразования 56-битового ключа шифра к. Результатом последней итерации является блок T16 = Rx6Lxe. По окончании шифрования осуществляется восстановление позиций битов применением к T1 * обратной перестановки IP 1.

При расшифровании данных все действия выполняются в обратном порядке, при этом вместо соотношений (2) следует использовать соотношения

|^(-i = А»

[L1^=R1Q/(L^kl), / = 16Д

пользуясь которыми можно “спуститься” от Z16 и i?16 к I0 и i?0 .

Схема вычисления значения функции шифрования /(i?i4,) изображенана рис 28.

Для вычисления значения функции / используются: функция расширения E; преобразование Sf, составленное из восьми преобразований S-блоков Sj,S2,...,Sg; перестановка P . Аргументами функции f являются вектор (32 бита) и вектор kt (48 бит). Функция E “расширяет” 32-битовый вектор Rt_j до 48-битового вектора EiRl^) путем дублирования некоторых битов вектора Rt_x, при этом порядок следования битов в E(R^1) указан в табл. 10.

213
/лава Ь

у

е

Si

Aj (4 8 бит)

Ss

N f
Перестановка битов P
\ /
Л^іЬ) (32 бита)

Рис. 28

Таблица 10

32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1

214
Ьлочные системы шифрования

Первые три бита в E(R^1) — это соответственно биты 32, 1 и 2 вектора , а последние три бита — это соответственно биты 31, 32, 1 вектора R{_}.

Полученный результат складывается побитно по модулю 2 с текущим значением ключа кг и затем представляется
Предыдущая << 1 .. 49 50 51 52 53 54 < 55 > 56 57 58 59 60 61 .. 126 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed