Similar presentations:
Лекция 3 Режимы шифрования
1.
Лекция 3 Режимы шифрованияЗадания и лекции:
https://drive.google.com/drive/folders/1ORpSM4Q0IEe334gfNhRc_fGv_MB9qCD-?usp=sharing
1
2.
Лекция 3 Режимы шифрованияСодержание:
Режимы шифрования
• Режим ECB
• Режим CBC
• Режим CFB
• Режим OFB
• Режим CTR
Заимствование шифртекста в режиме ECB
Задание
2
3.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
3
4.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
4
5.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
Иллюстрация опасности использования режима ECB.
На среднем рисунке - шифрование изображения с использованием
режима ECB.
Справа - шифрование того же изображения в безопасном режиме.
5
6.
Режим CBC (Cipher Block Chaining)Шифрование в режиме CBC
6
7.
Режим CBC (Cipher Block Chaining)Шифрование в режиме CBC
7
8.
Режим CBC (Cipher Block Chaining)Расшифрование в режиме CBC
8
9.
Режимы шифрованияДля AES, DES или любого другого блочного шифра шифрование
выполняется блоками по b бит.
В случае DES b = 64, а в случае AES b = 128.
Однако можно преобразовать блочный шифр в поточный,
используя один из трех режимов, которые будут рассмотрены
далее:
режим обратной связи по шифру (CFB),
режим обратной связи по выходу (OFB),
режим счетчика (CTR).
Потоковый шифр избавляет от необходимости разбивать
сообщение на целое число блоков.
Он также может работать в режиме реального времени. Таким
образом, если передается поток символов, каждый символ может
быть зашифрован и передан немедленно.
9
10.
Режим CFB (CypherFeedBack)
Шифрование
в режиме (СFB)
Вместо блоков по b бит открытый текст делится на сегменты по s
бит
Входом для функции шифрования является b-битный сдвиговый
регистр
10
11.
Режим CFB (CypherFeedBack)
Шифрование
в режиме (СFB)
b-битный сдвиговый регистр изначально принимает значение
вектора инициализации (IV).
11
12.
Режим CFB (CypherFeedBack)
Шифрование
в режиме (СFB)
Самые левые (наиболее
значимые) s бит на выходе
функции шифрования
подвергаются XOR с первым
сегментом открытого текста
P1 для получения первого
зашифрованного фрагмента
шифротекста C1.
12
13.
Режим CFB (CypherFeedBack)
Шифрование
в режиме (СFB)
Содержимое
сдвигового регистра
сдвигается влево на
s бит, и C1
помещается в
наименее значащие
s бит регистра
сдвига.
13
14.
Режим CFB (CypherFeedBack)
Шифрование
в режиме (СFB)
Этот процесс продолжается до тех пор, пока все фрагменты
открытого текста не будут зашифрованы.
14
15.
Режим CFB (CypherFeedBack) в режиме (CFB)
Расшифрование
Для расшифровки используется та же схема, за исключением
того, что полученный шифротекст накладывается с помощью
XOR на выход функции шифрования для получения открытого
фрагмента сообщения.
Обратите внимание, что используется именно функция
шифрования, а не функция расшифрования.
15
16.
Режим CFB (CypherFeedBack) в режиме (CFB)
Расшифрование
16
17.
Режим CFB (Cypher FeedBack)Шифрование в режиме (СFB)
Расшифрование в режиме (CFB)
17
18.
Режим CFB (Cypher FeedBack)В шифровании CFB, как и в шифровании CBC, входной блок
каждой функции прямого шифрования (кроме первой) зависит
от результата предыдущей функции прямого шифрования,
поэтому несколько операций прямого шифрования не могут
выполняться параллельно.
18
19.
Режим CFB (Cypher FeedBack)При расшифровке CFB необходимые операции прямого
шифрования могут выполняться параллельно, если входные
блоки сначала строятся (последовательно) из IV и
шифротекста.
19
20.
Режим CFB (Cypher FeedBack)Шифрование в режиме (СFB)
Расшифрование в режиме (CFB)
20
21.
Режим OFB (Output FeedBack)Режим обратной связи по выходу (OFB) по своей структуре
схож с режимом CFB. В режиме OFB
выход функции шифрования возвращается обратно и
становится входом для шифрования следующего блока
открытого текста.
Другое отличие заключается в том, что
режим OFB работает с полными блоками открытого и
шифрованного текста, а CFB - с s-битовым подмножеством.
21
22.
РежимOFB (OutputвFeedack)
Шифрование
режиме Output FeedBack (OFB)
Некоторое размышление должно
убедить вас в том, что мы можем
переписать выражение шифрования в
виде:
22
23.
РежимOFB (Output FeedBack)
Расшифрование
в режиме Output FeedBack (OFB)
23
24.
Режим OFB (Output FeedBack)Шифрование в режиме Output Feedback (OFB)
Расшифрование в режиме Output Feedback (OFB)
24
25.
Режим OFB (Output Feedback)Шифрование в режиме Output Feedback (OFB)
25
26.
Режим OFB (Output FeedBack)Шифрование в режиме Output Feedback (OFB)
Расшифрование в режиме Output Feedback (OFB)
26
27.
Режим OFB (Output FeedBack)Одним из преимуществ режима OFB является то, что битовые
ошибки при передаче не распространяются.
Например, если битовая ошибка произошла в C1, это повлияет
только на восстановленное значение P1, а последующий
открытый текст не повреждается.
Режим CFB этим преимуществом не обладает: в этом режиме
C1 также служит в качестве входа в сдвиговый регистр и,
следовательно, вызывает дополнительное повреждение ниже
по потоку.
27
28.
Режим OFB (Output FeedBack)OFB имеет структуру типичного потокового шифра, поскольку
шифр генерирует поток битов как функцию начального
значения и ключа, и этот поток битов перешивается с битами
открытого текста.
Одно из отличий от потоковых шифров заключается в том, что
OFB шифрует открытый текст полным блоком за раз, где
обычно блок составляет 64 или 128 бит. Многие потоковые
шифры шифруют по одному байту за раз.
28
29.
Режим OFB (Output FeedBack)В шифровании OFB, как и в шифровании CBC, входной блок
каждой функции прямого шифрования (кроме первой) зависит
от результата предыдущей функции прямого шифрования,
поэтому несколько операций прямого шифрования не могут
выполняться параллельно.
При расшифровке CFB необходимые операции прямого
шифрования могут выполняться параллельно, если входные
блоки сначала строятся (последовательно) из IV и
шифротекста.
29
30.
Режим CTR (Counter)Шифрование в режиме (CTR)
Расшифрование в режиме (CTR)
30
31.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”
31
32.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”
P0=“T”=>84
32
33.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”
P0=“T”=>84=
33
34.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”
P0=“T”=>84= 0
1
0
1
0
1
0
0
34
35.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”
P0=“T”=>84= 0
1
0
1
0
1
0
0
P0=“H”=>
35
36.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”
P0=“T”=>84= 0
1
0
1
0
1
0
0
P0=“H”=>72
36
37.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”
P0=“T”=>84= 0
1
0
1
0
1
0
0
P0=“H”=>72=
37
38.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”
P0=“T”=>84= 0
1
0
1
0
1
0
0
P0=“H”=>72= 0
1
0
0
1
0
0
0
38
39.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”
P0=“T”=>84= 0
1
0
1
0
1
0
0
P0=“H”=>72= 0
1
0
0
1
0
0
0
P0=“E”=>
39
40.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”
P0=“T”=>84= 0
1
0
1
0
1
0
0
P0=“H”=>72= 0
1
0
0
1
0
0
0
P0=“E”=>69=
40
41.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”
P0=“T”=>84= 0
1
0
1
0
1
0
0
P0=“H”=>72= 0
1
0
0
1
0
0
0
P0=“E”=>69= 0
1
0
0
0
1
0
1
41
42.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”=[84, 72, 69]
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
42
43.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”=[84, 72, 69]
0
1
0
1
0
7 бит
1
0
0
0
1
0
0
7 бит
1
0
0
0
0
1
0
7 бит
0
0
1
0
1
3
43
44.
Режим ECB (Electronic Code Book)Шифрование в режиме ECB
P=“THE”=[84, 72, 69]
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
7 бит
7 бит
7 бит
3
42
18
8
5
1
44
45.
Режим ECB (Electronic Code Book)Афинный шифр (режим ECB)
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
7 бит
7 бит
7 бит
3
42
18
8
5
1
a=7, b=12, m=128, P0=42, P1=18, P2=8, P3=5
НОД(7, 128)=?
45
46.
Режим ECB (Electronic Code Book)Афинный шифр (режим ECB)
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
7 бит
7 бит
7 бит
3
42
18
8
5
1
a=7, b=12, m=128, P0=42, P1=18, P2=8, P3=5
НОД(7, 128)=1
C0 = ( a * P0 + b ) mod m = ( 7 * 42 + 12) mod 128 = ?
46
47.
Режим ECB (Electronic Code Book)Афинный шифр (режим ECB)
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
7 бит
7 бит
7 бит
3
42
18
8
5
1
a=7, b=12, m=128, P0=42, P1=18, P2=8, P3=5
НОД(7, 128)=1
C0 = ( a * P0 + b ) mod m = ( 7 * 42 + 12) mod 128 = 50
C1 = ( a * P1 + b ) mod m = ( 7 * 18 + 12) mod 128 = ?
47
48.
Режим ECB (Electronic Code Book)Афинный шифр (режим ECB)
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
7 бит
7 бит
7 бит
3
42
18
8
5
1
a=7, b=12, m=128, P0=42, P1=18, P2=8, P3=5
НОД(7, 128)=1
C0 = ( a * P0 + b ) mod m = ( 7 * 42 + 12) mod 128 = 50
C1 = ( a * P1 + b ) mod m = ( 7 * 18 + 12) mod 128 = 10
C2 = ( a * P2 + b ) mod m = ( 7 * 8 + 12) mod 128 = ?
48
49.
Режим ECB (Electronic Code Book)Афинный шифр (режим ECB)
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
7 бит
7 бит
7 бит
3
42
18
8
5
1
a=7, b=12, m=128, P0=42, P1=18, P2=8, P3=5
НОД(7, 128)=1
C0 = ( a * P0 + b ) mod m = ( 7 * 42 + 12) mod 128 = 50
C1 = ( a * P1 + b ) mod m = ( 7 * 18 + 12) mod 128 = 10
C2 = ( a * P2 + b ) mod m = ( 7 * 8 + 12) mod 128 = 68
49
50.
Режим ECB (Electronic Code Book)42
50
18
10
8
68
50
51.
Режим ECB (Electronic Code Book)Заимствование шифротекста в режиме ECB
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
8
= 8
0
0
0
1
0
1
5
= 5
= 68
51
52.
Режим ECB (Electronic Code Book)Заимствование шифротекста в режиме ECB
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
8
= 8
0
0
0
1
0
1
5
= 5
= 68
52
53.
Режим ECB (Electronic Code Book)Заимствование шифротекста в режиме ECB
= 8
= 5
= 68
Берем старшие M=3 бита в
= 68 =
1 0 0 0 1 0 0
53
54.
Режим ECB (Electronic Code Book)Заимствование шифротекста в режиме ECB
= 8
= 5
= 68
=4
Берем старшие M=3 бита в
= 68 =
1 0 0 0 1 0 0
54
55.
Режим ECB (Electronic Code Book)Заимствование шифротекста в режиме ECB
= 8
= 5
= 68
=4
Берем младшие B-M=7-3=4 бита в
= 68 =
1 0 0 0 1 0 0
55
56.
Режим ECB (Electronic Code Book)Заимствование шифротекста в режиме ECB
= 8
= 5
1 0 1
= 68
=4
Берем младшие B-M=7-3=4 бита в
= 68 =
Добавляем их в
1 0 0 0 1 0 0
: 1 0 1
56
57.
Режим ECB (Electronic Code Book)Заимствование шифротекста в режиме ECB
= 8
= 5
1 0 1
= 68
=4
Берем младшие B-M=7-3=4 бита в
= 68 =
Добавляем их в
1 0 0 0 1 0 0
: 1 0 1 0 1 0 0
=?
57
58.
Режим ECB (Electronic Code Book)Заимствование шифротекста в режиме ECB
= 8
= 5
1 0 1
= 68
=4
Берем младшие B-M=7-3=4 бита в
= 68 =
Добавляем их в
1 0 0 0 1 0 0
: 1 0 1 0 1 0 0
= 84
58
59.
Режим ECB (Electronic Code Book)Заимствование шифротекста в режиме ECB
= 84
= 8
1 0 1 0 1 00
= ?
=4
= ( a * 84 + b ) mod m = ( 7 * 84 + 12 ) mod 128 = ?
59
60.
Режим ECB (Electronic Code Book)Заимствование шифротекста в режиме ECB
= 84
= 8
1 0 1 0 1 00
= 88
=4
= ( a * 84 + b ) mod m = ( 7 * 84 + 12 ) mod 128 = 88
60
61.
Режим ECB (Electronic Code Book)0
1
1
0
42
18
8
5
50
10
88
4
0
7 бит
1
0
0
0
0
1
0
7 бит
1
0
1
0
1
1
0
7 бит
0
0
1
0
0
3
61
62.
Режим ECB (Electronic Code Book)0
1
1
0
42
18
8
5
50
10
88
4
0
8 бит
1
0
0
0
0
1
0
1
8 бит
0
1
0
1
1
0
0
0
1
0
0
8 бит
62
63.
Режим ECB (Electronic Code Book)0
1
1
0
42
18
8
5
50
10
88
4
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
8 бит
8 бит
8 бит
100
42
96
0
0
63
64.
Режим ECB (Electronic Code Book)0
1
1
0
42
18
8
5
50
10
88
4
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
8 бит
8 бит
8 бит
100
42
96
d
*
Ä
0
0
64
65.
Режим ECB (Electronic Code Book)P=“THE”=[84, 72, 69]
С=“d*Ä” = [100, 42, 96]
T
H
E
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
d
*
Ä
65
66.
Режим ECB (Electronic Code Book)Заимствование шифротекста в режиме ECB
РАСШИФРОВАНИЕ
66
67.
Режим ECB (Заимствование шифротекста )0
1
d
*
Ä
100
42
96
1
0
0
1
0
0
0
0
1
8 бит
0
1
1
0
0
0
1
0
1
0
1
1
0
0
8 бит
1
0
0
0
0
1
0
1
0
1
0
0
0
0
8 бит
0
1
0
1
1
0
0
0
1
7 бит
7 бит
7 бит
3
50
10
88
4
a=7, b=12, m=128, a_inv = 55, C0=50, C1=10, C2=88, C3=4
P0 = (( C0 – b ) * a_inv ) mod m = (( 50 - 12) * 55) mod 128 = 42
P1 = (( C1 – b ) * a_inv ) mod m = (( 10 - 12) * 55) mod 128 = 18
P2 = (( C2 – b ) * a_inv ) mod m = (( 88 - 12) * 55) mod 128 = 84
67
68.
Режим ECB (Заимствование шифротекста )= ?
= ?
= 88
=4
= (( C2 – b ) * a_inv ) mod m = (( 88 - 12) * 55) mod 128 = 84
68
69.
Режим ECB (Заимствование шифротекста )= ?
= 84
1 0 1 0 1 00
= 88
Формируем
=4
:
69
70.
Режим ECB (Заимствование шифротекста )== 8?
= 84
1 0 1 0 1 00
= 88
Формируем
=4
:
100 0100
= 68
= (( 68 - 12) * 55) mod 128 = 8
70
71.
Режим ECB (Заимствование шифротекста )= 8
= ?
1 0 1 0 1 00
= 88
=4
Находим
71
72.
Режим ECB (Заимствование шифротекста )= 8
= 5
1 0 1 0 1 00
= 88
=4
Находим
72
73.
Режим ECB (Заимствование шифротекста )= 5
= 8
1 0 1 0 1 00
= 88
42
0
1
0
1
0
7 бит
18
1
0
0
0
1
0
=4
8
0
7 бит
1
0
0
0
0
5
1
0
7 бит
0
0
1
0
3
1
73
74.
Режим ECB (Заимствование шифротекста)= 5
= 8
1 0 1
= 88
84
0
1
0
1
0
8 бит
T
=4
72
1
0
0
0
1
0
69
0
1
8 бит
0
0
0
0
1
0
0
0
1
0
1
8 бит
H
E
74
75.
Задание: режим ECB - заимствование шифротекстаРасшифровать сообщение из своего варианта:
https://forms.gle/NygJGcM5jXnMh4Va9
75
76.
Режим ECB (Заимствование шифротекста)1. a=15, b=127, m=128, cypher=[24, 113, 220]
↑qÜ
2. a=19, b=35, m=128, cypher=[82, 50, 37]
R2%
3. a=29, b=51, m=128, cypher=[234, 82, 89]
êRY
4. a=35, b=16, m=128, cypher=[109, 3, 31]
m♥▼
5. a=41, b=94, m=128, cypher=[58, 165, 38]
:¥&
6. a=49, b=64, m=128, cypher=[34, 66, 84]
"BT
7. a=51, b=85, m=128, cypher=[1, 19, 168]
8. a=55, b=74, m=128, cypher=[87, 163, 201]
9. a=57, b=22, m=128, cypher=[111, 96, 186]
10. a=67, b=12, m=128, cypher=[94, 243, 64]
11. a=69, b=25, m=128, cypher=[214, 184, 186]
12. a=73, b=87, m=128, cypher=[17, 193, 115]
☺‼¨
W£É
o`º
^ó@
Ö¸º
◄ Á s 76
pedagogy