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

8.Опишите операцию изменения буферного слова abcd в каждом раунде алгоритма md5.

Каждый раунд складывается из последовательности 16 операций с данными буфера ABCD. Каждая такая операция имеет вид

,

где

а, b, с, d — четыре слова буфера в определенном порядке, изменяющихся в процессе работы,

- одна из примитивных функций F, G, Н, I,

— циклический сдвиг влево (поворот) 32-битового аргумента на 5 бит,

- -е 32-битовое слово в -м 512-битовом блоке сообщения.

- -е 32-битовое слово в матрице ,

9. Опишите общую структуру алгоритма хэширования sha1.

Алгоритм получает на вход сообщение, максимальная длина которого должна быть меньше 264 битов, и выдает на выход 160-битовый профиль сообщения. Вводимые данные обрабатываются 512-битовыми блоками.

Шаг 1. Добавление битов заполнителя. Сообщение дополняется так, чтобы его общая длина в битах была сравнима со значением 448 по модулю 512 (т.е. длина ≡ 448 mod 512 ).

Шаг 2. Добавление значения длины. К сообщению добавляется 64-битовый блок

Шаг 3. Инициализация буфера МD.(5 32-битовых регист­ров (А, В, С, D, Е))

Шаг 4. Обработка сообщения 512-битовыми блоками (блоками по 16 слов).

Шаг 5. Вывод. После обработки всех L 512-битовых блоков на выходе Lстадии обработки получается 160-битовый профиль сообщения.

10. Опишите операцию изменения буферного слова abcde в каждом раунде алгоритма sha1.

Каждый раунд имеет вид:

А, В, С, D, Е ← (Е + f(t, В, С, D) + S5(А) + Wt + Кt), А, S30(В), С, D ,

где

А, В, С, D, Е – пять слов буфера,

t – номер шага,

f(t, В, С, D) – примитивная логическая функция для шага t,

Sk – циклический сдвиг влево (вращение) 32-битового аргумента на k битов,

Wt – 32-битовое слово, извлеченное из текущего 512-битового блока ввода,

Кt – добавляемая константа; как уже отмечалось, используетсячетыре различных значения,

+ - сложение по модулю 232.

11-

12 Проведите краткий сравнительный анализ алгоритмов хэширования SHA1 и MD5.

И MD5, и SHA-1 являются, по сути, улучшенными продолжениями MD4.

Сходства:

  1. Четыре этапа.

  2. Каждое действие прибавляется к ранее полученному результату.

  3. Размер блока обработки равный 512 бит.

  4. Оба алгоритма выполняют сложение по модулю 232, они рассчитаны на 32-битную архитектуру.

Различия:

  1. В SHA-1 на четвертом этапе используется та же функция f, что и на втором этапе.

  2. В MD5 в каждом действии используется уникальная прибавляемая константа. В SHA-1 константы используются повторно для каждой из четырех групп.

  3. В SHA-1 добавлена пятая переменная.

  4. SHA-1 использует циклический код исправления ошибок.

  5. В MD5 четыре сдвига, используемые на каждом этапе отличаются от значений, используемых на предыдущих этапах. В SHA на каждом этапе используется постоянное значение сдвига.

  6. В MD5 четыре различных элементарных логических функции, в SHA-1 — три.

  7. В MD5 длина дайджеста составляет 128 бит, в SHA-1 — 160 бит.

  8. SHA-1 содержит больше раундов (80 вместо 64) и выполняется на 160-битном буфере по сравнению со 128-битным буфером MD5. Таким образом, SHA-1 должен выполняться приблизительно на 25 % медленнее, чем MD5 на той же аппаратуре.

Брюс Шнайер делает следующий вывод : «SHA-1 — это MD4 с добавлением расширяющего преобразования, дополнительного этапа и улучшенным лавинным эффектом. MD5 — это MD4 с улучшенным битовым хешированием, дополнительным этапом и улучшенным лавинным эффектом.»

13

При этом те биты, которые являются переменными функции обратной связи, принято называть отводами.

14

Последовательность называется периодической с периодом T, если для всех n, начиная с некоторого,

выполняется условие an+T = an. Начало последовательности (до первого элемента, входящего в период) называется

предпериодом. Стоит отметить, что если T период, то 2T, 3T — тоже периоды.

15 Ассоциированые многочлены являются каноническими решениями Уравнения Лагерра: являющегося линейным дифференциальным уравнением второго порядка. 

16

Свойства последовательности битов, генерируемой РСЛОС, зависят от ассоциированного многочлена:

- Если старший коэффициент ассоциированного многочлена = 0, то периодичность генерируемой последовательности может проявляться не сразу.

- Если = 1, то соответствующая последовательность называется неособой. Она будет периодичной с самого начала, т.е. равенство выполнено для всех г, а не только для достаточно больших. Наиболее интересны неособые последовательности, соответствующие многочленам со следующими дополнительными свойствами:

• Когда С(Х) неприводим, при любом ненулевом начальном состоянии регистра период генерируемой последовательности равен наименьшему числу N, при котором многочлен С(Х) делит 1 + Как следствие, период последовательности будет делить число — 1.

• Если С(Х) примитивен, то любое ненулевое начальное состояние регистра дает последовательность с максимально возможным периодом — 1.

17 Что такое неособая последовательность?

Наиболее интересны неособые последовательности, соответствующие многочленам со следующими дополнительным свойством: когда неприводим, при любом ненулевом начальном состоянии регистра период генерируемой последовательности равен наименьшему числу , при котором многочлен делит 1 . Как следствие, период последовательности будет делить число 2 -1

18 Что такое линейная сложность?

Линейная сложность бинарной последовательности является важным показателем её качества и определяется как длина самого короткого линейного регистра сдвига с обратной связью, который может воссоздать последовательность, т. е. если X = {Xi : i = 0,1,...} —последовательность с периодом N над полем GF(2), то её линейная сложность определяется как наименьшее натуральное L, для которого существуют константы c1,...,cL G GF(2), такие, что xi = CiXi-i + c2xi-2 + ... + cLxi-L для всех i, L ^ i < N [1]. Последовательности, обладающие высокой линейной сложностью, важны для криптографических приложений. Известны алгоритмы определения линейной сложности последовательности, например алгоритм Берлекэмпа — Месси [1]. В то же время для ряда периодических последовательностей, сформированных на основе классов степенных вычетов, линейная сложность определяется видом периода последовательности 

19

20 Чем определяется стойкость системы основанной, на использовании РСЛОС.

использование нелинейной функции, объединяющей выходы нескольких РСЛОС использование нелинейной фильтрующей функции для содержимого каждой ячейки единственного РСЛОС использование выхода одного РСЛОС для управления синхросигналом одного (или нескольких) РСЛОС.

22.Что такое генератор ключевого потока? Опишите его основные свойства.

Генератор ключевого потока - Устройство или программа, генерирующие секретный ключ с очень большим периодом повторения. Для генераторов ключевого потока стоит проблема линейной сложности - проблема определения структуры обратных связей в генераторе на основе максимально короткого регистра сдвига с тем, чтобы получить ключевую последовательность максимальной длины.

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

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

Как минимум, ключевой поток должен:

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

  • Иметь псевдо-случайные свойства. Генератор должен производитьпоследовательность, которая кажется случайной. Другими словами, генерируемая последовательность должна выдержать определенное число статистических тестов на случайность.

  • Обладать линейной сложностью. Далее мы объясним значение этого термина.

23.Нарисуйте схему комбинированного РСЛОС.

Комбинированые РСЛОС

На практике используют несколько регистров с линейной обратной связью одновременно, генерируя совокупность последовательностей . Ключом такого способа эксплуатации служит начальное положение всех РСЛОС, а генериние РСЛОС руемый поток битов получается в результате применения нелинейной комбинирующей функции к их выходным последовательностям, как показано на рис. 5.

  1. Опишите структуру потокового шифра RC-4.

Преимущество RC4 в том, что он может быть легко реализован программно.

RC4 использует последовательность чисел от 0 до 255 в массиве , который изменяется при работе алгоритма.

Алгоритм состоит из двух процессов:

1. Алгоритм установки ключа (Key Scheduling Algorithm, KSA) для установки начального значения массива .

2. Алгоритм генерации псевдослучайных чисел (PRGA) для случайного выбора элементов массива и изменения массива .

Key Scheduling Algorithm

  1. KSA начинает работу с инициализации таким образом, что для от 0 до 255.

  2. Секретный ключ задается набором чисел, которые помещаются в ключевой массив , также содержащий 255 элементов. Обычно выбирают короткую последовательность чисел, которая затем повторяется до заполнения .

  3. Ключевой массив используется для преобразования по следующей схеме:

    1. Параметру присваивается нулевое значение.

    2. Для от 0 до 255 выполняются следующие действия:

      • и меняются местами.

Алгоритм генерации ПСЧ (PRGA)

Когда работа KSA закончена, алгоритм генерации ПСЧ (PRGA) генерирует байты псевдослучайного ключевого потока, выбирая случайные элементы массива и изменяя для следующей выборки:

  1. Параметры обнуляются.

  2. Следующий алгоритм используется для генерации каждого байта случайного потока:

    1. и меняются местами;

Простой пример алгоритма RC4 можно создать, используя 3-разрядные числа (диапазон чисел от 0 до 7) и операцию mod8 вместо операции mod 256.

25. Каким образом происходит формирование случайной ключевой последовательности в RC-4?

Алгоритм генерации ПСЧ (PRGA)

Когда работа KSA закончена, алгоритм генерации ПСЧ (PRGA) генерирует байты псевдослучайного ключевого потока, выбирая случайные элементы массива и изменяя для следующей выборки:

  1. Параметры обнуляются.

  2. Следующий алгоритм используется для генерации каждого байта случайного потока:

    1. и меняются местами;

27. Что такое криптостойкость?

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

28.Какие виды стойкости существуют?

Существуют три вида стойкости:

- теоретико-информационная или абсолютная стойкость;

- семантическая стойкость;

- полиномиальная стойкость.

Обсудим каждый из них поочередно.

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

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

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

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

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

29.Какие виды атак на криптосистему вам известны?

Теперь следует ввести различные модели атак. Существует три основных модели:

- пассивная атака, или атака с выбором открытого текста, СРА (от англ. chosen plaintext attack);

- атака с выбором шифротекста, ССА1 (от англ. chosen ciphertext attack);

- адаптивная атака с выбором шифротекста, ССА2 (от англ. adaptive chosen ciphertext attack).

Пассивная атака. Пассивная атака – очень слабая форма атаки. Злоумышленнику разрешается просматривать различные шифрованные сообщения. Кроме того, ему открыт доступ к «черному ящику», осуществляющему шифрование, но не расшифровывание. Таким образом, пассивная атака – простейшая модель нападения на криптосистему, поскольку она предусматривает открытый доступ к функции шифрования.

Атака с выбором шифротекста. Атака с выбором шифротекста, которую часто называют атакой «обеденного перерыва», представляет собой несколько более сильную модель нападения. Здесь злоумышленнику предоставлен доступ к расшифровывающему «черному ящику» (функции дешифрования). Он может предлагать «ящику» расшифровать некоторое число шифротекстов по его выбору, пока абонент, на которго напралена атака не контролирует «ящик» (вышел на «обеденный перерыв»). После этого, спустя некоторое время, злоумышленнику дают тестовый шифротекст и предлагают дешифровать его или восстановить какую-нибудь информацию о подлежащем открытом тексте собственными силами, не прибегая к помощи «черного ящика».

Адаптивная атака с выбором шифротекста. Адаптивная атака с выбором шифротекста наиболее сильная форма атаки. В этом случае злоумышленнику можно пользоваться расшифровывающим прибором для расшифровывания любого шифротекста

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

30.Что называют системой распределения ключей?

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