Стандарт шифрования DES. Алгоритм и основные свойства

141475
знаков
17
таблиц
0
изображений

2. Стандарт шифрования DES. Алгоритм и основные свойства.

Стандарты по защите данных от несанкционированного доступа требовались в таких областях, как шифрование, установление подлинности личности и данных (аутентификация), контроль доступа, надежное хранение и передача данных. В результате сотрудничества трех организаций США- Национального бюро стандартов (NBC), Управления национальной безопасности (NSA) и фирмы IBM подобный стандарт, получивший название DES (Data Encryption Standard) был разработан и опубликован в 1975 г. в специальном издании Federal Register. Его публикация вызвала полемику среди специалистов в области защиты информации. После двухлетних испытаний с целью поиска в алгоритме DES ''тайной лазейки'', а также по экономическим вопросам (в частности, по установлению длины ключа) было принято решение оставить стандарт без изменений. В алгоритме не было обнаружено ни каких ''лазеек''. Эффективная длина ключа в 56 бит вполне удовлетворяла потенциальных пользователей на ближайшие 15… 20 лет, так как общее количество ключей в этом случае оценивалось цифрой 7,6*10^16. DES стал одним из первых ''открытых'' шифроалгоритмов. Все схемы, используемые для его реализации, были опубликованы и тщательно проверены. Секретным был только ключ, с помощью которого осуществляется кодирование и декодирование информации.

Алгоритм DES базируется на научной работе Шеннона 1949 г., связавшей криптографию с теорией информации. Шеннон выделил два общих принципа, используемых в практических шифрах: рассеивание и перемешивание. Рассеиванием он назвал распространение влияния одного знака открытого текста на множество знаков шифртекста, что позволяет скрыть статистические свойства открытого текста. Под перемешиванием Шеннон понимал использование взаимосвязи статистических свойств открытого и шифрованного текста. Однако шифр должен не только затруднять раскрытие, но и обеспечивать легкость шифрования и дешифрования при известном секретном ключе. Поэтому была принята идея использовать произведение простых шифров, каждый из которых вносит небольшой вклад в значительное суммарное рассеивание и перемешивание.

Согласно принятым в США стандартам каждый производитель, желающий продавать криптографическое оборудование для несекретного использования федеральными и правительственными субподрядчиками, должен обеспечить соответствие своей продукции всем федеральным стандартам и требованиям АНБ (Агентство Национальной Безопасности) в плане алгоритма засекречивания.

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

В задачи документа входит:

Дать понятие об основах обеспечения безопасности связи при передаче данных.

Сформулировать понятия об уязвимости систем передачи данных и о направлениях их анализа.

Дать основные понятия по криптографии и шифрованию данных.

Создать перспективу использования засекречивания данных в системах их обработки.

Дать понятие об определении методов обеспечения безопасности переданных сообщений в условиях совершенно конкретной опасности их перехвата и раскрытия содержания.

Приводятся следующие определения:

Активный перехват (Active wiretrapping)- перехват с помощью активного подключения к сети. Подсоединение несанкционированного устройства, например компьютерного терминала, к цепи связи с целью получить доступ к данным посредством создания (формирования) ложных посылок или управляющих сигналов, или посредством изменения направления связи между законными пользователями.

Алгоритм шифрования (Encryption algoritm)- система математических правил для шифрования (обычно включает и обратную систему правил для дешифрования).

Аутентификация пользователь/терминал (Authentication user/terminal)- процесс установления подлинности сообщения или терминала.

Аутентификация сообщений (Authentication message)- процесс подтверждения подлинности сообщений после их передачи.

Гаммирование- процесс наложения гаммы шифра по определенному закону на открытые данные.

Гамма шифра- псевдослучайная двоичная последовательность, вырабатываемая по заданному алгоритму для зашифрования открытых данных и расшифрования зашифрованных данных.

Дешифрование (Decryption)- преобразование шифрованного текста обратно в эквивалентный ему открытый текст (понятный текст) при помощи соответствующего ключа.

Имитовставка- отрезок информации фиксированной длины, полученный по определенному правилу из открытых данных и ключа и добавленный к зашифрованным данным, для обеспечения имитозащиты.

Имитозащита- защита системы шифрованной связи от навязывания ложных данных.

Ключ криптографический (Key cryptographyc)- последовательность знаков (символов), используемая для управления операциями шифрования и дешифрования (обычно двоичное число при обработке данных). Как правило, этот параметр, обычно сохраняемый в тайне, делает результаты шифрования/дешифрования доступными только санкционированным пользователям.

Криптография (Cryptography)- область науки, занимающая принципами, средствами и методами шифрования открытого текста и дешифрования шифрованного текста.

Криптографическая защита- защита данных при помощи криптографических преобразований.

Криптографическая система (Cryptographyc System)- документы, устройства и связанные с ними методы используемые для шифрования.

Открытый текст (Plaintext)- доступная для понимания и удобная форма данных до их шифрования и после дешифрования.

Пассивный перехват- перехват с помощью пассивного подключения к сети (Passive wiretrapping), т.е. отображение или запись данных в то время, когда они передаются по каналу связи.

Шифрование (Encryption)- преобразование при помощи ключа открытого текста в недоступную для понимания форму.

Шифрованный текст (Chiphertext)- непонятный, (недоступный для понимания) текст или сигналы, созданные с помощью криптографической системы.

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

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

При умышленных действиях возможны:

отображение сигналов, проходящих по линии связи со стороны не допущенных лиц (пассивный перехват),

преднамеренное изменение информации со стороны лиц, подключающихся к каналу связи (активный перехват и активное вмешательство).

Данные или программы могут быть перехвачены через телефонные цепи от специального дистанционного терминала ввода данных. Возможны изменения коммутационных программ сети ЭВМ в целях компрометации секретности; перехват инициативы установления связи несанкционированным пользователем между компьютерами, по мере того как законные пользователи постепенно отключаются от линии связи. Терминал пользователя может быть обманут и вместо необходимых данных начнет:

принимать сведения, секретность которых обеспечена только кажущимся образом,

ввод в систему ложных сообщений (навязывание ложных данных),

вывод из системы истинных сообщений.

Может быть реализована возможность записи сообщения и его повторного запуска в систему.

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


Алгоритм шифрования DES.


Алгоритм засекречивания данных разработан для шифрования и дешифрования блоков данных, состоящих из 64 бит, при воздействии на них ключа, также 64 бита.

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

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

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

На рисунке 2.1 приведена структурная схема алгоритма шифрования.

Ввод данных производится блоками по 64 бита. Вначале производятся перестановки в соответствии с таблицей 2.1.


Таблица 1.1. Начальные перестановки (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-ой информационный бит входного блока выйдет как первый, 50-й как второй, 2-й бит выйдет 8-ым, 1-й бит- 40-ым.



Ввод данных блоками по 64 бит


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




Lo

Ro


f


К1






К2



f




f



К16









Перестановки, инверсные начальным


Вывод данных блоками по 64 бит


Рис.2.1. Алгоритм шифрования DES.



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

Здесь информационный блок (64 бита) разбивается на две части L и R по 32 бита, которые поступают на два входа повторителя. Входной блок теперь может быть обозначен как LR. На третий вход повторителя поступают блоки К по 48 бит со схемы образования ''ключа''. Блоки R и K обрабатываются по закону, который задается шифровальной функцией f(R,K). Каждый бит полученного блока длиной 32 бита складывается по модулю два с битами блока L.

При этом выходные блоки L’ и R’ повторителя при входных блоках L и R и ключе К будут равны:

L’=R

R’=L (+) f(R,K)

где (+)- обозначает сложение по модулю два информационных бит, поступающих с одного и другого направления.

Алгоритм вычисления f(R,K) приведен на рисунке 2.2.

R (32 бита)






48 бит

K(48 бит)













32 бит



Рис.2.2. Вычисление f(R,K).



Здесь Е- функция которая преобразует 32 бита (на входе) в 48 бит (на выходе). 48 бит выхода (8 блоков по 6 бит) получаются выбором битов (входных) в соответствии с таблицей 2.2.


Таблица 2.2. ''Е''(таблица битового выбора)
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

Далее функция Sn 6 бит (на входе) преобразует в 4 бита (на выходе). Рассмотрим это преобразование на примере функции S1:


Строка Номер столбца

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15



















0
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2
4 1 14 8 13 6 2 11 15 12 9 7 13 10 5 0
3
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 3

Если S1- функция определенная в этой таблице и В- блок из 6 бит, то S(B) определяется: первый и последний биты в блоке В в двоичной системе представляют число в области 0-3. Пусть это число равно i. Средние 4 бита в блоке В в двоичной системе представляют число в области 0-15. Пусть это число равно j. Найдем в таблице число в i-той колонке и j-том столбце. Это число в области от 0 до 15 и в двоичной системе представляется 4-х битовым блоком. Этот блок является выходом S1 для введенного В. Например, если В=011011, то номер колонки равен 1 (01В), номер столбца 13 (1101В). По таблице находим а колонке 1 и столбце 13 число 5, то есть на выходе число 0101. Функции S1,S2…S8 приведены в таблице 2.4.

Функция перестановки Р определяется таблицей 2.3.


Таблица 2.3. Функция перестановки Р.
16 7 20 21

29

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

Выходное значение P(L) для P определенного этой таблицей получается следующим образом: с блока L берется 16-й бит L как первый бит P(L), 7-й бит как второй бит P(L), и так далее пока 25-й бит L не взят как 32-й бит P(L).

Теперь пусть S1,...,S8 будут восемь функций выбора, P-функция перестановки и пусть E будет функция определенная выше.

Для того, чтобы определять f(R,K) мы сначала определяем B1,...,B8 (по 6 битов каждый):


B1B2...B8 = K(+)E(R) (2.1)


блок f(R,K) затем определяется:


P(S1(B1)S2(B2)...S 8(B8)) (2.2)


Таким образом K(+)E(R) сначала разделяется на 8 блоков как указано в (2.1). Затем каждый Bi взят как ввод в Si и 8 блоков (S1(B1)S2(B2)...S8(B8) по 4 бита каждое преобразовываются в 1 блок 32 бита, который вводится в P. Выход Р (2.2) является затем выходом функции f для вводов R и K.


Таблица 2.4. Функции S1…S8


S1
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
S2
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
S3
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
S4
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
S5
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 4 2 3 6 15 0 9 10 4 5 3
S6
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13

S7

4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12

S8

13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

Принято, что KS (n,KEY) есть фунеция, которая определяется целым числом n, которое изменяется от 1 до 16 (n- номер повторителя) ключом (KEY) из 64 бит. Алгоритм вычисления Kn приведен на рис.2.3. Рассмотрим алгоритм получения функции KS. Сначала 64 бит ключа подвергаются перестановке PC-1 (таблица 2.5).


Таблица 2.5. Дополнительные перестановки PC-1.

57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36


63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4

Таблица разделена на две части, в первой части выбираются биты C0 , во второй- биты D0. Биты ключа перечислены с 1 по 64. Биты C0 являются соответственно битами 57, 49, 41,..., 44 и 36 ключа, биты D0, являются битами 63, 55, 47,..., 12 и 4ключа.

После определения C0 и D0, мы теперь определяем блоки Cn и Dn, которые получаются из блоков Cn-1 и Dn-1, соответственно, для n = 1, 2,..., 16. Это выполняется сдвигом блоков влево придерживаясь правил из таблицы 2.6.

Ключ



РС-1





Сдвиг влево


Сдвиг влево




K1


PC-2



Сдвиг влево

Сдвиг влево




KN


PC-2



Сдвиг влево

Сдвиг влево




K16


PC-2


Рис.2.3. Алгоритм вычисления ключевых блоков.



Таблица 2.6. Расписание сдвигов.
№ повторителя Число сдвигов
1 1
2 1
3 2
4 2
5 2
6 2
7 2
8 2
9 1
10 2
11 2
12 2
13 2
14 2
15 2
16 1

Например, C3 и D3 получаются из C2 и D2, соответственно, двумя сдвигами влево, и C16 и D16 получаются из C15 и D15, соответственно, одним сдвигом в лево.

Перестановки PC-2 определятся таблицей 2.7:


Таблица 2.7. Дополнительные перестановки РС-2.
14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32

Следовательно, первый бит Kn -это 14-й бит CnDn, второй бит- 17, и так далее с 47-й - 29-й, и 48-й бит- 32.

Полученная на выходе последнего (16-го) повторителя (Рис.2.1) предварительная выходная последовательность подвергается перестановкам, инверсным начальным и заданным таблицей 2.8:


Таблица 2.8. Перестановки инверсные начальным (IP-1).

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

При дешифровании используется тот же самый алгоритм рис.2.1 и ключ, что и при шифровании. Однако необходимо использовать обратный порядок подачи на повторители ключевых блоков. На первый повторитель подается 16-й ключевой блок (К16), на второй-15(К15) и так далее.



Информация о работе «Система криптозащиты в стандарте DES. Система взаимодействия периферийных устройств»
Раздел: Информатика, программирование
Количество знаков с пробелами: 141475
Количество таблиц: 17
Количество изображений: 0

Похожие работы

Скачать
430825
6
4

... с применением полиграфических компьютерных технологий? 10. Охарактеризуйте преступные деяния, предусмотренные главой 28 УК РФ «Преступления в сфере компьютерной информации». РАЗДЕЛ 2. БОРЬБА С ПРЕСТУПЛЕНИЯМИ В СФЕРЕ КОМПЬЮТЕРНОЙ ИНФОРМАЦИИ ГЛАВА 5. КОНТРОЛЬ НАД ПРЕСТУПНОСТЬЮВ СФЕРЕ ВЫСОКИХ ТЕХНОЛОГИЙ 5.1 Контроль над компьютерной преступностью в России Меры контроля над ...

Скачать
344059
1
0

... мероприятия по новому месту работы, жительства; также в окружении носителей коммерческих секретов. Персонал оказывает су­щественное, а в большинстве случаев даже решающее влияние на информационную безопасность банка. В этой связи подбор кадров, их изучение, рас­становка и квалифицированная работа при увольнени­ях в значительной степени повышают устойчивость коммерческих предприятий к возможному ...

Скачать
208226
48
24

... баланса банка, а так же охарактеризовав услуги банка в сфере инфокоммуникаций, следует приступить к рассмотрению методов совершенствования инфокоммуникационного сопровождения банковской деятельности. 3. Совершенствование инфокоммуникационного сопровождения деятельности ОАО «МИнБ» филиал в г.Ставрополе   3.1. Анализ стандарта криптографической защиты информации на примере филиала ОАО «МИнБ» в ...

0 комментариев


Наверх