криптографические методы и криптопроток(магистр) / Криптография 3лаба
.docxМинистерство науки и высшего образования РФ
Федеральное государственное бюджетное образовательное учреждение
высшего образования «Омский государственный технический университет»
Кафедра «Комплексная защита информации»
Отчёт
по практическим занятиям
по дисциплине: «Криптографические методы
и криптопротоколы»
тема: «Шифрование «игрушечного» фейстелевского шифра с ключом»
Вариант 9
Выполнил студент гр. ИВТм-192
__________Козлитин Ю.В.
"____"___________2019г.
Принял
Проф., д-р физ.-мат. наук Широков И.В.
______________________
"____"___________2019г.
Омск 2019
Задание
Вариант 9.
Дан блок текста длины n=16:
T=A||B= {1,1,1,0,0,0,0,1,1,1,0,1,0,0,0,1}
Провести 4 раунда шифрования «игрушечного» файстелевского шифра с ключом
K= {1,0,0,0,1,1,1,0},
где F(B,K)=(K (K+1)/2 + BK) mod 2n/2 .
C=EK(T)?
Теория
Предложенная Файстелем архитектура нового метода шифрования в классической литературе получила название «Архитектура Файстеля», но на данный момент в русской и зарубежной литературе используется более устоявшийся термин – «сеть Файстеля» или Feistel`s NetWork. В последствии по данной архитектуре был построен шифр «Люцифер» - который позднее был опубликован и вызвал новую волну интереса к криптографии в целом.
Идея архитектуры «сети Файстеля» заключается в следующем: входной поток информации разбивается на блоки размером в n битов, где n четное число. Каждый блок делится на две части – A и B, далее эти части подаются в итеративный блочный шифр, в котором результат n-го этапа определяется результатом предыдущего этапа n-1. Сказанное можно проиллюстрировать на примере:
Выполнение
I раунд:
A = 11100001; B = 11010001; K = 10001110
(B + K) mod 28 = (11010001 + 10001110) mod 28 = 101011111 mod 28 = 351 mod 28 = 95 = 1011111
1011111 + 11100001 = 101000000
II раунд:
A = 11010001; B = 101000000; K = 10001110
(B + K) mod 28 = (101000000 + 10001110) mod 28 = 11101110 mod 28 = 462 mod 28 = 206 = 11001110
11001110 + 11010001 = 110011111
III раунд:
A = 101000000; B = 110011111; K = 10001110
(B + K) mod 28 = (110011111 + 10001110) mod 28 = 1000101101 mod 28 = 557 mod 28 = 45 = 101101
101101 + 101000000 = 101101101
IV раунд:
A = 110011111; B = 101101101; K = 10001110
(B + K) mod 28 = (101101101 + 10001110) mod 28 = 111111011 mod 28 = 507 mod 28 = 251 = 11111011
11111011 + 110011111 = 1010011010
A = 101101101; B = 1010011010
Шифротекст: С = {1,0,1,1,0,1,1,0,1,1,0,1,0,0,1,1,0,1,0}