Здавалка
Главная | Обратная связь

Data Encryption Standard (DES)



Алгоритм Data Encryption Standard (DES) был разработан компанией IBM в начале 1970-х гг. Национальный институт стандартов и технологий США (NIST) принял на вооружение алгоритм (публикация FIPS 46) для DES в 1977 г. после изучения, модификации и утверждения алгоритма в NSA. Алгоритм подвергался дальнейшей модификации в 1983, 1988, 1993 и 1999 гг.

DES использует ключ длиной 56 бит. Используются 7 бит из байта, восьмой бит каждого байта используется для контроля четности. DES является блочным алгоритмом шифрования, обрабатывающим единовременно один 64-битный блок открытого текста (см. рис. 12.3). В алгоритме DES выполняются 16 циклов шифрования с различным подключом в каждом из циклов. Ключ подвергается действию своего собственного алгоритма для образования 16 подключей (см. рис. 12.4).

На блок-схеме алгоритма DES изображены несколько блоков, в которых происходит перестановка. Рассматриваемый стандарт шифрования предусматривает специальное переупорядочивание битов для каждой перестановки. То же самое относится к алгоритму генерации подключа. Для перестановочной выборки 1 и 2 предусмотрено определенное переупорядочивание битов. На рисунке 12.3 также изображена функция вызова f. В этой функции находятся S-блоки. S-блоки представляют собой блоки табличного поиска (также определенные в стандарте), изменяющие 6-битные выходные данные на 4-битные.

Алгоритм DES может функционировать в четырех режимах.

  • Электронный шифрблокнот. Это базовый алгоритм блочного шифрования, в котором текст и ключ объединяются и образуют шифрованный текст. В этом режиме идентичный вход образует идентичный выход.
  • Цепочка блоков. В данном режиме каждый блок шифруется как в электронном шифрблокноте, но с добавлением третьего компонента, полученного из предыдущего выхода. В данном случае, идентичный вход (открытый текст) не образует идентичный вывод.
  • Обратная связь по шифрованному тексту. В данном режиме в качестве входных данных в DES используется ранее сгенерированный шифрованный текст. После этого выходные данные комбинируются с открытым текстом и образуют новый шифртекст.
  • Обратная связь по выходу. Этот режим аналогичен обратной связи по шифрованному тексту, однако здесь используются выходные данные DES, и не происходит построение цепочки из шифртекста.

Были раскрыты несколько атак, требующих меньше вычислительных мощностей, нежели исчерпывающий поиск (дифференциальный и линейный криптоанализ; для получения более детальных сведений по этим атакам посетите сайт (http://www.rsasecurity.com/rsalabs/faq/). Однако эти атаки требуют большого объема выборочного открытого текста и, следовательно, практически не осуществимы в реальном мире. Сегодня особенно заметным слабым местом шифров стал 56-битный ключ. 56 бит ключа обеспечивают потенциальное число ключей, равное 255. В сегодняшних компьютерных системах все пространство ключей может быть изучено за небольшой промежуток времени. В 1997 г. организация Electronic Frontier Foundation (EFF) анонсировала компьютерную систему, которая сможет найти ключ DES за четыре дня. Создание этой системы стоило 250 000 долларов. С помощью современного оборудования можно определить ключ DES посредством атаки "грубой силы" за 35 минут. Этого времени слишком мало, чтобы защитить информацию, которая должна сохраняться в секрете. В переработанной публикации FIPS (46-2 и текущая 46-3) в NIST признали этот факт, сказав, что простой DES можно использовать только в устаревших системах.

Тройной DES

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

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

Примечание

TDES подвергался двум атакам. Тем не менее, объем данных, требуемый для проведения атак (как и в случае с атаками на DES), делал проведение атак на этот алгоритм практически неосуществимым в реальных ситуациях.

Шифрование паролей

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

У каждого пользователя есть свой пароль. Алгоритм использует первые восемь символов пароля. Если пароль длиннее восьми символов, он усекается. Если пароль короче восьми символов, он дополняется. Пароль преобразуется в 56-битное число с помощью первых 7 бит каждого символа. После этого система выбирает 12.битное число на базе системного времени. Этот элемент называется "крупинкой соли" или расширением. Расширение и пароль используются в качестве входных данных в функции шифрования паролей.

Расширение используется для изменения одной из таблиц перестановки в алгоритме DES (перестановка E) любым из 4096 различных способов, в зависимости от числа единиц в двенадцати битах. Начальный открытый текст содержит 56 нулевых битов, а ключом являются 56 бит, полученных из пароля. Алгоритм выполняется 25 раз, причем входные данные каждого этапа являются выходом предыдущего этапа.

Конечные выходные данные преобразуются в 11 символов, а расширение преобразуется в 2 символа и помещается перед конечными данными выхода.

Главной уязвимостью этой системы является то, что она основана на выборе пароля. Так как большинство пользователей компьютеров используют пароли, состоящие из символов нижнего регистра, мы имеем общее число возможных комбинаций, равное 268. Это значительно меньше, чем 255 возможных ключей DES, поэтому взлом такого шифра посредством "грубой силы" займет гораздо меньше времени и вычислительных ресурсов для раскрытия паролей в системе Unix.

Примечание

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







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.