Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RAS_GRAF_RAB.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
657.41 Кб
Скачать

РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА ПО ДИСЦИПЛИНЕ «ПРИКЛАДНАЯ КРИПТОЛОГИЯ»

Тема: криптографическая система обеспечения целостности и конфиденциальности.

Задание: реализовать криптографическое преобразование открытого текста с помощью системы, обеспечивающей конфиденциальность и целостность. Детали реализации:

  1. Структура схемы определяется согласно варианту.

  2. Вид функции симметричного шифрования – разрядность блока данных , разрядность ключа , вид функции раунда и функции вычисления подключа – определяется согласно варианту. Количество раундов шифрования – 2. Расчеты проводятся вручную с описанием промежуточных результатов на каждом этапе обработки.

  3. Вид функции хэширования определяется согласно варианту. Длина дайджеста – 8 бит. Расчеты проводятся вручную с описанием промежуточных результатов на каждом этапе обработки.

  4. Ключ симметричного шифрования генерируется согласно с алгоритмом BBS. Генерация ключевого материала проводится с помощью программного модуля.

  5. Длина секретного значения (для схемы (3)) составляет 8 бит. генерируется согласно с алгоритмом Лемера. Генерация ключевого материала проводится с помощью программного модуля.

  6. В качестве открытого текста выбрать первые 6 символов гаммы «фамилияимя».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]