12745

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

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

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

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

Русский

2013-05-03

217 KB

59 чел.

Лабораторная работа 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.


 

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

37329. Таможенная служба Российской Федерации 90 KB
  Большинство законодательных и нормативных актов регулирующих таможенное дело были унифицированы на практике применяются основы таможенных законодательств государств участников СНГ. Созданы представительства таможенной службы России при таможенных службах Белоруссии и Казахстана и Киргизской республикой. Отменены таможенные ограничения во взаимной торговле нет больше необходимости содержать таможенную инфраструктуру ненужными стали почти девять тысяч километров внутренних границ 16 таможен 50 таможенных постов 64 автомобильных и 28...
37331. Аналитическое и табличное представление булевой функции 315.5 KB
  Аналитическое и табличное представление булевой функции. Представление функции в ДНСФ. Минимизация функции по формулам склеивания. Минимизация функции методом Карно.
37332. КОНЦЕПЦИЯ МУЗЫКАЛЬНОГО ОБРАЗОВАНИЯ ШКОЛЬНИКОВ 452 KB
  Как известно музыкальная культура школьника это интегративное свойство личности главнейшими показателями которого являются: музыкальная развитость любовь к музыкальному искусству эмоциональное к нему отношение потребность в различных образцах музыки музыкальная наблюдательность в значении которое придавал этому понятию Б. В процессе школьных музыкальных занятий учащиеся знакомятся с музыкальными произ ведениями анализируют общий характер настроение музыки значение различных элементов музыкальной речи в их...
37334. Расчёт потребного количества оборудования 263.95 KB
  Степень занятости оборудования обработкой данной детали характеризуется коэффициентом занятости, на величину которого следует корректировать все расчеты для обеспечения их сопоставимости в базовом и проектируемом вариантах.
37335. ВВЕДЕНИЕ В ЭКСПЕРТНЫЕ СИСТЕМЫ 6.59 MB
  Эти изменения стали возможными благодаря двум основным факторам: выделению в алгоритме программы некоторой универсальной части логического вывода и отделению ее от части зависящей от предметной области базы знанийрис. При этом производится преимущественно символьная обработка содержимого базы знаний. Экспертная система это компьютерная программа которая моделирует рассуждения человекаэксперта в некоторой определенной области и использует для этого базу знаний содержащую факты и правила об этой области и некоторую процедуру...
37336. Проблемы экономической безопасности России в условиях перехода к рынку 99 KB
  Общее понятие экономической безопасности и характеристики основных ее показателей. Экономика России с точки зрения экономической безопасности. Пути обеспечения экономической безопасности России.
37337. ОБЩАЯ ЭЛЕКТРОТЕХНИКА И ЭЛЕКТРОНИКА, ЭЛЕКТРОТЕХНИКА 1.61 MB
  Частота колебаний напряжения Герц f [Hg] f [ Гц ] 9.Примеры выделения из третьей строки рабочего стола источника постоянного напряжения 12 V и элемента обозначающего соединение с корпусом. показан процесс выделения двух важнейших элементов любой электрической схемы: источника постоянного напряжения 12V и знака заземления которые необходимы для построения делителя напряжения на резисторах. показан дальнейший процесс построения схемы...