Слайд 1Блочные системы шифрования
Криптографическая защита информации
Лекция №5
Слайд 2Учебные вопросы
Принципы построения блочных шифров
Примеры блочных шифров
Американский стандарт шифрования DES
Стандарт шифрования
ГОСТ
Слайд 3Введение
Блочные и поточные шифры
Энтропия текста
Сложность реализации преобразования алфавитов большой мощности
Слайд 4Принципы построения блочных шифров
Y=Ek(X)
X=Dk(Y)
N -> 2n-1
128 -> 1021лет
Известные открытые
и зашифрованные части блоков
Слайд 5Условия стойкого блочного алгоритма
Функция Ek(X) должна быть обратимой.
Не должно существовать
иных методов прочтения сообщения X по известному блоку Y, кроме как полным перебором ключей k.
Не должно существовать иных методов определения, каким ключом k было произведено преобразование известного сообщения X в сообщение Y, кроме как полным перебором ключей.
Слайд 6Представление целых чисел
32 бита ->0… 4 294 967 295
16+16 -> 2
x 0…65 535
8+8+8+8 -> 4 x 0…256
Слайд 7Биективные математические функции
сложение (X'=X+V);
исключающее ИЛИ (X'=X XOR V);
умножение по модулю 2N+1(X'=(X*V)
mod (2N+1));
умножение по модулю 2N(X'=(X*V) mod (2N));
Слайд 8Битовые сдвиги
арифметический сдвиг влево/вправо(X'=X SHL/SHR V);
циклический сдвиг влево/вправо(X'=X ROL/ROR V);
Слайд 9Табличные подстановки
S-box (англ. substitute)
(X'=Table[X,V]).
Слайд 10Параметр V
фиксированное число (например, X'=X+125);
число, получаемое из ключа (например, X'=X+F(k));
число, получаемое
из независимой части блока (например, X2'=X2+F(X1)).
Слайд 12Сеть Фейстеля
(Feistel Network)
Y1 = X2,
Y2 = X1 ⊕ ƒi(X2,ki),
X –
входной блок, разделённый на две половины X1 и X2,
(Y1,Y2) – результат зашифрования блока X на ключе ki с помощью функции ƒi.
Слайд 13Сеть Фейстеля
(Feistel Network)
X1 = Y2 ⊕ ƒi(Y1,ki),
X2 = Y1.
Слайд 15Американский стандарт шифрования DES
Национальное Бюро Стандартов (National Bureau of Standards, NBS)
Национальным институтом стандартов и технологий США (National Institute of Standards and Technology, NIST)
Слайд 16Критерии оценки алгоритма 1 часть из 2
алгоритм должен обеспечивать высокий уровень
безопасности;
алгоритм должен быть полностью определён и легко понятен;
безопасность алгоритма должна основываться на ключе и не должна зависеть от сохранения в тайне самого алгоритма;
алгоритм должен быть доступен всем пользователям;
Слайд 17Критерии оценки алгоритма 2 часть из 2
алгоритм должен позволять адаптацию к
различным применениям;
алгоритм должен позволять экономичную реализацию в виде электронных приборов;
алгоритм должен быть эффективным в использовании;
алгоритм должен предоставлять возможности проверки;
алгоритм должен быть разрешён для экспорта.
Слайд 18DES
(Data Encryption Standard)
опубликован Национальным бюро стандартов США в 1977 г.
В 1980 г.алгоритм был принят NIST в качестве первого стандарта шифрования данных для защиты от несанкционированного доступа к важной, но несекретной информации в государственных и коммерческих организациях США.
Слайд 21Обозначения
Li и Ri - левая и правая половины 64-битного блока LiRi;
⊕
- операция побитового сложения векторов-блоков по модулю 2;
ki – 48-битовые ключи;
ƒ - функция шифрования;
IP – начальная перестановка степени 64.
Слайд 23Начальная перестановка
бит 58 блока T становится битом 1, бит 50 –
битом 2 и т.д.
Полученный после перестановки блок IP(T) разделяется на две половины: L0, cостоящую из 32 старших бит, и R0, состоящую из 32 младших бит.
Слайд 24Итеративный процесс шифрования
16 циклов преобразований Фейстеля.
Ti-1 = Li-1Ri-1 – результат (i-1)-й
итерации.
Ti = LiRi
Li = Ri-1,
Ri = Li-1 ⊕ ƒ(Ri-1, ki), i = 1…16.
ƒ - функция шифрования
Ri-1 – 32 бита
ki – 48 бит
K – 56 бит
T16 = R16L16.
IP-1
Слайд 25Расшифрование
Ri-1= Li,
Li-1 = Ri ⊕ ƒ(Li, ki), i = 16…1.
от
Слайд 26схема вычисления значения функции ƒ(Ri-1, ki)
Слайд 27схема вычисления значения функции ƒ(Ri-1, ki)
функция расширения E;
преобразование S, составленное из
восьми преобразований S-блоков S1,S2,…,S8;
перестановка P.
Слайд 32Преобразование блока
Bj в B'j
B2 = 111010
a = 1….0 (двоичн.)
b=
.1101. (двоичн.)
0 ≤ a ≤ 3 ,
0 ≤ b ≤ 15
a=2 (дес.)
b=13 (дес.)
Слайд 34ƒ(Ri-1, ki)
Перестановка P
B’1B’2…B’8
Слайд 35Обработка ключей
k – 56 бит
ki – 48 бит
8,16,24,32,40,48,56,64
Слайд 39Перестановка со сжатием
9, 18, 22, 25, 35, 38, 43, 54 из
CiDi отсутствуют в ki
Слайд 41Стандарт шифрования данных ГОСТ 28147-89
Алгоритм реализует шифрование 64-битовых блоков данных с
помощью 256-битового ключа.
Слайд 43Стандарт шифрования данных ГОСТ 28147-89
N1 и N2 – 32-х разрядные накопители;
СМ1
– сумматор по модулю 232 (операция +);
СМ2 – сумматор по модулю 2 (операция ⊕);
R – 32-разрядный регистр циклического сдвига;
КЗУ – ключевое запоминающее устройство объёмом 256 бит, состоящее из восьми 32-разрядных накопителей;
S – блок подстановки, состоящий из восьми узлов замены (S-блоков замены) S1,S2,…S8.
Слайд 44Стандарт шифрования данных ГОСТ 28147-89
64-разрядный блок T0
32 цикла (j =
1…32).
256 бит ключа k,
Восемь 32-разрядных подключей ki k=k7k6k5k4k3k2k1k0.
Слайд 45Стандарт шифрования данных ГОСТ 28147-89
T0=(a1(0),…,a32(0),
b1(0),…,b32(0))
a(0)=(a32(0),a31(0),…,a1(0)),
b(0)= (b32(0),b31(0),…,b1(0)).
Слайд 46Стандарт шифрования данных ГОСТ 28147-89
N1 и N2
N1 - a(0),
N2 -
b(0).
Слайд 47Стандарт шифрования данных ГОСТ 28147-89
a(j)=(a32(j),…,a1(j)),
b(j)=(b32(j),…,b1(j))
N1 и N2 после j-го цикла
зашифрования
ƒ - обозначение функции шифрования.
Слайд 48Стандарт шифрования данных ГОСТ 28147-89
a(j)=ƒ(a(j-1)+kj-1(mod8))⊕b(j-1),
b(j)=a(j-1),
при j=1…24
Слайд 49Стандарт шифрования данных ГОСТ 28147-89
a(j)=ƒ(a(j-1)+k32-j(mod8) ) ⊕b(j-1),
b(j)=a(j-1),
при j=25…31
Слайд 50Стандарт шифрования данных ГОСТ 28147-89
a(32)=a(31),
b(32)=ƒ(a(31)+k0)⊕b(31).
Слайд 51Вычисление функции ƒ
1 этап
32-битовый аргумент x,
S
восемь последовательных
4-битовых вектора
узел замены Si, i=8...1
таблица перестановки – 16
32-битовый вектор S(x)
Слайд 52Вычисление функции ƒ
2 этап
R
циклический сдвиг вектора влево на
11 позиций
Слайд 53Стандарт шифрования данных ГОСТ 28147-89
результатом зашифрования блока T0 является блок Tш
Tш = (а1(32),а2(32),...,а32(32), b1(32),b2(32),...,b32 (32)).
Слайд 54Режимы использования блочных шифров
режим электронной кодовой книги (ECB – Electronic Code
Book);
режим сцепления блоков (CBC – Cipher Block Chaining);
режим обратной связи по шифртексту (CFB – Cipher Feed Back);
режим обратной связи по выходу (OFB – Output Feed Back).
Слайд 55Режим сцепления блоков (CBC – Cipher Block Chaining)
Ci, i ≥ 1
Mi+1
С0
= IV (Initial Vector)
Ci=DESk(Ci-1⊕Mi)
Слайд 57Режим обратной связи по шифртексту (CFB – Cipher Feed Back)
Z0,Z1,…
Z0
= IV
i ≥ 1
Zi = DESk(Ci-1)
Ci = Mi ⊕ Zi, i ≥ 1
Слайд 59Режим m-битовой обратной связи
1 ≤ m ≤ 64.
IV, выровненный по
правому краю
Ci = Mi ⊕ Pi
Pi – вектор, состоящий из старших битов блока DESk(Ci-1)
Слайд 61Режимы использования
ГОСТ – 28147-89
режим простой замены
режим шифрования с обратной связью
режим гаммирования с обратной связью
ECB, CBC, CFB
Слайд 62Режим гаммирования
Ci = Мi ⊕ F(γi), i = 1,2,...,
Слайд 63Комбинирование алгоритмов блочного шифрования
С = Еk2 (Еk1 (М))
С = Еk1
(Dk20 (Еk1 (М)))
С = Еk3 (Dk2 (Еk1 (М)))