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

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

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

Метод «опробывания» (полного перебора, brute force).

Vалфавит

Nего мощность(кол-во букв)

X = (x1, x2, …, xn) ϵ Vn

ko = (k1o, …, klo) ϵ K c Vlnключ данного сеанса шифрования

f(●) – функция зашифрования

y = (y1, …, yn) ϵ VnN - шифр текст (С)

y = f(X, ko)

x = f-1(y, k) - расшифровка

  1. Линейный криптоанализ.

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

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

Смысл алгоритма состоит в получении соотношений следующего вида:

где Pn, Cn, Kn — n-ые биты текста, шифротекста и ключа.

Данные соотношения называются линейными аппроксимациями. Для произвольно выбранных бит открытого текста, шифротекста и ключа вероятность справедливости такого соотношения P примерно равна 1/2. Такими соотношениями, вероятность которых заметно отличается от 1/2 можно пользоваться для вскрытия алгоритма.

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

В блочных шифрах анализ преимущественно концентрируется на S-боксах, так как они являются нелинейной частью шифра. Наиболее эффективное однораундовое соотношение для алгоритма DES использует свойство таблицы S5. Второй входной бит таблицы равен результату операции XOR над всеми выходными битами с вероятностью 3/16 (смещение в 5/16 относительно 1/2). А для полнораундового DES известно соотношение, выполняющееся с вероятностью 1/2 + 2−24.

Линейный криптоанализ имеет одно очень полезное свойство — при определённых условиях можно свести соотношение (1) к уравнению вида:

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

  1. Разностный криптоанализ.

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

На схеме представлено прохождение одного из этапов DES. Пусть X и X' - пара входов, различающихся на ΔX. Соответствующие им выходы известны и равны Y и Y', разница между ними - ΔY. Также известны перестановка с расширением и P-блок, поэтому известны ΔA и ΔC. B и B' неизвестны, но мы знаем, что их разность равна ΔA, т.к. различия XOR Ki c A и A' нейтрализуются. Вскрытие ключа основано на том факте, что для заданного ΔA не все значения ΔC равновероятны, а комбинация ΔA и ΔC позволяет предположить значения A XOR Ki и A' XOR Ki. При известных A и A' это дает нам информацию о Ki.

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

Пара открытых текстов, которая соответствует характеристике называется правильной парой, а пара, не соответствующая характеристике - неправильной парой. Правильная пара указывает на правильный ключ рассматриваемого этапа, неправильная - на случайный ключ. Для нахождения правильного ключа этапа нужно собрать достаточное количество предположений - один из ключей будет встречаться среди правильных чаще, чем остальные. Зная вероятное значение Ki мы получаем 48 битов ключа шифрования K. Остальные 8 битов можно определить с помощью перебора.

  1. Основные принципы построения асимметричных криптосистем. Стойкость.

  2. Шифросистема RSA. Стойкость.

  3. Шифросистема Эль-Гамаля. Стойкость.

  4. Шифросистема на основе принципа «рюкзака».

  5. Шифросистема Рабина. Стойкость.

  6. Алгоритм обмена ключами Диффи-Хеллмана.

  7. Хэш-функции. Требования. Типы функций хэширования.

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

Требования:

- хеш-функция должна быть чувствительна к всевозможным изменениям в тексте M(вставка, выбросы, перестановки); - хеш-функция должна обладать свойством необратимости, то есть задача подбора документа M', который обладал бы требуемым значением хеш-функции, должна быть вычислительно неразрешима; - вероятность того, что значения хеш-функций двух различных документов (вне зависимости от их длин) совпадут, должна быть ничтожно мала

Типы функций хэширования:

  • на основе какой-либо трудно вычисляемой математической задачи;

  • на основе алгоритмов блочного шифрования (многие из существующих алгоритмов являются стойкими)

  • разработанные с нуля(эффективная программная реализация);

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