Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

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






Стандарт шифрования данных DES (Data Encryption Standard, 1977).




DES – один из самых распространённых алгоритмов блочного шифрования, рекоммендованный Национальным бюро стандартов США (NBS) совместно с Агенством национальной безопасности, АНБ (NSA) в качестве основного средства криптографической защиты информации как в государственных, так и в коммерческих структурах. Однако уже в 1988 г. АНБ рекоммендовало использовать DES только в системах электронного перевода. С учётом выявленных недостатков DES в начальный вариант стандарта постоянно вносятся изменения; появляются и новые алгоритмы, использующие в качестве основы DES – NewDES, TripleDES и др. С учётом современных средств вычислительной и микропроцессорной техники длины 56-битного ключа, используемого в оригинальном варианте DES, уже недостаточно.

DES – блочный алгоритм шифрования с длиной блока 64 бита и симметричными ключами длиной 56 бит. На практике ключ обычно имеет длину 64 бита, где каждый восьмой бит используется для контроля чётности остальных бит ключа.

Всего для получения блока зашифрованного сообщения происходит 16 раундов. Эта величина используется в DES по следующим причинам:

- 12 раундов являются минимально необходимыми для обеспечения должного уровня криптографической защиты;

- при аппаратной реализации использование 16 раундов позволяет вернуть преобразованный ключ в исходное состояние для дальнейших преобразований;

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

Структура алгоритма показана на рис.18.1.

Используется общий ключ 64 разряда; из них 56 – независимых, 8 – контроль на чётность. K0,…,K15 – это 48-разрядные ключи, которые получаются из общего (56 разр.) после перестановок, при этом K0,…,K15 – ключи со сдвигами (задержками). Используемый 56-битный ключ записывается в два 28-битных регистра сдвига, которые перемещают содержимое в каждом такте на количество битов, зависящее от номера раунда:

 

№ раунда
Количество сдвигаемых бит

 

Далее для выбора 48 бит из 56 для образования ключа используется специальная выборка.

Преобразование f (Ri ,Ki) показано на рис. 18.2.

 

 
 
       
   
 

       
   
 
 
 

       
   
 
 
Блок выборки 1………………………………56
 
 

           
 
Ключевая последовательность 1………………………………56
 
     
       
   
 




 
 

Рис.18. 1

 
 

 

 

 
 

           
     
           
     

           
   
 
   
 
…………………
 

       
   

 
 
S1
 
 

 
 

 

 

 
 

 
 
Регистр RG2 1……………32

 


Рис. 18.2.

 

 

  С т о л б е ц
Строка

В качестве примера рассмотрим содержимое одного из S-шифраторов. Пусть вход 0.1101.1. Строка определяется по битам 1,6, т.е. 01 ® Строка = 1. Столбец определяется по битам 2-5, т.е. 1101 ® Столбец = 13. В ячейке (1,13) выбирается число 5 = 01012, т.е. на выходе этого штфратора получим 0101.



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

Расшифрование в алгоритме DES происходит аналогично зашифрованию с той только разницей, что выборка ключевой последовательности в раундах расшифрования будет обратная, т.е. K15, K14,…, K0.

 

Стойкость и безопасность DES.

 

Многолетний опыт эксплуатации DES и его открытость привели к тому, что DES стал одним из популярнейших алгоритмов с точки зрения проверки тех или иных методов дешифрования и криптоанализа. За всё время существования алгоритма на него было проведено немало атак.

Среди основных недостатков DES, существенно снижающих уровень его безопасности, можно выделить следующие:

- наличие слабых ключей, вызванное тем, что при генерации ключевой последовательности используются два регистра сдвига, которые работают независимо друг от друга. Примером слабого ключа может служить 1F1F1F1F0E0E0E0E (с учётом битов контроля чётности). В данном случае результатом генерации будут ключевые последовательности, одинаковые с исходным ключом во всех 16 раундах. Существуют также разновидности слабых ключей, которые дают при генерации всего лишь 2-4 ключевые последовательности. Всего для ключевого пространства 256 существует 24 слабых ключа.

- небольшая длина ключа (56 бит). На современном уровне развития микропроцессорных средств данная длина ключа не может обеспечивать должной защиты для некоторых типов информации. Применение алгоритма TripleDES не даёт ощутимого результата, хотя и использует 3 разных ключа (K1, K2, K3), т.к. работа с тремя ключами эквивалентна зашифрованию на некотором ключе K4, т.е.

EK3(DK2 (EK1 (P))) = EK4(P), где

P – открытый текст,

EKi – функция зашифрования DES (Encode) на ключе Ki,

DKj – функция расшифрования DES (Decode) на ключе Kj.

- избыточность ключа, обусловленная контролем на чётность каждого в отдельности байта ключа. Бихам и Шамир предложили достаточно эффективную атаку на реализацию DES в смарт-картах или банковских криптографических модулях, использующих EEPROM- память для хранения ключей. Эта методика позволяет восстанавливать ключи, хранящиеся в памяти устройства, при сбое в данном участке памяти.

 

-

               
   
Зашифров. текст
   
DES (расшифров.)
 
DES (зашифров.)
 

 

                           
       
         
         
 
 


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

В настоящее время в качестве государственного стандарта шифрования данных в США принят алгоритм AES (Advanced Encryption Standard), обладающий улучшенными криптографическими свойствами.
19. Алгоритм IDEA

IDEA (International Data Encryption Algorithm) является блочным симметричным алгоритмом шифрования, разработанным Сюдзя Лай (Xuejia Lai) и Джеймсом Массей (James Massey) из швейцарского федерального института технологий. Первоначальная версия была опубликована в 1990 году. Пересмотренная версия алгоритма, усиленная средствами защиты от дифференциальных криптографических атак, была представлена в 1991 году и подробно описана в 1992 году.

IDEA является одним из нескольких симметричных криптографических алгоритмов, которыми первоначально предполагалось заменить DES.


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал