- •Способы криптографической защиты информации в радиосвязи методические указания
- •090102 “Компьютерная безопасность”, 090105 “Комплексное обеспечение информационной безопасности
- •Введение
- •Шифрование данных в группе симметричных блочных алгоритмов redoc.
- •Теоретическое введение
- •Алгоритм redoc III
- •Алгоритм зашифрования redoc III
- •Создание таблицы ключей
- •Алгоритм расшифрования redoc III
- •Шифрование данных с помощью генератора Геффе.
- •Теоретическое введение
- •Обобщенный генератор Геффе
- •Описание алгоритма решения задачи Решение данной задачи можно разбить на следующие этапы.
- •Хеширование данных с помощью алгоритма md5.
- •Теоретическое введение
- •Присоединение заполняющих (дополнительных) битов
- •Добавление длины
- •Инициализация md буфера
- •Обработка сообщения в блоках по 16 слов
- •Шифрование данных с помощью алгоритма a5.
- •Теоретическое введение
- •Шифр а5/0.
- •Шифр а5/1
- •Шифр а5/2.
- •Шифр а5/3
- •Шифрование данных с помощью алгоритма Blowfish.
- •Теоретическое введение Функциональное преобразование f(X) сети Фейстеля:
- •Алгоритм шифрования 64-битного блока с известным массивом p и f(X)
- •Алгоритм Blowfish
- •Выбор начального значения p-массива и таблицы замен
- •Шифрование данных с помощью алгоритма seal.
- •Теоретическое введение Обозначения.
- •Длина выхода.
- •Отображение ключа в таблицы.
- •Описание функции генерации таблиц.
- •Псевдослучайная функция.
- •Алгоритм seal (отображение 32-битного индекса в l бит).
- •Процедура инициализации seal.
- •Шифрование данных с помощью алгоритма rc2.
- •Теоретическое введение Структура алгоритма
- •Процедура расширения ключа
- •Шифрование данных с помощью алгоритма cast.
- •Теоретическое введение
- •Библиографический список
- •Содержание
- •Способы криптографической защиты
- •090102 “Компьютерная безопасность”, 090105 “Комплексное обеспечение информационной безопасности
- •394026 Воронеж, Московский просп., 14
Шифрование данных с помощью алгоритма cast.
Цель работы: изучить методы шифрования данных в алгоритме CAST и освоить их практическое применение.
Теоретическое введение
Описываемый алгоритм CAST использует 64-битовый блок и 64-битовый ключ.Алгоритм использует шесть S-блоков с 8-битовым входом и 32-битовым выходом. Работа этих S-блоков сложна и зависит от реализации.
Для шифрования сначала блок открытого текста разбивается на левую и правую половины. Алгоритм состоит из 8 этапов. На каждом этапе правая половина объединяется с частью ключа с помощью функции f, а затем XOR результата и левой половины выполняются для получения новой правой половины. Первоначальная (до этапа) правая половина становится новой левой половиной.После 8 этапов ( не переставлять левую и правую половины после восьмого этапа) две половины объединяются, образуя шифротекст. Функция f проста:
Разбить 32-битовый вход на четыре 8-битовых части: a, b, c, d.
Разбить 16-битовый подключ на две 8-битовых половины: e, f.
Подать a на вход S-блока 1, b – на вход S-блока 2, с – на вход S-блока 3, d – на вход S-блока 4, e – на вход S-блока 5 и f – на вход S-блока 6.
Выполнить XOR шести выходов S-блоков, получая 32-битовый результат.
И
33
16-битовые подключи этапов легко получаются из 64-битового ключа. Если k1, k2, . . . k8 – это 8 байтов ключа, то на этапах алгоритма используются следующие подключи:
Этап 1: k1, k2.
Этап 2: k3, k4.
Этап 3: k5, k6.
Этап 4: k7, k8.
Этап 5: k4, k3.
Этап 6: k2, k1.
Этап 7: k8, k7.
Этап 8: k6, k5.
Сила этого алгоритма заключена в его S-блоках. У CAST нет фиксированных S- блоков, для каждого приложения они конструируются заново. Изогнутыми функциями являются столбцы S-блоков, обеспечивающие необходимые свойства S-блоков. Созданный для данной реализации CAST S-блоков уже больше никогда не меняется. S-блоки зависят от реализации, а не от ключа.
Задание:
Используя алгоритм шифрования данных CAST, написать программу шифрования и дешифрования произвольного набора символов на любом языке программирования.
Порядок выполнения работы:
написать на языке программирования функцию шифрования, в которую в качестве параметров передается ключ и символ (или строка символов) исходного текста.
написать функцию дешифрования, в которую в качестве параметров передается ключ и символ (или строка символов) зашифрованного текста.
Оформление отчета:
В отчете следует привести краткие теоретические сведения. Кроме того, должны быть представлены: краткая блок-схема, текст программы, шифруемый набор символов, результаты выполнения программы.
34
Контрольные вопросы:
В чем заключается суть метода шифрования CAST?
Из скольких этапов состоит вычисление функции f?
В чем заключена сила алгоритма CAST?