Курсовая работа: Защита информации от несанкционированного доступа
Гаммирование – процес наложения гаммы шифра на открытые данные.
Зашифровывание – процесс преобразования открытых данных в закрытые с помощью шифра и ключа.
Расшифровывание – процедура преобразования закрытых данных в открытые с помощью шифра и ключа.
Шифрование – зашифровывание и (или) расшифровывание.
Дешифрование – совокупность действий по преобразованию закрытых данных в открытые без знания ключа и (или) алгоритма зашифровывания.
Имитозащита – защита от ложной информации. Осуществляется по собственным алгоритмам, с помощью выработки имитовставки.
Имитовставка – последовательность данных определенной длины, полученных специальными методами гаммирования из открытых исходных данных. Содержимое имитовставки является эталоном для проверки всей остальной информации.
3. Выбор методов шифрования
Для шифрования информации в программу встроены следующие алгоритмы:
- ГОСТ 28147-89 - стандарт шифрования Российской Федерации. В программе используется два режима кодирования – режим простой замены и режим гаммирования. Данные кодируются по 64 бита (8 байт) с помощью 256-битного (32-байтного) ключа.
- Два простых метода, вложенных как пример построения модулей для программы. Кодирование по 64 бит, ключ – 64 бит.
Программа может быть дополнена алгоритмами кодирования, т.е. рекомпилирована с дополнительными модулями. В дальнейших версиях предполагается создание модульных расширений (plug-in) для программы, которые будут содержать дополнительные алгоритмы криптографических преобразований.
Рассмотрим подробнее алгоритм криптографического преобразования ГОСТ 28147-89. Ключ состоит из восьми 32-битных элементов, рассматриваемых как беззнаковые целые числа. Таким образом, ключ составляет 256 бит или 32 байта. При шифровании используется таблица замен, являющейся матрицей 8х16, содержащей 4-битовые элементы (числа от 0 до 15). Основной шаг криптопреобразования – оператор, определяющий преобразование 64-битового блока. Дополнительным параметром этого оператора является 32-битный блок, в качестве которого используется какой – либо элемент ключа.
Алгоритм основного шага криптопреобразования
Рисунок 3.1 Схема основного шага криптопреобразования алгоритма ГОСТ 28147-89. |
Шаг 0. Определяет исходные данные для основного шага криптопреобразования: N –преобразуемый 64-битовый блок данных, в ходе выполнения шага его младшая (N1 ) и старшая (N2 ) части обрабатываются как отдельные 32-битовые целые числа без знака. Таким образом, можно записать N=(N1 ,N2 ). X – 32-битовый элемент ключа;
Шаг 1. Сложение с ключом. Младшая половина преобразуемого блока складывается по модулю 232 с используемым на шаге элементом ключа, результат передается на следующий шаг;
Шаг 2. Поблочная замена. 32-битовое значение, полученное на предыдущем шаге, интерпретируется как массив из восьми 4-битовых блоков кода: S=(S0 ,S1 ,S2 ,S3 ,S4 ,S5 ,S6 ,S7 ). Далее значение каждого из восьми блоков заменяется на новое, которое выбирается по таблице замен следующим образом: значение блока Si заменяется на Si -тый по порядку элемент (нумерация с нуля) i-того узла замен (т.е. i-той строки таблицы замен, нумерация также с нуля). Другими словами, в качестве замены для значения блока выбирается элемент из таблицы замен с номером строки, равным номеру заменяемого блока, и номером столбца, равным значению заменяемого блока как 4-битового целого неотрицательного числа.
Шаг 3. Циклический сдвиг на 11 бит влево. Результат предыдущего шага сдвигается циклически на 11 бит в сторону старших разрядов и передается на следующий шаг. На схеме алгоритма символом 11 обозначена функция циклического сдвига своего аргумента на 11 бит в сторону старших разрядов.
Шаг 4. Побитовое сложение: значение, полученное на шаге 3, побитно складывается по модулю 2 со старшей половиной преобразуемого блока.
Шаг 5. Сдвиг по цепочке: младшая часть преобразуемого блока сдвигается на место старшей, а на ее место помещается результат выполнения предыдущего шага.
Шаг 6. Полученное значение преобразуемого блока возвращается как результат выполнения алгоритма основного шага криптопреобразования.
Базовые циклы:
- цикл выработки имитовставки (0123456701234567)
Для каждого элемента данных выполняется основной шаг криптографического преобразования с элементами ключа, порядок Базовые циклы построены из основных шагов криптографического преобразования. Существует всего три базовых цикла, различающиеся порядком следования ключевых элементов:
- цикл зашифрования (01234567012345670123456776543210)
- цикл расшифрования (01234567765432107654321076543210)
следования которых приведен выше. Для циклов шифрования левая и правая половины блока меняются местами, для цикла выработки имитовставки – нет.