
Лекция 8 Современные крипотографические системы
1. Шифрование данных, как средство защиты информации
При организации вычислительных сетей важная роль отводится криптографии - защите сообщений, передаваемых по сети с использованием шифрования. Всякий криптографический алгоритм зависит от степени защиты ключей, которые он использует, поэтому проблема управления ключами требует особого внимания. Управление ключами предусматривает функции генерации, распределения, хранения и регулярной смены ключей.
Обычно рассматриваются две категории ключей: ключи шифрования данных для защиты данных и ключи шифрования ключей для защиты ключей при передаче их по линиям связи или хранении. Поскольку степень уязвимости ключа по мере его использования растет, ключи шифрования данных должны регулярно сменяться.
Для защиты ВС используются два типа криптографических систем: системы с закрытым ключом, называемые также симметрическими (например, стандарт шифрования данных США), и системы с открытыми ключами, называемые асимметрическими. Из-за ограничений на скорость передачи системы с открытыми ключами менее удобны для шифрования данных. Предполагается также, что функция распределения ключей допустима только» для сетей общего пользования (обычно локальных), в которых каждый пользователь может принять и передать любое сообщение. Протокол распределения ключей должен обеспечивать защиту как от пассивных (наблюдение за передачей сообщений), так и от активных вторжений (изменение, удаление или посылка нового сообщения) .
На практике применяются два типа криптографических систем: симметрические (закрытые, с одним ключом) и асимметрические (открытые, с двумя ключами). В симметрических системах ключи шифрования и дешифрования либо одинаковы, либо легко выводятся один из другого, обеспечивая таким образом единый (общий) ключ. Такой ключ должен быть передан получателю по некоторому защищенному каналу передачи, чтобы гарантировать его конфиденциальность и целостность.
В асимметрических криптографических системах ключи шифрования и дешифрования различаются таким образом, что с помощью вычислений нельзя вывести один ключ из другого. Следовательно, если одно из преобразований может быть раскрыто, то другое преобразование (шифрование или общий ключ) не подвергается опасности и только ключ дешифрования у получателя должен быть сохранен секретным. Такой тип системы не требует передачи ключа, используемого в алгоритме, по защищенным каналам, и его можно применять для передачи секретного ключа в закрытых симметрических системах по незащищенным каналам.
1.1 Симметрические криптографические системы
В ряде работ [SIMM79, OENN82] представлены алгоритмы для симметрических систем, и среди них наиболее известным на сегодняшний день является Американский стандарт шифрования данных DES (Data Encryption Standard), который принят в качестве федерального стандарта США [FIPS77]. Существенным дополнением к нему являются японский ускоренный алгоритм шифрования данных FEAL (Fast Enciphering Algorithm) и алгоритм B-Crypt Британской службы телекоммуникаций, реализованный в виде, модуля для шифрования потока сообщений [VARA86].
Стандарт шифрования данных DES
Основу криптографического алгоритма, используемого при проектировании большинства устройств шифрования, составляет стандарт шифрования данных DES. Соответствующий алгоритм принят в качестве стандарта США. Он также поддержан Американским национальным институтом стандартов ANSI (American National Standards Institute) и рекомендован для применения Американской ассоциацией банков ABA.
Приведем анализ DES-алгоритма для выявления общего подхода к проектированию алгоритмов шифрования. Для изучения характеристик алгоритма используется программная реализация [VARA86]. В частности, программный подход позволяет анализировать промежуточные результаты в рамках каждого цикла, в то время как реализация в виде интегральной схемы дает только окончательный шифрованный текст. Программная реализация удобна также для проведения статистического анализа результатов шифрования. DES-алгоритм предназначен для шифрования и дешифрования блоков данных по 64 бит под управлением ключей защиты, имеющих также 64
Дешифрирование должно выполняться с использованием того же ключа, который использовался для шифрования, но с измененным способом адресации битов ключа и так, чтобы процедура дешифрования была обратная процедуре шифрования. Блок, который должен быть зашифрован, подвергается тщательной перестановке IP (Initial Permutation), сложным преобразованиям, зависящим от ключа защиты, и перестановке, которая является обратной по отношению к начальной IP. Преобразования, зависящие от значения ключа, могут быть описаны в виде функции f, называемой функцией шифрования и функцией KS, называемой таблицей ключей
(Key Schedule).
Обозначим через input входную 64-битовую строку, которую следует зашифровать (исходный текст), и output - соответствующую 64-битовую выходную строку (шифрованный текст), L и R - 32-битовые строки и LR - их конкатенацию (объединение) в 64-битовую строку. Пусть KS - функция, которая в зависимости от целого числа п из диапазона 1-16 и 64-битового входного блока KEY формирует 48-битовый блок К. Последний является результатом перестановки битов с блока KEY, поэтому
Алгоритм шифрования может быть представлен в виде схемы CRYPTO 1.
Некоторые характеристики DES-алгоритма
Эффект "обвала"
Если небольшое изменение ключа или исходного текста вызывает соответственно малое изменение в шифрованном тексте, это позволяет существенно сократить размер текста или ключа, который необходимо раскрыть. Следовательно, один из основных принципов хорошего криптографического алгоритма состоит в том, чтобы малое изменение исходного текста или ключа приводило к значительному изменению шифрованного текста. DES-алгоритм обладает этим свойством, названным1 эффектом "обвала" [KONH81]. В работе [MEYE78] показано, что после пяти циклов на каждый бит шифрованного текста окажут влияние все биты исходного текста и ключа. Это свойство посимвольной зависимости можно использовать для выявления ошибки или подтверждения подлинности.
Свойство операции дополнения
DES-алгоритм инвариантен по отношению к результату операции дополнения исходного текста, ключа или шифрованного текста. Это свойство, называемое свойством дополнительности DES-алгоритма, можно выразить следующим образом:
где Ек - операция шифрования с ключом К;
X - исходный текст;
Е, К, X - операции дополнения (побитовой инверсии).
Это свойство определяется способом использования внутренних вспомогательных ключей в каждом цикле.
Анализ DES-алгоритма показывает, что развернутое преобразование исходного текста представляет собой сложный процесс с вектором ключей К, на каждом цикле. Обозначим этот процесс функцией f. Тогда
где E(R.) - развернутая форма преобразования исходного текста на 1-м цикле; 0 - операция ИСКЛЮЧАЮЩЕЕ ЩЕЙ. , Функция / не изменяется, если использовать дополнения R, и Кж, т.е.
(дополнение
исходного текста X
означает дополнение L0
и R0.
Дополнение
ключа К означает дополнение ключей K1
,...,К16,
что приводит к дополнению L1
и R1
По индукции это
свойство распространяется на
и, следовательно,
на шифрованный текст С. Благодаря
свойству дополнительности DES-алгоритма
криптоаналитик, имея Y1
= Ек(X)
и Y2
=Ek(X)
для произвольного исходного текста X,
может сократить число исследуемых
ключей в 2 раза от 256
до
255.
Криптоаналитик зашифровывает текст X
всеми ключами
К, которые начинаются с бита 0. Результирующий
текст С
сравнивается с У1
и Y2.
Если С <> Y1
то используемый ключ
не равен К, а если С <> Y2,
ключ не равен ключу, начинающемуся
с 1. Следовательно, такая симметрия
сокращает объем
исследований вдвое.
Недостатки DES-алгоритма
К недостаткам DES-алгоритма относятся:
-
малый размер ключа,
-
отсутствие публикаций по алгоритмам проектирования,
-
малое число циклов,
-
относительно простои алгоритм назначения ключей.
-
сложность перестановок IP и IP.