Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
второй модуль криптология.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.49 Mб
Скачать
  1. Какие существуют типы сеансовых ключей?

Типы сеансовых ключей в зависимости сферы их действия, например:

  • ключи для шифрования данных, используемые при пересылке через с данных общего назначения;

  • ключи для шифрования личных идентификационных номеров (PIN-кодов) используемые при передаче данных в системах электронных платежей и электронной коммерции;

  • ключи для шифрования файлов, используемые для шифрования файлов хранящихся в общедоступных местах.

  1. Дайте определения управляющему вектору.

Управляющий вектор генерируется с использованием алгоритма BBS. Разрядность вектора – 160 бит. Управляющий вектор криптографическими средствами связывается с ключом во время создания ключа в ЦРК.

  1. Опишите схему управления ключами с использованием управляющего вектора.

Более гибкая схема называется схемой на основе управляющего век­тора. В этой схеме каждый сеансовый ключ ассоциируется с управляющим вектором, состоящим из ряда полей, описываю­щих возможности применения и ограничения для данного сеансового ключа. Длина управляющего вектора может меняться.

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

  1. В чем недостатки и преимущества привлечения центра распределения ключей в схемы обмена сеансовыми ключами шифрования?

Наряду с сеансовым ключом пользователю от ЦРК доставляется управляю­щий вектор в открытой форме. Сеансовый ключ можно восстановить только при наличии и главного ключа, общего для данного пользователя и ЦРК, и управ­ляющего вектора. Таким образом поддерживается связь между сеансовым клю­чом и соответствующим ему управляющим вектором. По сравнению с использованием 8-битового признака применение управляю­щего вектора имеет два преимущества. Во-первых, нет ограничения на длину управляющего вектора, что при использовании ключей дает возможность осуще­ствлять контроль любой сложности. Во-вторых, управляющий вектор оказывает­ся доступным в открытом виде на всех стадиях, вследствие чего функции кон­троля за использованием ключей можно разместить в самых разных точках.

        1. Что называют симметрическим шифрованием?

Симметричное шифрование использует один и тот же ключ как для зашифровывания, так и для расшифровывания информации.

        1. Проведите классификацию методов симметричного шифрования.

Блочное шифрование характеризуется тем, что информация предварительно разбивается на блоки фиксированной длины (например, 64 или 128 бит). DES, New DES, AES, Blowfish, RC2, CAST, ГОСТ 28147-89

Поточное шифрование применяется, прежде всего, тогда, когда информацию невозможно разбить на блоки — скажем, есть некий поток данных, каждый символ которых требуется зашифровать и отправить, не дожидаясь остальных данных, достаточных для формирования блока. RC4, ARC4, DESS, IBAA, JEROBOAM, ISAAK, Rabbit

        1. Блочные шифры. Параметры блочного шифра.

Блочный шифр состоит из двух парных алгоритмов: шифрования и расшифрования. [8] Оба алгоритма можно представить в виде функций. Функция шифрования E (англ. encryption — шифрование) на вход получает блок данных M (англ. message — сообщение) размером n бит и ключ K (англ. key — ключ) размером k бит и на выходе отдает блок шифротекста C (англ. cipher — шифр) размером n бит:

Для любого ключа KEK является биективной функцией (перестановкой) на множестве n-битных блоков. Функция расшифрования D (англ. decryption — расшифрование) на вход получает шифр C, ключ K и на выходе отдает M:

являясь, при этом, обратной к функции шифрования:

 и

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

        1. Общая схема работы блочного шифра.

Большинство блочных шифров являются итеративными. Это означает, что данный шифр преобразует блоки открытого текста (англ. plaintext) постоянной длины в блоки шифротекста (англ. ciphertext) той же длины посредством циклически повторяющихся обратимых функций, известных как раундовые функциии. [10] Это связано с простотой и скоростью исполнения как программных, так и аппаратных реализаций. Обычно раундовые функции используют различные ключи, полученные из первоначального ключа:

,

где Ci — значение блока после i-го раунда, C0 = M — открытый текст, Ki — ключ, используемый в i-м раунде и полученный из первоначального ключа K.

Размер блока n — это фиксированный параметр блочного шифра, обычно равный 64 или 128 битам, хотя некоторые шифры допускают несколько различных значений.

        1. Что такое раунд и подключ блочного шифра?

Типичный блочный шифр преобразует открытый текст, представленный в виде последовательности битов (нулей и единиц), по блокам фиксированной длины s, чаще всего s равно 64 или 128 бит. Секретный ключ также представляет собой битовую последовательность (обычно длиной 128 или 256), из которой по определенному для каждого шифра механизму получается набор из R подключей. Процедура шифрования носит итеративный характер и заключается в R-кратном выполнении некоторого относительно «слабого» преобразования, которое зависит от своего подключа и называется раундом шифрования. Раунды могут быть как одинаковыми, так и различными. Чем больше их выполнено, тем надежней, но медленней становится шифр, поэтому его создатель определяет такое количество раундов, которое обеспечивает и безопасность, и быстродействие алгоритма.

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

Див. питання 43, 44

        1. Поточные шифры.

Пото́чный шифр — это симметричный шифр, в котором каждый символ открытого текста преобразуется в символ шифрованного текста в зависимости не только от используемого ключа, но и от его расположения в потоке открытого текста. Поточный шифр реализует другой подход к симметричному шифрованию, нежели блочные шифры.

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

Расшифрование производится операцией XOR между той же самой гаммой и зашифрованным текстом:  .

Примеры: RC4, ARC4, DESS, IBAA, JEROBOAM, ISAAK, Rabbit

        1. Схема Фейстеля.

Сеть Фейстеля — это общий метод преобразования произвольной функции F в перестановку на множестве блоков. [15] Она состоит из циклически повторяющихся ячеек — раундов. Внутри каждого раунда блок открытого текста разделяется на две равные части. Раундовая функция

Шифрование в ячейке Фейстеля

Расшифрование в ячейке Фейстеля

берет одну половину (на рис. правую), преобразует её с использованием ключа Ki и объединяет результат с второй половиной посредством операции исключающее ИЛИ (XOR). Этот ключ задаётся первоначальным ключом K и различен для каждого раунда. Далее половинки меняются местами (иначе будет преобразовываться только одна половина блока) и подаются на следующий раунд. Преобразование сети Фейстеля является обратимой операцией.

Для функции F существуют определенные требования:

её работа должна приводить к лавинному эффекту

должна быть нелинейна по отношению к операции XOR

В случае невыполнения первого требования, сеть будет подвержена дифференциальным атакам (похожие сообщения будут иметь похожие шифры). Во втором случае действия шифра линейны и для взлома достаточно решения системы линейных уравнений. [3]

Подобная конструкция обладает ощутимым преимуществом: процедуры шифрования/расшифрованиясовпадают, только производные от первоначального ключи используются в обратном порядке. Это значит, что одни и те же блоки могут использоваться как для шифрования, так и для расшифрования, что, безусловно, упрощает реализацию шифра. Недостаток схемы заключается в том, что в каждом раунде обрабатывается только половина блока, что приводит к необходимости увеличивать число раундов

        1. Понятие подстановочно-перестановочных сетей.

SP-сеть (Substitution-Permutation network, подстановочно-перестановочная сеть) — разновидность блочного шифра, предложенная в 1971 году Хорстом Фейстелем. В простейшем варианте представляет собой «сэндвич» из слоёв двух типов, используемых многократно по очереди. Первый тип слоя — P-слой, состоящий из P-блока большой разрядности, за ним идёт второй тип слоя — S-слой, представляющий собой большое количество S-блоков малой разрядности, потом опять P-слой и т. д. Первым криптографическим алгоритмом на основе SP-сети был «Люцифер» (1971). В настоящее время из алгоритмов на основе SP-сетей широко используется AES (Rijndael). Альтернативой SP-сетям являются сети Фейстеля.

Упрощённая схема S- и P-слоёв в алгоритме «Люцифер»(Июнь 1971)

В современных алгоритмах вместо S- и P-блоков используются различные математические или логические функции. Любая двоичная функция может быть сведена к S-блоку, некоторые функции - к P-блоку. Например к P-блоку сводитсяциклический сдвиг, сам P-блок является частным случаем S-блока. Такие функции, как правило, легко реализуются в аппаратуре, обеспечивая при этом, хорошую криптостойкость. Примеры: SQUARE Threefish Rainbow SAFER

  1. Алгоритмы со структурой "квадрат" (Square).

Для структуры "квадрат" характерно представление шифруемого блока данных в виде двумерного байтового массива. Криптографические преобразования могут выполняться над отдельными байтами массива, а также над его строками или столбцами.

Структура алгоритма получила свое название от алгоритма Square. Алгоритм Rijndael также имеет Square-подобную структуру; также в качестве примера можно привести алгоритмы Shark и Crypton. Недостатком алгоритмов со структурой "квадрат" является их недостаточная изученность, что не помешало алгоритму Rijndael стать новым стандартом США.

Рис. 5. Алгоритм Rijndael.

На рис. 5 приведен пример операции над блоком данных, выполняемой алгоритмом Rijndael.