Лаба-3
.docx
Задание
Вариант 5.
Дан блок текста длины n=16:
T=A||B= { 0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1}
Провести 4 раунда шифрования «игрушечного» фейстелевского шифра с ключом
K= { 1,1,1,0,1,0,1,1},
где 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 = 00001000; B = 00111111; K = 11101011
(B + K) mod 28 = (00001000; + 00111111;) mod 28 = 100001000 mod 28 = 264 mod 28 = 8 = 00001000
00001000 + 01000101 = 01001101
II раунд:
A = 01111111; B = 01001101; K = 10001110
(B + K) mod 28 = (01001101+ 10001110) mod 28 = 11011011 mod 28 =
219 mod 28 = 219 = 11011011
01111111 + 11011011 = 101011010
III раунд:
A = 01001101; B = 101011010; K = 10001110
(B + K) mod 28 = (101011010 + 10001110) mod 28 = 111101000 mod 28 = 488 mod 28 = 232 = 11101000
11101000 + 01001101 = 100110101
IV раунд:
A = 101011010; B = 100110101; K = 10001110
(B + K) mod 28 = (100110101+ 10001110) mod 28 = 111000011 mod 28 = 451 mod 28 = 195 = 11111011
11111011 + 110011111 = 11000011
A = 100110101; B = 11000011
Шифротекст: С = {1,0,0,1,1,0,1,0,1,1,1,0,0,0,0,1,1}