Алгоритм безопасной передачи данных между пользователями в сети


 Data Encryption Standard (DES)



Pdf көрінісі
бет7/22
Дата15.04.2023
өлшемі1,65 Mb.
#82715
түріДипломная работа
1   2   3   4   5   6   7   8   9   10   ...   22
1.3.1.1 Data Encryption Standard (DES) 
DES - симметричный алгоритм шифрования, в котором один ключ 
используется как для шифрования, так и для расшифрования данных. DES 
разработан фирмой IBM и утвержден правительством США в 1977 году как 
официальный стандарт. Алгоритм DES широко использовался при хранении и 
передаче данных между различными вычислительными системами; в почтовых 
системах, в электронных системах чертежей и при электронном обмене 
коммерческой информацией. Стандарт DES реализовывался как программно, 
так и аппаратно. Предприятиями разных стран был налажен массовый выпуск 
цифровых устройств, использующих DES для шифрования данных. Все 
устройства проходили обязательную сертификацию на соответствие стандарту.
Алгоритм шифрования DES использует ключ длиной 56 бит. В то время 
считалось, что опробовать все 72 055 594 037 927 936 возможных ключей (семь 


12 
с 16 нулями) было бы невозможно, потому что компьютеры настолько 
мощными. В 1998 году Electronic Frontier Foundation (EFF) создал специальную 
машину, которая могла расшифровать сообщение, опробовав все возможные 
ключи менее чем за три дня. Машина стоила менее 250 000 долларов США и 
искала более 88 миллиардов ключей в секунду[1].
Размер блока в DES - 64 бита, для шифрования использует ключ с 
длиной 56 бит, количество раундов – 16. DES является классической сетью 
Фейштеля с двумя ветвями. За несколько раундов алгоритм преобразует 64-
битный входной блок данных в 64-битный выходной блок. Стандарт DES 
построен на комбинированном использовании перестановки, замены и 
гаммирования. Данные для шифрования должны быть представлены в 
двоичном виде.
Процесс шифрования каждого 64-битового блока исходных данных 
можно разделить на три этапа: 
1. 
начальная подготовка блока данных; 
2. 
16 раундов "основного цикла"; 
3. 
конечная обработка блока данных. 
На первом этапе выполняется начальная перестановка 64-битного 
исходного блока данных. При начальной перестановке биты блока данных 
определенным образом переупорядочиваются, что придает некоторую 
"хаотичность" исходному сообщению, понижая возможность использования 
xкриптоанализа статистическими методами. Одновременно с начальной 
перестановкой блока данных выполняется начальная перестановка 56 бит 
ключа. В каждом из циклов используется соответствующий 48-битный 
частичный ключ. Ключи получаются по определенному алгоритму, используя 
каждый из битов начального ключа по нескольку раз. В каждом раунде 56-
битный ключ делится на две 28-битовые части. Затем части сдвигаются влево 
на один или два бита зависимо от номера раунда. После сдвига определенным 
образом выбирается 48 из 56 битов. Из-за того, что при этом не только 
выбирается подмножество битов, но и изменяется их порядок, эта операция 


13 
называется "перестановка со сжатием". Ее результатом является набор из 48 
битов. В среднем каждый бит исходного 56-битного ключа используется в 14 из 
16 подключей, хотя не все биты используются равное количество раз. 
На втором этапе блок делится на две ветви по 32 бита каждая и 
выполняется основной цикл преобразования, организованный по сети 
Фейштеля и состоящий из 16 одинаковых раундов. При этом в каждом раунде 
получается промежуточное 64-битное значение, которое затем обрабатывается 
в следующем раунде. 
Вначале правая часть блока увеличивается до 48 битов, используя 
таблицу, которая определяет перестановку плюс расширение на 16 битов. Эта 
операция приводит размер правой части в соответствие с размером ключа для 
выполнения операции XOR. За счет выполнения этой операции быстрее 
возрастает зависимость всех битов результата от битов исходных данных и 
ключа.
После выполнения перестановки с расширением для полученного 48-
битного значения выполняется операция XOR с 48-битным подключом. Затем 
полученное 48-битное значение передается на вход блока подстановки, 
результат которой - 32-битное значение. Подстановка выполняется в восьми 
блоках подстановки. При выполнении этой операции 48 битов данных 

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   ...   22




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет