Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Структура системы обеспечения конфиденциальности и целостности




Варианты реализации схемы:

Схема (1): Сообщение вместе с присоединенным к нему путем конкатенации хэш-кодом шифруется методами традиционного шифрования. Так как только пользователям А и В становится известен секретный ключ, сообщение на­верняка пришло от А и не могло быть изменено по пути следования. Хэш-код обеспечивает структуризацию или избыточность, требуемую для ау­тентификации. Поскольку шифрование выполняется по отношению ко всему сообщению вместе с добавленным хэш-кодом, при этом обеспечива­ется и конфиденциальность.

Обеспечивает конфиденциальность – только стороны А и В знают .

Обеспечивает целостность – криптографически защищено.

Схема (2). Шифруется только хэш-код средствами традиционного шифрования. Это позволяет снизить вычислительную нагрузку на систему, если речь идет о приложениях, не требующих конфиденциальности.

Обеспечивает целостность – криптографически защищено.

Схема (3). В целях обеспечения целостности сообщений можно использовать функцию хэши­рования без шифрования. В таком случае предполагается, что две участ­вующие в обмене данными стороны используют известное только им сек­ретное значение S. Отправитель А вычисляет значение функции хэширо­вания для результата конкатенации M и S и присоединяет полученное значение функции хэширования к М. Получателю В значение S известно, поэтому он может тоже вычислить значение функции хэширования, чтобы сравнить последнее с пришедшим вместе с сообщением. Ввиду того что секретное значение непосредственно не посылается, противник не может модифицировать перехваченное сообщение или генерировать ложное. Конфиденциальность может обеспечивается путем шифрования сообщения вместе с до­бавленным к нему хэш-кодом.

Обеспечивает конфиденциальность – только стороны А и В знают .

Обеспечивает целостность – только стороны А и В знают .

 

Алгоритм симметричного шифрования Е

Реализуется алгоритм блочного шифрования, построенный на базе схемы Файстеля (рис. 1).

На вход ал­горитма шифрования подается блок открытого текста длиной битов и ключ . Блок открытого текста разделяется на две равные части, и , которые после­довательно проходят через раундов обработки, а затем объединяются снова для получения блока шифрованного текста соответствующей длины. Для раунда в качестве входных данных выступают и , полученные на выходе преды­дущего раунда, и подключ , вычисляемый по общему ключу . Как правило, все подключи отличаются как от общего ключа, так и друг от друга.

 

 

Рис. 1. Классическая схема Файстеля

Все раунды обработки проходят по одной и той же схеме. Сначала для левой половины блока данных выполняется операция подстановки. Она заключается в применении к правой половине блока данных некоторой функции раунда и по­следующем сложении полученного результата с левой половиной блока данных с помощью операции ХОR (исключающего "ИЛИ"). Для всех раундов функция раунда имеет одну и ту же структуру, но зависит от параметра — подключа ра­унда . После подстановки выполняется перестановка, представляющая собой обмен местами двух половин блока данных. Вся эта структура в целом является частным случаем так называемой подстановочно-перестановочной схемы (SPN — substitution-permutation network), предложенной Шенноном.

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

Практическая реализация схемы Файстеля зависит от выбора значений сле­дующих параметров и конструктивных особенностей.

1. Размер блока. Чем больше размер блока, тем выше надежность шифра (при прочих равных условиях), но тем ниже скорость выполнения опера­ций шифрования и дешифрования. Разумным компромиссом является блок размером 64 бита, который является сегодня практически универ­сальным для всех блочных шифров.

2. Размер ключа. Чем длиннее ключ, тем выше надежность шифра, но боль­шая длина ключа тоже может быть причиной слишком медленного вы­полнения операций шифрования и дешифрования. На сегодня ключи дли­ной 64 бита и меньше считаются недостаточно надежными — обычно ис­пользуются 128-битовые ключи.

3. Число раундов обработки. Суть идеи шифра Файстеля в том, что за один раунд обработки данных обеспечивается недостаточно высокая надеж­ность, но уровень надежности шифра повышается с каждым новым раун­дом обработки. Как правило, число раундов выбирают равным 16.

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

5. Функция раунда. Здесь, опять же, усложнение, как правило, введет к по­вышению стойкости шифра с точки зрения криптоанализа.

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

6. Скорость выполнения программ шифрования/дешифрования. Часто функции шифрования встраиваются в приложения или утилиты, чтобы избежать необходимости аппаратной реализации шифрования. В таких случаях важным фактором оказывается скорость программного выполне­ния алгоритма.

7. Простота анализа. Хотя нашей задачей является создание такого алго­ритма, который для криптоанализа был бы настолько сложным, насколько это возможно, все же весьма выгодно, чтобы сам такой алгоритм оставался простым для понимания. Иными словами, если алгоритм прост и понятен, его легче анализировать с точки зрения уязвимости для криптоанализа и, следовательно, легче совершенствовать с целью достижения более высоко­го уровня надежности. Алгоритм DES, например, нельзя отнести к алго­ритмам, слишком простым для анализа.

 

Варианты реализации алгоритма шифрования:

Номер варианта Функция раунда Алгоритм вычисления подключа
      1. блок побитно складывается по модулю 2 с матрицей подключа . 2. к блоку применяется перестановка, заданная матрицей М1 (см. ниже);   1. ключ разбивается на две части по 32 бит, каждая из которых организуется в матрицу 4×8; 2. в каждой части ключа -я строка сдвигается циклически влево на 2 бит, ; 3. на вход функции раунда подается правая часть ключа, если раунд номер раунда – четное число, иначе подается левая часть ключа;
      1. к блоку применяется перестановка, заданная матрицей М1 (см. приложение 2); 2. полученный блок побитно складывается по модулю 2 с матрицей подключа . 1. ключ разбивается на две части по 28 бит; 2. к каждой части применяется подстановка с расширением, заданная матрицей К1 (см. ниже); 3. на вход функции раунда подается правая часть ключа, если раунд номер раунда – нечетное число, иначе подается левая часть ключа; 4. на завершающей стадии алгоритма от правой и левой части ключа откидывется расширение.
      1. блок побитно складывается по модулю 2 с матрицей подключа . 2. к блоку применяется перестановка, заданная матрицей М2 (см. ниже);   1. ключ разбивается на две части по 32 бит, каждая из которых организуется в матрицу 4×8; 2. к содержимому левой части ключа прибавляется содержимое правой части ключа с использованием операции XOR; 3. к правой части ключа применяется перестановка, заданная матрицей К2 (см. ниже); 4. на вход функции раунда подается правая часть ключа, если раунд номер раунда – четное число, иначе подается левая часть ключа;
      1. к блоку применяется перестановка, заданная матрицей М2 (см. ниже); 2. полученный блок побитно складывается по модулю 2 с матрицей подключа . 1. к матрице ключа применяется подстановка, заданная матрицей К2 (см. ниже); 2. каждая -я строка матрицы циклически сдвигается вправо на 2 бит, .



Поделиться с друзьями:


Дата добавления: 2015-06-04; Просмотров: 371; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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