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

10.2.1. Симметричные алгоритмы шифрования.

Симметричные алгоритмы шифрования - способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. Ключ алгоритма должен сохраняться в секрете обеими сторонами. Алгоритм шифрования выбирается сторонами до начала обмена сообщениями. Шифрование и расшифрование в симметричных криптографических алгоритмах задаются формулами:

Е к (Р) = С

D k (E k (P)) = P

Схема процесса передачи сообщения приведена на рис. 12.2. Симметричное шифрование можно применять как при отправке сообщений между двумя пользователями, разделенными расстоянием, так и при отправке «посланий» пользователем самому себе, но во времени (шифрование файлов на жестких дисках и сменных носителях).

Симметричные алгоритмы шифрования бывают двух видов:

- потоковые алгоритмы (обрабатывают открытый текст побитно);

- блочные алгоритмы (открытый текст разбивается на блоки, состоящие из нескольких бит).

Потоковые алгоритмы получив порцию из произвольного количества бит - выполняют шифрование/дешифрование. Удобны в каналах последовательной связи. Реализуются программно и аппаратно.

Генератор гаммы выдаёт ключевой поток (гамму). Поток битов шифротекста получается с помощью применения операции XOR. Расшифрование производится операцией XOR между той же самой гаммой и зашифрованным текстом. Если последовательность битов гаммы не имеет периода и выбирается случайно, то взломать шифр невозможно. Ключи, сравнимые по длине с передаваемыми сообщениями, трудно использовать на практике. Поэтому обычно применяют ключ меньшей длины (128 бит). С помощью него генерируется псевдослучайная гаммирующая последовательность.

RC4 (Rivest Cipher 4) - потоковый шифр, широко применяющийся в различных системах защиты информации в компьютерных сетях (в протоколах SSL и TLS, алгоритме безопасности беспроводных сетей WEP, для шифрования паролей в Windows NT). Алгоритм RC4 строится как и любой потоковый шифр на основе параметризованного ключом генератора псевдослучайных битов с равномерным распределением. Длина ключа может составлять от 40 до 256 бит.

Основные преимущества шифра - высокая скорость работы и переменный размер ключа. RC4 довольно уязвим, если используются не случайные или связанные ключи, один ключевой поток используется дважды. Эти факторы, а также способ использования могут сделать криптосистему небезопасной (WEP).

Ядро алгоритма состоит из функции генерации ключевого потока. Эта функция генерирует последовательность битов (ki), которая затем объединяется с открытым текстом (mi) посредством суммирования по модулю два. Так получается шифрограмма (ci):

.

Расшифровка заключается в регенерации этого ключевого потока (ki) и сложении его и шифрограммы (ci) по модулю два. В силу свойств суммирования по модулю два на выходе мы получим исходный незашифрованный текст(mi):

Другая главная часть алгоритма — функция инициализации, которая использует ключ переменной длины для создания начального состояния генератора ключевого потока.

RC4 - фактически класс алгоритмов, определяемых размером его блока. Этот параметр n является размером слова для алгоритма. Обычно, n = 8, но в целях анализа можно уменьшить его. Однако для повышения безопасности необходимо увеличить эту величину. Внутреннее состояние RC4 представляется в виде массива слов размером 2n и двух счетчиков, каждый размером в одно слово. Массив известен как S-бокс, и далее будет обозначаться как S. Он всегда содержит перестановку 2n возможных значений слова. Два счетчика обозначены через i и j.

Алгоритм инициализации RC4 приведен ниже. Этот алгоритм также называется алгоритмом ключевого расписания (Key-Scheduling Algorithm or KSA). Этот алгоритм использует ключ, сохраненный в Key, и имеющий длину l байт. Инициализация начинается с заполнения массива S, далее этот массив перемешивается путем перестановок определяемых ключом. Так как только одно действие выполняется над S, то должно выполняться утверждение, что S всегда содержит все значения кодового слова.

В блочные алгоритмах - преобразования могут применяться только над информацией строго определенного объема. Размер блока равен 64, 128, 256 бит. Блочное шифрование получило более широкое распространение из-за развития вычислительной техники. Реализуются программно.

Блочный шифр представляет собой закон отображения множества входных блоков исходного текста на множество блоков зашифрованного текста. Закон сильно зависит от секретного ключа шифрования.

Количество бит в обрабатываемом блоке называется разрядностью блока, количество бит в ключе - размером ключа блока. Наиболее популярная разрядность блока - 64 и 128 бит. Размер ключа - это 128, 192 или 256 бит.

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