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.


 

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

31538. Б. Рассел о материи и идеализме. Ф. Энгельс об основном вопросе философии и этапах развития материализма 184.5 KB
  Существует ли в мире знание столь достоверное, что никакой разумный человек не мог бы подвергнуть его сомнению? Поначалу этот вопрос может показаться весьма легким, но на самом деле это один из самых трудных вопросов, которые только можно вообразить. Когда мы осознаем трудности, которые встают на пути прямого и убедительного ответа на этот вопрос
31539. ПРЕДМЕТ, ПРОБЛЕМИ І ФУНКЦІЇ ФІЛОСОФІЇ. ОСНОВНІ ПИТАННЯ ФІЛОСОФІЇ 111 KB
  ОСНОВНІ ПИТАННЯ ФІЛОСОФІЇ Поняття і предмет філософії. Форми і методи філософії. Матеріалізм та ідеалізм в історії філософії.
31540. Разработка тематического мероприятия «Праздник белорусской кухни» 2.35 MB
  Многовековую, очень богатую и интересную историю имеет белорусская кухня. Она оказала влияние на кухни соседних народов – русских, украинцев, поляков, литовцев, латышей. В свою очередь кухни этих народов в значительной мере воздействовали на белорусскую,
31541. Виробництво кисломолочної продукції з молока незбираного з масовою часткою жиру 3,4% масою 27т 785 KB
  Кисломолочний продукт — молочний продукт, який виробляють ферментацією молока або маслянки, вершків, сироватки, знежиреного молока спеціальними мікроорганізмами. Готовий продукт в кінці терміну придатності повинен містити життєздатних клітини мікроорганізмів в кількості не менше колонієутворювальних одиниць в 1 г продукт...
31542. Технологический расчет для производства ряженки 6 тонн в смену 368.5 KB
  Ряженка — кисломолочный напиток, получаемый из коровьего топлёного молока молочнокислым брожением. Заквашивание производится термофильными молочнокислыми стрептококками и чистыми культурами болгарской палочки, сквашивается в течение 3—6 часов. Имеет желтовато-буроватый оттенок и традиционный кисломолочный вкус
31543. КРАТКАЯ ИСТОРИЯ РАЗВИТИЯ И ПРИНЦИПЫ СУЩЕСТВОВАНИЯ ЕВРОСОЮЗА 82 KB
  Совет Министров, состоящий из пятнадцати глав государств и правительств стран-членов ЕС является основным органом принятия решений. Он выдвигает широкие политические инициативы и определяет основные направления политики. В зависимости от обсуждаемых вопросов, Совет состоит из тех министров стран-членов, которые отвечают за данную область.
31544. Розробка проекту винагороди персоналу підприємства АЗОВСТАЛЬ 889 KB
  За економічного підходу людину розглядають як об\'єкт управління, причому головний інтерес представляє її функція – праця, вимірювана витратами робочого часу і заробітною платою. Організація є набором механічних відносин, що повинна діяти подібно до механізму
31545. МОСКОВСКОЕ БИЕННАЛЕ И ФЕСТИВАЛИ КАК ФОРМА АКТУАЛИЗАЦИИ СОВРЕМЕННОГО ИСКУССТВА 1.54 MB
  Работа посвящена исследованию Биеннале и фестивалей современного искусства как особой, актуальной формы презентации, а также выявлению их значения и места в мировой художественной культуре Москвы.
31546. Обучение учащихся 6 классов основам пейзажной живописи 1.16 MB
  Пейзаж (от французского paysagе - местность, страна) - один из самых эмоциональных, самых лирических жанров изобразительного искусства, предметом которого является изображение первозданной или измененной человеком природы. Пейзажем называется также сам объект такого изображения.