Кашкарева Ю.О. (МК-502). Разностная атака на...

Post on 08-Jul-2015

889 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Разностные атаки на криптографические протоколы

Кашкарева ЮлияМК-502

Актуальность

• Развитие глобальной информационной сети• Необходимость новых методов защиты

информации• Задача анализа защищенности алгоритма

более сложная, чем непосредственно разработка

• Дифференциальный криптоанализ – один из классических методов атаки на криптоалгоритм

Дифференциальный криптоанализ

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

История

• Дифференциальный метод криптоанализа был предложен Э.Бихамом и А.Шамиром в 1990 г. Это был новый, ранее неизвестный метод криптоанализа, который был эффективнее вскрытия грубой силой.

Сеть Фейстеля

Подстановоно-перстановочная сеть (SPN)

Используемая в работе сеть

Этапы классического дифференциального

криптоанализа

1. На пером этапе выделяем все возможные разности, которые мы можем получить на выходе r-1 раунда, если на вход подана какая-то определенная разность αi. Выделяем пары таких разностей, которые имеют наибольшую вероятность появления и фиксируем их как (αi,βi).2. Выбираем открытый текст x произвольным образом и вычисляем x’ так, чтобы разность между x и x’ была равна αi.3. Проверяем, являются ли данная пара текстов правильной-то есть на выходе r-1-ого цикла разность шифртекстов равна наиболее вероятной βi, полученной нами на этапе 1.

4. Тексты шифруются на подлинном ключе и после r циклов получаем пару шифртекстов y и y’.5. Для тройки «разность на входе, разность на выходе r-1 раунда, разность на выходе r раунда» находим каждое возможное (если их несколько) значение подключа последнего r-го цикла . Добавляем его к количеству появлений каждого такого значения подключа .6. Повторяем п.п. 3-5 до тех пор, пока одно или несколько значений подключа не станет появляться чаще других. Берем этот подключ или множество таких подключей в качестве криптографического решения для подключа .7. Повторяем пп.1-6 для предпоследнего цикла, при этом значения вычисляются расшифрованием шифртекстов на найденном подключе последнего цикла. Далее действуем аналогично, пока не будут раскрыты ключи всех циклов шифрования.

Рассмотрим, как производится дифференциальный анализ на

примере

Таблица подстановки s-блока

вход 0 1 2 3 4 5 6 7

выход 7 0 6 5 2 1 3 4

Схема для анализа распределения выходных

разностей

Распределение разностей на выходе в зависимости от

разности на входе выход

вход0 1 2 3 4 5 6 7

0 8 0 0 0 0 0 0 0

1 0 0 0 4 0 0 0 4

2 0 4 0 0 0 4 0 0

3 0 0 4 0 0 0 4 0

4 0 4 0 0 0 4 0 0

5 0 0 4 0 0 0 4 0

6 0 0 0 0 8 0 0 0

7 0 0 0 4 0 0 0 4

Выбор анализируемой разности

Схема преобразования разности при прохождении через SPN

• Возьмем входные тексты

• Соответствующие шифртексты

• Соответствующая разность

• Эти тексты являются правильными текстами для характеристики 000001001

2

2 2 2

001101111

001101111 000000110 0011011001

x

x

=′⊗ = =

2

2

(001101111 ) 110111000

(0011011001 ) 110110001

cript

cript

==

110111000 110110001 000001001⊗ =

Разность 100 задается парами

0 и 4 000 100

1 и 5 001 101

2 и 6 010 110

3 и 7 011 111

4 и 0 100 000

5 и 1 101 001

6 и 2 110 010

7 и 3 111 011

⊗⊗⊗⊗⊗⊗⊗⊗

Выбираем среди них правильные

000 100 111 010=101

010 110 110 011=101

100 000 010 111=101

101 0

001 101 000 001

01 001 000 001

110 010 011 110=101

111 011 10

=001

011 111 101 100 001

0 101=001

⊗ → ⊗

⊗ → ⊗

⊗ → ⊗⊗ → ⊗ =⊗ → ⊗⊗ → ⊗

⊗ → ⊗

⊗ → ⊗ =

2

2

2

2

2

2

2

2

111 000

110 001

111 001

110 000

111 100

110 101

111 101

110 100

K

K

K

K

K

K

K

K

⊗ = ⊗ =

⊗ = ⊗ =

⊗ = ⊗ =

⊗ = ⊗ =

• Соответственно, ключи, удовлетворяющие условиям 111, 100 – для первой правильной пары входных значений, и 011, 010 – для второй

Соответствующие ключи

Реализованная функциональность

• Программа, выполняющая анализ s-блоков• Программа, осуществляющая оценку

разностей, используемых для анализа по числу затронутых s-блоков.

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

• Кроме того, был рассмотрен алгоритм CMEA и возможность применения к нему дифференциального криптоанализа

Полученная эффективность работы

Число текстов Число характеристик

Мощность множества ключей

200 1 256

400 1 256

200 10 64

400 10 64

512 10 64

200 13 64

200 14 16

200 15 8

Спасибо за внимание.

top related