русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Стандарт DES (Data Encryption Standart)


Дата добавления: 2013-12-23; просмотров: 597; Нарушение авторских прав


Организационные проблемы криптозащиты

Высокая стойкость шифров может быть реализована при строгом соблюдении основных правил криптозащиты:

1. Сохранение в тайне ключей.

2. Исключение дублирования.

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

3. Достаточно частая смена ключей

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

 

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

Выбор способа защиты тесно связан с трудоемкостью метода шифрования, степенью секретности закрываемых данных, стойкостью метода и объемом шифруемой информации.

 

Основными правилами механизма распределений ключей являются:

1. Ключи должны выбираться случайно.

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

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



 

Лекция 5

К настоящему времени DES является наиболее распространенным алгоритмом в системе защиты коммерческой информации. Реализация алгоритма DES в таких системах считается признаком хорошего тона.

Основные преимущества DES:

1. Используется один ключ длиной 56 бит

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

3. Относительная простота алгоритма обеспечивает высокую скорость обработки информации.

4. Достаточно высокая стойкость алгоритма

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

DES – симметричная криптосистема.

Процесс шифрования заключается в начальной перестановке битов 64-битового блока, 16-и цифр шифрования и обратной перестановке битов.

R1 = L(0) XOR f(R(0), K(1))

 

 

КП IP-1
Результат
К(15)
L(1)
R(1)
L(0)
R(0)
XOR
f
Т
НП IP
K(1)_
L(15)
R(15)
XOR
f
L(16)
R(16)
Шифруемый текст
Начальная перестановка
T(0)=IP(T)
R(16)L(16)

 

 


 

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

58 50 42 34 26 18 10 02 IP

60 52 44 36 28 20 12 04

62 54 46 38 30 22 14 04

64 56 48 40 32 24 16 08

57 49 41 33 25 17 09 05

59 51 43 35 27 19 11 03

61 53 45 37 29 21 13 05

63 55 47 30 31 23 15 07

 

 

40 08 48 16 56 24 64 32 IP-1

39 07 47 15 55 23 63 31

38 06 46 14 54 22 62 30

37 05 45 13 53 21 61 29

36 04 44 12 52 20 60 28

35 03 43 11 51 19 59 27

34 02 42 10 50 18 58 26

33 01 41 09 49 17 57 25

Бит 58 блока Т становится первым, бит 50 – вторым и т д. Полученная последовательность битов Т(0) разделяется на две последовательности по 32 бита каждая. L(0) – левые (старшие) биты

R(0) – правые (старшие) биты

Далее осуществляется шифрование, состоящее из 16 итераций. Результат i той итерации описывается выражением:

 

L(i) = R(i-1)

R(i) = L(i-1) XOR f (R(i-1), K(i))

 

Функция f – называется функцией шифрования. Ее аргументы – 32-битовая последовательность R(i-1), полученная на i-1 итерации и 48 –битовый ключ К(i), который является преобразованием 64-битового ключа К.

На 16-ой итерации R(16) и L(16) без перестановки конкатенируют в 64-битовую последовательность R(16)L(16). Затем позиции битов этой последовательности переставляют в соответствии с матрицей IP-1 (матрица конечной перестановки).

Матрицы IP, IP-1 соотносятся следующим образом:

Значение первого элемента матрицы IP-1 = 40, а значение 40го элемента матрицы IP = 1. 2ой элемент равен 8, 8ой элемент = 2.

Процесс расшифровывания данных является инверсным к процессу шифрования. Все действия должны быть выполнены в обратном порядке. То есть расшифровываемые данные сначала переставляются в соответствии с матрицей IP-1, а затем над последовательностью бит R(16)L(16) выполняются те же действия, что и в процессе шифрования, но в обратном порядке. Интерактивный процесс дешифрования описывается следующими формулами:

 

R(i-1) = L(1)

L(i-1) = R(i) XOR f(L(i), K(i))

 

На 16-ой итерации получаем L(0) и R(0), которые конкатенируют в 64-битовую последовательность R(0)L(0) и затем данную последовательность переставляют с помощью матрицы IP и получают исходный результат.

 

Рассмотрим блок f :

S1
S2
S3
S4
S5
S6
S7
S8
Расш. Е
XOR
R(i-1)
E(R(i-1))
K(i) 48
Перестановка P
f(R(i-1)K(i))

 


Для вычисления функции f используются следующие функции матрицы:

E – расширение 32 битовой последовательности до 48 битовой

S1..S8 – преобразование 6-битового блока в 4битовый

Р – перестановка бит в 32 битовой последовательности

 

Матрица расширения Е

32 01 02 03 04 05

04 05 06 07 08 09

08 09 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 01

 

Результирующую 48-битовую последовательность складываем по модулю 2 с 48 битовым ключом К(i) и получается 48 битовая последовательность, которую разбиваем на 8 6-битных блоков S(1)..S(8).

E(R(i-1) XOR K(i)) = S(1) S(2)… S(8)

 

Лекция 6

 

 

На вход S i-го блока поступает 6-битный блок B(i)=b1b2b3b4b5b6

 

Результатом Si(Bi)будет 4-хбитовый элемент, расположенный на пересечении строки и столбца.

B(1)=011011

01 – номер строки

1011 – номер столбца

 

Перестановка P
16 07 20 21

29 12 28 17

01 15 23 26

05 18 31 10

02 08 24 14

32 27 03 09

19 13 30 06

22 11 04 25

 

f(R(i-1)K(i)=P(S1(B(1))…, S8(B(8)))

 



<== предыдущая лекция | следующая лекция ==>
Простые криптосистемы | DES-ECB


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.