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.


 

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

33679. Тактика освидетельствования 25.5 KB
  Освидетельствование осуществляется для установления на теле человека следов преступления наличия особых примет и иных признаков позволяющих судить о связи данного человека с расследуемым событием. При судебномедицинском освидетельствовании разрешаются специальные вопросы из области судебной медицины о причинах и давности причинения телесных повреждений о степени их тяжести о врожденных или приобретенных анатомических или физических аномалиях и др. Следственное освидетельствование позволяет выяснить такие вопросы: имеются ли на теле...
33680. Допрос 29 KB
  При проведении допроса в конфликтной ситуации следователь использует следующие тактические приемы: следователь и подозреваемый либо обвиняемый разъясняет допрашиваемому значение чистосердечного признания и дачи правдивых показаний; выявляет мотивы дачи ложных показаний и устраняет эти мотивы; убеждает с помощью логических доводов в бессмысленности попыток дачи ложных показаний; максимально детализирует и конкретизирует показания допрашиваемого; предъявляет доказательства изобличающие допрашиваемого начиная с самого веского либо наоборот;...
33681. Допрос подозреваемого (обвиняемого) 12.71 KB
  В соответствии с этим следователю необходимо попытаться выяснить причины конфликта и направить усилия на их устранение для формирования условия получения достоверных показаний. Основные приемы установления психологического контакта с допрашиваемым в конфликтной ситуации: 1 убедить допрашиваемого в объективности следователя внушить уважение к следователю; 2 вызвать интерес к даче показаний к процессу общения со следователем; 3 проявлять заботу о соблюдении прав допрашиваемого и об удовлетворении его за конных интересов; 4 создать и...
33682. Бесконфликтная ситуация допроса 11.48 KB
  В связи с объективным характером этой ситуации тактическая задача следователя при допросе может быть сведена к одному но весьма существенному положению: не сделать ситуацию допроса конфликтной не спровоцировать своими действиями поведением конфликт с допрашиваемым. Дело в том что успех допроса как и любого иного вида человеческого общения зависит не только от объективных но и от субъективных факторов. Необдуманная форма вызова лица на допрос оказавшаяся неприятной или нежелательной для допрашиваемого длительное ожидание под дверями...
33683. ТАКТИЧЕСКИЕ ПРИЕМЫ ОЧНОЙ СТАВКИ 12.34 KB
  Задачи очной ставки: 1 общие: а проверка имеющихся доказательств; б получение новых доказательств; в установление истины по спорным обстоятельствам; 2 конкретные: а преодоление добросовестного заблуждения допрашиваемого; б разоблачение лжи одного из допрашиваемых; в разоблачение ложного алиби; г разоблачение самооговора или оговора одного допрашиваемого другим; д разоблачение инсценировок преступления; е выяснение причин происхождения существенных противоречий; ж изучение личности допрашиваемого; з проверка и оценка следственных...
33684. Тактика подготовки и проведения предъявления для опознания живых лиц в натуре и по фотографии 14.53 KB
  тактика подготовки и проведения предъявления для опознания живых лиц в натуре и по фотографии Предъявление для опознания это самостоятельное следственное действие которое состоит в отождествлении ранее воспринимаемого объекта по его мысленному образу. Цель предъявления для опознания идентификация объекта который ранее воспринимал опознающий в связи с совершением преступления. Подготовка к предъявлению для опознания является обязательным условием успеха этого следственного действия. Она включает в себя: определение конкретной цели...
33686. ПОНЯТИЕ, ВИДЫ И ЗАДАЧИ СЛЕДСТВЕННОГО ЭКСПЕРИМЕНТА 13.35 KB
  Цель следственного эксперимента – проверка и уточнение данных имеющих значение для уголовного дела. Задачи следственного эксперимента: 1 получение новых и проверка имеющихся доказательств; 2 оценка следственных версий о возможности или невозможности существования тех или иных фактов имеющих значение для дела; 3 получение от подозреваемого обвиняемого потерпевшего и свидетеля правдивых показаний; 4 восстановление в памяти участников преступления отдельных обстоятельств которые были ими забыты или по поводу которых они добросовестно...