Основы ИБ. Лекции 1. Криптография с симметричными ключами. Лекция. Криптография с симметричными ключами. Шифры подстановки Шифр Цезаря
Скачать 431.82 Kb.
|
1 Лекция. Криптография с симметричными ключами. Шифры подстановки Шифр Цезаря http://ru.wikipedia.org/wiki/Шифр_Цезаря Используется подстановка (замена) букв из измененного алфавита. В классическом варианте алфавит получают с помощью сдвига букв на три позиции. С точки зрения современной парадигмы, можно выделить: алгоритм (замена букв из полученного с помощью сдвига алфавита) ключ - k (величина сдвига) Пример: зашифрованный текст с различными ключами. k=0 зашифрованный текст с различными ключами k=1 ибщйхспгбооьк уёлту т сбимйшоьнй лмяшбнй k=2 йвъкцтрдвппэл фжмуф у твйнкщпэок мнащвок k=3 кгылчусегррюм хзнфх ф угколърюпл нобъгпл k=4 лдьмшфтёдссян циохц х фдлпмысярм опвыдрм k=5 меэнщхужеттао чйпцч ц хемрньтасн пргьесн k=6 нёюоъцфзёуубп шкрчш ч цёнсоэубто рсдэёто Шифр Виженера http://ru.wikipedia.org/wiki/Шифр_Виженера Используется несколько алфавитов. Исходный текст: HELLOWORLD Создается ключевое слово: WELCOM Ключевое слово повторяется циклически до заполнения всего исходного текста.
Берем букву исходного теста, выбираем алфавит соответствующий букве ключевого слова, и делаем замену из этого алфавита.
Получили зашифрованный текст: DIWNCIKVWF Шифр Вернама (одноразовые блокноты) http://ru.wikipedia.org/wiki/Одноразовый_блокнот Каждая страница блокнота является ключом и используется один раз. Ключ должен обладать тремя свойствами: быть истинно случайным совпадать по размеру с заданным исходным текстом применяться только один раз Пример ключа: Алгоритм: Зашифруем исходный текст "HELLO" ключом "XMCKL" Каждой букве присваивается порядковый номер в алфавите "A" => 0, "B" => 1 и т.д. H E L L O исходный текст 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) исходный текст + 23 (X) 12 (M) 2 (C) 10 (K) 11 (L) ключ = 30 16 13 21 25 исходный текст + ключ = 4 (E) 16 (Q) 13 (N) 21 (V) 25 (Z) исходный текст + ключ (mod 26) E Q N V Z - зашифрованный текст Если число больше 25, то начинают снова с начала алфавита, записывается остаток после вычитания 26 (30-26=4). Расшифровка: E Q N V Z зашифрованный текст 4 (E) 16 (Q) 13 (N) 21 (V) 25 (Z) зашифрованный текст - 23 (X) 12 (M) 2 (C) 10 (K) 11 (L) ключ = -19 4 11 11 14 зашифрованный текст — ключ = 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) зашифрованный текст — ключ (mod 26) H E L L O исходный текст Если число отрицательное то прибавляется 26 (-19+26=7) Шифры перестановки исходный текст: простой шифр перестановки
шифрованный текст: птиетв рофрак ойрени сшпсо Алгоритм: запись по столбцам, считывается по строкам. Секретный ключ - размер таблицы. Поточные шифры http://ru.wikipedia.org/wiki/Поточный_шифр Генератор гаммы выдает ключевой поток бит (гамму), который, например, складывается (XOR-ИСКЛЮЧАЮЩЕЕ ИЛИ) с потоком открытого текста. Рис. Принцип работы поточного шифра Шифр Вернама (одноразовые блокноты) тоже является поточным шифром. Алгоритм XOR Работает с двоичным кодом. правило: 0+0=0 0+1=1 1+0=1 1+1=0 исходный текст: Wiki Wiki переведем в двоичный код - 01010111 01101001 01101011 01101001 Секретный ключ: 11110011 11110011 11110011 11110011 Шифрование: 01010111 01101001 01101011 01101001 - открытый текст 11110011 11110011 11110011 11110011 - секретный ключ 10100100 10011010 10011000 10011010 - шифрованный текст Расшифрование: 10100100 10011010 10011000 10011010 - шифрованный текст 11110011 11110011 11110011 11110011 - секретный ключ 01010111 01101001 01101011 01101001 - открытый текст Блочные шифры http://ru.wikipedia.org/wiki/Блочный_шифр Данные шифруются блоками. DES (Data Encryption Standard) http://ru.wikipedia.org/wiki/DES Данные шифруются блоками с размером 64 бит Ключ: 56-бит. Начальная перестановка Исходный текст T (блок 64 бит) преобразуется c помощью начальной перестановки IP которая определяется таблицей 1: Таблица 1. Начальная перестановка IP
В таблице новый порядок расположения бит в блоке. Номера это старый порядок (исходный блок). Циклы шифрования После начальной перестановки 64-битовый блок данных IP(T) участвует в 16-циклах преобразования Фейстеля. — 16 циклов преобразования Фейстеля. Основная функция шифрования (функция Фейстеля) Блок данных IP(T) разбивается на две части по 32 бита L0 - левую, R0-правую. Правая часть данных копируется в левую часть без изменений. Левая часть складывается по модулю два (xor - ИСКЛЮЧАЮЩЕЕ ИЛИ) с выходом из f-функции. f-функция: 1) Функция Е расширяет 32-битовый вектор Ri - 1 до 48-битового вектора E(Ri - 1) путем дублирования некоторых битов из Ri - 1; при этом порядок битов вектора E(Ri - 1) указан в таблице 2. Таблица 2. Функция расширения E
|