Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_ekzamen.docx
Скачиваний:
9
Добавлен:
15.04.2019
Размер:
2.12 Mб
Скачать

Режим Электронная кодовая книга.

Длинный файл разбивают на 64-битовые отрезки (блоки) по 8 байт. Каждый из этих блоков шифруют независимо с использованием одного и того же ключа шифрования.

Основное достоинство – простота реализации. Недостаток – относительно слабая устойчивость против квалифицированных криптоаналитиков. Из-за фиксированного характера шифрования при ограниченной длине блока 64 бита возможно проведение криптоанализа «со словарем». Блок такого размера может повториться в сообщении вследствие большой избыточности в тексте на естественном языке. Это приводит к тому, что идентичные блоки открытого текста в сообщении будут представлены идентичными блоками шифротекста, что дает криптоаналитику некоторую информацию о содержании сообщения.

Режим Сцепление блоков шифра.

В этом режиме исходный файл M разбивается на 64-битовые блоки:

M = M1M2Mn. Первый блок M1 складывается по модулю 2 с 64-битовым начальным вектором IV, который меняется ежедневно и держится в секрете. Полученная сумма затем шифруется с использованием ключа DES, известного и отправителю, и получателю информации. Полученный 64-битовый шифр C1 складывается по модулю 2 со вторым блоком текста, результат шифруется и получается второй 64-битовый шифр C2 и т.д.

Достоинство данного режима в том, что он не позволяет накапливаться ошибкам при передаче.Mi является функцией только Ci-1 и Ci. Поэтому ошибка при передаче приведет к потере только двух блоков исходного текста.

Схема 3DES:

Режим Обратная связь по шифротексту.

В этом режиме размер блока может отличаться от 64 бит. Файл, подлежащий шифрованию (расшифровыванию), считывается последовательными блоками длиной k бит (k = 1..64).

Входной блок (64-битовый регистр сдвига) вначале содержит вектор инициализации, выровненный по правому краю. Предположим, что в результате разбиения на блоки мы получили n блоков длиной k бит каждый (остаток дописывается нулями или пробелами). Тогда для любого i = 1..n блок шифротекста

обозначает k старших бит предыдущего зашифрованного блока.

Обновление сдвигового регистра осуществляется путем удаления его старших k бит и записи Ci в регистр. Восстановление зашифрованных данных также выполняется относительно просто: Pi-1 и Ci вычисляются аналогичным образом и

Режим Обратная связь по выходу

Этот режим тоже использует переменный размер блока и сдвиговый регистр, инициализируемый так же, как в режиме СРВ, а именно - входной блок вначале содержит вектор инициализации IV, выровненный по правому краю. При этом для каждого сеанса шифрования данных необходимо использовать новое начальное состояние регистра, которое должно пересылаться по каналу открытым текстом.

Положим M = M1M2Mn для всех i = 1..n Ci = Mi Pi , где Pi - старшие k бит операции DES(Ci-1).

Отличие от режима обратной связи по шифротексту состоит в методе обновления сдвигового регистра.

Это осуществляется путем отбрасывания старших k бит и дописывания справа Pi.

Тройной des.

Симметричный блочный шифр, созданный с целью устранения главного недостатка DES— малой длины ключа (56 бит). Скорость работы 3DES в 3 раза ниже, чем у DES, но криптостойкость намного выше — время, требуемое для криптоанализа 3DES, может быть в миллиард раз больше, чем время, нужное для вскрытия DES. 3DES используется чаще, чем DES, который легко ломается при помощи сегодняшних технологий. 3DES является простым способом устранения недостатков DES. Алгоритм 3DES построен на основе DES, поэтому для его реализации можно использовать программы, созданные для DES.

Простой вариант 3DES можно представить так:

29. Хеш-функции, требования к криптографическим хеш-функциям. Хеш-функции с ключом и без ключа.

Хеширование — преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины. Такие преобразования также называются хеш-функциями или функциями свертки, а их результаты называют хешем, хеш-кодом или дайджестом сообщения.

Хэш-функция – это преобразование, получающее из данных произвольной длины некое значение (свертку) фиксированной длины. Простейшими примерами являются контрольные суммы (например, crc32). Бывают криптографические и программистские хэши. Криптографический хэш отличается от программистского следующими двумя свойствами: необратимостью и свободностью от коллизий. Обозначим m - исходные данные, h(m) - хэш от них. Необратимость означает, что если известно число h0, то трудно подобрать m такое, что h(m) = h0. Свободность от коллизий означает, что трудно подобрать такие m1 и m2, что m1 не равно m2, но h(m1) = h(m2).

Криптографические хэш-функции разделяются на два класса:

- хэш-функции без ключа (MDC-коды),

- хэш-функции c ключом (MAC-коды).

Хэш-функции без ключа разделяются на два подкласса:

- слабые хэш-функции,

- сильные хэш-функции.

Слабая хэш-функция - односторонняя функция H(x), удовлетворяющая следующим условиям:

- аргумент x может быть строкой бит произвольной длины;

- значение H(x) должно быть строкой бит фиксированной длины;

- значение H(x) легко вычислить;

- для любого фиксированного x вычислительно невозможно найти другой x x, такой что H(x’) = H(x).

Пара x x, когда H(x’) = H(x) называется коллизией хэш-функции.

Сильной хэш-функцией называется односторонняя функция H(x), удовлетворяющая условиям 1-3 для слабой хэш-функции и свойству 4:

- вычислительно невозможно найти любую пару x x, такой что H(x’) = H(x).

Хэш-функцией с ключом (MAC) называется функция H(k,x), удовлетворяющая свойствам:

- аргумент x функции H(k,x) может быть строкой бит произвольной длины;

- значение H(k,x) должно быть строкой бит фиксированной длины;

- при любых k и x легко вычислить H(k,x);

- для любого x должно быть трудно вычислить H(k,x) не зная k;

- должно быть трудно определить k даже при большом числе неизвестных пар {x, H(k,x)} при выбранном наборе x или вычислить по этой информации H(k,x') для x x.

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

Примеры хеш-функций:

MD2, MD4, MD5, SHA, ГОСТ Р34.11-94

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