12745

Линейный криптоанализ блочного шифра

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа 4 Линейный криптоанализ блочного шифра Цель работы Целью данной работы является изучение принципа линейного криптоанализа блочных шифров реализованных по схеме SPN. Задание 1. Произвести оценку линейности Sbox учебного шифра постр...

Русский

2013-05-03

217 KB

58 чел.

Лабораторная работа 4

«Линейный криптоанализ блочного шифра»

Цель работы

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

Задание

1. Произвести оценку «линейности» S-box «учебного шифра», построенного на основе схемы  SPN.

2.  Построить сквозную линейную аппроксимацию шифра.

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

Порядок выполнения работы

Изучите принцип линейного криптоанализа в применении к учебному шифру SPN,  и пример использования линейного криптоанализа для извлечения 8-ми бит пятого раундового ключа, по разделу 3 приложения.
Для начала работы перейдите в каталог, указанный преподавателем, содержащий рабочие программы, и запустите программу
“линейный криптоанализ.exe
На экране монитора появится основное окно программы  (Рис 1).

Рис 1. Основное окно программы.

1.Выберите 4 произвольных линейных комбинации для входов и выходов S-box и рассчитайте вероятности их появления. Для этого кликните мышью кнопку «Линейные комбинации S-BOX». На экране монитора появится окно расчета линейных перекосов S-BOX Рис 2.

Рис 2. Окно расчета линейных аппроксимаций

Укажите какие входные и выходные биты участвуют в аппроксимации и нажмите кнопку «рассчитать». Результаты расчета нужно представить в отчете. Сравните полученные результаты с Таблицей 3.4 [1] вероятностей линейных аппроксимаций, приведенной в приложении.

2. Рассчитайте вероятности появления линейных комбинаций:

Пример :

X1X3X4=Y2        

Вероятность 0,25  , перекос -0,25

3.Задайте исходный 7-битный ключ шифра SPN. Для этого в поле ввода ключа (Рис. 1) , нажимая случайным образом 0 и 1 на пульте ПК, введите 7 бит. Кликните мышью кнопку «генерация раундовых ключей». Наблюдайте раундовые ключи, полученные в результате генерации,  соответствующие исходному ключу (рис. 3).
Рис. 3. Отображение раундовых ключей
4. Постройте сквозную линейную аппроксимацию, как в примере из [1] и на Рис.7 . Для этого следует кликнуть мышью кнопку «Построение сквозной аппроксимации шифра». В появившемся окне (рис.4) необходимо задать линейные аппроксимации «активных S-box».

Рис. 4. Окно построения сквозной линейной аппроксимации.
Для этого следует двойным щелчком левой кнопки мыши по выбранному S-box вызвать окно задания аппроксимации для данного S-box (рис.5). В появившемся окне галочками следует отметить входы и выходы, которые будут участвовать в аппроксимации. Верхняя строка окна содержит информацию о вероятности, с которой выбранная аппроксимация выполняется и перекосе этой вероятности.  
Рис. 5. Окно задания аппроксимации S-box
После нажатия кнопки «OK» окно задания аппроксимации S-box исчезнет, а в окне построения сквозной аппроксимации на схеме шифра линии, обозначающие те входы и выходы выбранного S-box, которые участвуют в аппроксимации, станут заметно толще (рис. 6).
 
Рис. 6. Отображение аппроксимации S-box на схеме шифра.
Когда активные выходы каждого раунда (кроме последнего) будут соответствовать активным входам следующего раунда результирующая аппроксимация будет сквозной. Т.е. она свяжет некоторые биты открытого сообщения и входные биты  последнего раунда. В этом случае на схеме шифра обозначатся биты последнего раундового ключа, связанные с выходами тех S-box, входы которых участвуют в сквозной линейной аппроксимации. Под схемой появятся сообщения о количестве активных S-box, участвующих в аппроксимации, о количестве ключевых бит, извлекаемых при криптоанализе, о результирующей вероятности, с которой выполняется аппроксимация  (Рис. 7). В исследуемой аппроксимации участвуют:

S12: X1X3X4=Y2     с вероятностью 12/16 и перекосом +1/4

S22: X2=Y2Y4             с вероятностью   4/16 и перекосом  -1/4

S22: X2=Y2Y4       с вероятностью   4/16 и перекосом  -1/4

S22: X2=Y2Y4       с вероятностью   4/16 и перекосом  -1/4

Рис. 7. Вариант сквозной аппроксимации.
5.Задайте число N=1000 пар сообщение/криптограмма, используемых при линейном криптоанализе, в соответствующее поле в основном окне.  
6.Произведите вычисление наиболее вероятного ключа методом линейного криптоанализа, выбирая его из 10 наиболее вероятных ключей при N=1000. Для этого кликните мышью кнопку «вычисление наиболее вероятных ключей». При этом программа случайным образом сгенерирует N=1000 открытых сообщений, зашифрует их на ключе, полученном в п. 3, затем произведет криптоанализ и выдаст 10 наиболее вероятных значений извлекаемого подключа (рис. 8). (Подробно алгоритм криптоанализа описан в приложении)
Рис. 8. Результаты криптоанализа
Сравните результат с ключом  5-го раунда, полученном в п. 3 (Рис. 3). Если среди извлеченных подключей не окажется верного, повторите криптоанализ. Повторите криптоанализ несколько раз. Сделайте вывод о том, как часто правильный ключ попадает в десятку наиболее вероятных, и как часто он оказывается на первом месте.
7.Повторите пп.5-6 для N=5000 и 35000.Сравните результаты с ключом, полученном в п. 3. Сделайте вывод о том, как часто правильный ключ попадает в десятку наиболее вероятных, и как часто он оказывается на первом месте, в зависимости от N.
8.Повторите криптоанализ для другой аппроксимации S-box.
Отчет по лабораторной работе
«Линейный криптоанализ блочного шифра»
(пример оформления)
Выполнил студент:  Петров В.В.
Группа:  МТ-000
Преподаватель: Яковлев В.А.
Вероятности появления линейных комбинаций
Произвольно выбраны
X1=Y1Y2Y3 Y4  вероятность появления = 0.125      перекос= -0.375
X1X2= Y3                        вероятность появления = 0.75        перекос= 0.25
X4=Y2Y3Y4          вероятность появления = 0.875      перекос= 0.375
X3X4= Y2Y3Y4  вероятность появления = 0.5          перекос= 0

Заданы

X1X3X4=Y2 вероятность появления = 0.75      перекос= 0.25

X2=Y2Y4        вероятность появления = 0.25      перекос= -0.25

Генерация ключа
Выбран исходный ключ 1111111
Раундовые ключи
K1 = 1111 1111 1111 1111 
K2 = 1111 1111 1111 1111
K3 = 1111 1111 1111 1111
K4 = 1111 1111 1111 1111
K5 = 1111 1111 1111 1111
Линейный криптоанализ
N=1000
[K5,5...K5,8]  [K5,13...K5,16]     Перекос
   0001               1111                  0.058
   1111               0010                  0.057
   1101               1100                  0.055
   1111               1111                  0.052
   1111               1100                  0.051
   1111               0001                  0.049
   0001               1100                  0.047
   0011               1100                  0.045
   1010               1111                  0.045
   1101               1111                  0.044
N=5000
[K5,5...K5,8]  [K5,13...K5,16]     Перекос
   1111               1111                  0.0278
   1001               1000                  0.0224
   1111               0010                  0.0216
   1000               0010                  0.0210
   1000               0000                  0.0200
   1000               1100                  0.0198
   1010               1100                  0.0192
   1010               0001                  0.0190
   1100               0101                  0.0178
   0001               1011                  0.0176
N=35000
[K5,5...K5,8]  [K5,13...K5,16]     Перекос
   1111               1111                  0.0391
   1111               0010                  0.0351
   0001               1111                  0.0294
   1111               0011                  0.0283
   1110               0110                  0.0280
   1111               1110                  0.0263
   0000               0110                  0.0257
   1101               0101                  0.0257
   0011               1111                  0.0249
   1010               1111                  0.0243
Контрольные вопросы
1.Основной принцип линейного криптоанализа блоковых шифров.

2.Какой тип атаки используется при линейном криптоанализе?

3.Чем определяется сложность линейного криптоанализа?

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

Литература

1.В.И.Коржик , В.П.Просихин ,”Основы криптографии”, Учебное пособие,

“Линк”,2008.

2.В.И.Коржик ,www.sut.ru-ibts , Учебные материалы, “Основы криптографии”,часть1.


 

А также другие работы, которые могут Вас заинтересовать

66007. Бюжетная политика 13.79 KB
  От качества федерального бюджета заложенных в него параметров зависят и уровень социальной защиты граждан и инвестиционные возможности государства и степень влияния России на международной арене и даже предпринимательская активность граждан.
66009. Финансовая система России 31.78 KB
  Государственный и банковский кредит все вышеозначенные институты относят к централизованным финансам которые используются для регулирования экономики и социальных отношений на макроуровне; Финансы хозяйствующих субъектов и отраслей относящиеся к децентрализованным финансам...
66010. Государственные предприятия, государственные корпорации, объединения предприятий, дочерние и зависимые общества 59 KB
  Все они направлены на использование преимуществ крупного капитала но отличаются друг от друга: Конкретными стратегическими целями и текущими задачами которые ставятся объединением ; Структурой участников; Установленными имущественными и правовыми отношениями; Понятие и сущность...
66012. Немецкая и американская модель ипотечного кредитования 18.96 KB
  Период кредитования начинается когда член кассы накапливает половину той суммы что нужна на покупку жилья. Период накопления заменяется периодом внесения вкладов в долговое участие в строительстве а период кредитования периодом покупки в рассрочку или аренды с правом выкупа.
66013. Инвестиционный рейтинг регионов 97.5 KB
  Рейтинг крупнейшего независимого агентства Эксперт РА это взаимосвязанная оценка двух осей инвестиционной привлекательности: риска и потенциала. Им в ходе оценки составляющих инвестиционного климате инвестиционного риска и потенциала используется около двух сотен исходных количественных и качественных характеристик.
66014. Внутренний долг РФ с 2007-2012 года 55.46 KB
  Структура и динамика государственного внутреннего долга по состоянию на 1 мая 2007 года в части государственных ценных бумаг номинированных в валюте Российской Федерации Виды государственных ценных бумаг млрд.
66015. Внешняя задолженность 28.59 KB
  В случае внешнего государственного долга кредиторами правительства выступают: иностранные государства иностранные юридические лица международные финансовые институты МВФ связанный с ним Парижский клуб Лондонский клуб Всемирный банк.