Симметричное шифрование

Содержание

Слайд 2

СОДЕРЖАНИЕ Основные принципы современных симметричных алгоритмов Алгоритм DES, режимы шифрования Алгоритм

СОДЕРЖАНИЕ

Основные принципы современных симметричных алгоритмов
Алгоритм DES, режимы шифрования
Алгоритм ГОСТ 28147-89, режимы

шифрования
Алгоритм Rijndael (AES)
Область поточных шифров и регистров сдвига с линейной обратной связью

Криптография - симметричные шифры

Слайд 3

СИММЕТРИЧНЫЕ И АССИМЕТРИЧНЫЕ ШИФРЫ Алгоритм шифрования является симметричным, если процесс шифрования

СИММЕТРИЧНЫЕ И АССИМЕТРИЧНЫЕ ШИФРЫ

Алгоритм шифрования является симметричным, если процесс шифрования и

расшифровывания используют один и тот же ключ.
Процесс шифрования Процесс расшифровывания
C = Ek (m) m = Dk (C)
Алгоритм шифрования является асимметричным, если процесс шифрования и расшифровывания используют два различных ключа.
Процесс шифрования Процесс расшифровывания
C = Ek1 (m) m = Dk2 (C)

Криптография - симметричные шифры

Слайд 4

СИММЕТРИЧНЫЕ ШИФРЫ – БЛОЧНЫЕ И ПОТОЧНЫЕ Открытый текст (m) ШИФРОТЕКСТ (С)

СИММЕТРИЧНЫЕ ШИФРЫ – БЛОЧНЫЕ И ПОТОЧНЫЕ

Открытый текст (m)

ШИФРОТЕКСТ (С)

Криптография - симметричные

шифры

Открытый текст (m)

ШИФРОТЕКСТ (С)

Поток ключей

Gen(k)

=


Слайд 5

СИММЕТРИЧНЫЕ ШИФРЫ – БЛОЧНЫЕ И ПОТОЧНЫЕ Сравнение блочного и поточного шифра:

СИММЕТРИЧНЫЕ ШИФРЫ – БЛОЧНЫЕ И ПОТОЧНЫЕ

Сравнение блочного и поточного шифра:
Блочный более

общий, трансформируется в поточный.
Поточный шифр имеет более математизированную структуру.
Поточные шифры не очень удобны с точки зрения программного обеспечения, но высоко эффективны с точки зрения аппаратной реализации.
Блочные шифры удобны и для программных и аппаратных средств, но не допускают быстрой обработки информации.
Аппаратные средства функционируют быстрее, чем программное обеспечение, но это за счет снижения гибкости.

Криптография - симметричные шифры

Слайд 6

БЛОЧНЫЕ ШИФРЫ - ИСТОРИЯ 1949 – Клод Шеннон: Перестановки + замены

БЛОЧНЫЕ ШИФРЫ - ИСТОРИЯ

1949 – Клод Шеннон: Перестановки + замены
1970 –

Lucifer (IBM): сеть Фейстеля + SP-сеть
1973 – Конкурс НИСТ: никто не прошел!
1974 – 2-ой конкурс: выиграл DES (IBM)
1977 – DES признан официальным стандартом в США
1989 – создание ГОСТ 28147-89
1990 – публикация ГОСТ 28147-89
1997 – взлом DES на суперкомпьютере за 3 дня
1997 – конкурс на AES
2000 – выигрывает Rijndael
2002 – Rijndael признан новым официальным стандартом в США
Блочные шифры - RС5, RC6, DES, 3DES, AES, ГОСТ 28147-89

Криптография - симметричные шифры

Слайд 7

БЛОЧНЫЕ ШИФРЫ – ИТЕРАТИВНЫЕ БЛОЧНЫЕ ШИФРЫ 1949 – Клод Шеннон «Теория

БЛОЧНЫЕ ШИФРЫ – ИТЕРАТИВНЫЕ БЛОЧНЫЕ ШИФРЫ

1949 – Клод Шеннон «Теория связи

в секретных системах». Идея итеративных блочных шифров на основе SP-сетей (перестановки + замены)
Шифр преобразует блоки открытого текста (m) постоянной длины (n) в блоки шифротекста (C) той же длины посредством циклически повторяющихся обратимых функций, известных как раундовые функции
Ci = Rki (Ci-1)
R – раундовая функция
ki – подключ , где 1≤ i ≤S
i – номер раунда
S – количество раундов
Ci - значение блока после i-го раунда
n – длина блока

Криптография - симметричные шифры

m

n

Rki

Ci

S раундов

C

Слайд 8

БЛОЧНЫЕ ШИФРЫ – SP-СЕТИ SP-сеть = substitution-permutation network (SPN) Чередующиеся стадии

БЛОЧНЫЕ ШИФРЫ – SP-СЕТИ

SP-сеть = substitution-permutation network (SPN)
Чередующиеся стадии подстановки (Substitution)

и перестановки (Permutation)
S-блоки (substitution box or S-box) – таблица подстановки
P-блоки (permutation box or P-box) – таблица перестановки
Основные принципы шифра по Шеннону:
Рассеивание (влияние одного символа на несколько символов шифротекста)
Перемешивание (усложнение взаимосвязей между элементами данных)

Криптография - симметричные шифры

Слайд 9

БЛОЧНЫЕ ШИФРЫ - СЕТЬ ФЕЙСТЕЛЯ 1971 – Хорст Фейстель патентует Lucifer

БЛОЧНЫЕ ШИФРЫ - СЕТЬ ФЕЙСТЕЛЯ

1971 – Хорст Фейстель патентует Lucifer с

сетью Фейстеля
Шифрование:
li = ri-1, ri = li-1⊕F(ki, ri-1)
Расшифрование:
ri-1 = li, li-1 = ri ⊕F(ki, li)
Одну и ту же микросхему
можно использовать
и для шифрования,
и для расшифрования (!!!)

Криптография - симметричные шифры

Fki


S раундов

Блок открытого текста

Блок шифротекста

Слайд 10

DES – НА ОСНОВЕ СЕТИ ФЕЙСТЕЛЯ DES – Data Encryption Standart

DES – НА ОСНОВЕ СЕТИ ФЕЙСТЕЛЯ
DES – Data Encryption Standart
Начальная перестановка

IP
Расщепление блока пополам
16 раундов сети Фейстеля
Соединение половин блока
Конечная перестановка IP-1
(обратная начальной)

Криптография - симметричные шифры

Fki


16 раундов

Блок открытого текста

Блок шифротекста

IP

IP-1

Слайд 11

DES - СТРУКТУРА Число раундов S = 16 Длина блока n

DES - СТРУКТУРА

Число раундов S = 16
Длина блока n = 64

бита
Размер ключа k – 56 бит
Подключи k1, k2,…по 48 битов (разворачивание из основного ключа через подстановки, перестановки и циклические сдвиги)
Действие F
Перестановка с расширением (32 → 48) (зачем расширение???)
Сложение с подключом (48 + 48)
Расщепление (48 = 8 частей по 6 битов)
Подстановки через S – блок (8 * (6 → 4) = 32)
Перестановки через P – блок (32 → 32)

Криптография - симметричные шифры

Слайд 12

DES - СТРУКТУРА Криптография - симметричные шифры

DES - СТРУКТУРА

Криптография - симметричные шифры

Слайд 13

DES – S-БЛОКИ На вход подается 6 бит: На выходе получается

DES – S-БЛОКИ

На вход подается 6 бит:
На выходе получается 4 бита

Криптография

- симметричные шифры

Номер столбца

Номер строки

S-блок №1

Слайд 14

3DES (TRIPLE DES) Использует 3 ключа по 56 бит (3*56=168) Различные

3DES (TRIPLE DES)

Использует 3 ключа по 56 бит (3*56=168)
Различные модификации 3DES:
DES-EEE3
DES-EDE3
DES-EEE2
DES-EDE2

Криптография

- симметричные шифры
Слайд 15

DES – РЕЖИМЫ ШИФРОВАНИЯ Сообщение: Заплати старосте 200 руб Вставка? Удаление?

DES – РЕЖИМЫ ШИФРОВАНИЯ

Сообщение: Заплати старосте 200 руб
Вставка? Удаление? Повторы? Помехи

при передаче?
Режимы шифрования:
ECB – Electronic Code Book (электронная кодовая книга)
CBC – Cipher Block Chaining (сцепление блоков шифротекста)
OFB – Output FeedBack (обратная связь вывода)
CFB – Cipher FeedBack (обратная связь шифра)

Криптография - симметричные шифры

Слайд 16

РЕЖИМЫ ШИФРОВАНИЯ - ECB ECB (Electronic Code Book – Режим электронной

РЕЖИМЫ ШИФРОВАНИЯ - ECB
ECB (Electronic Code Book – Режим электронной кодовой

книги) – прост в обращении, но не защищен от атак с удалением и вставками. Ошибка в одном бите влияет на целый блок в расшифрованном тексте. Можно работать с блоками независимо и даже распараллелить вычисления.

Криптография - симметричные шифры

Слайд 17

РЕЖИМЫ ШИФРОВАНИЯ - CBC CBC (Cipher Block Chaining-Режим сцепления блоков) –

РЕЖИМЫ ШИФРОВАНИЯ - CBC
CBC (Cipher Block Chaining-Режим сцепления блоков) – предотвращает

потери при атаке со вставкой и удалением. Ошибки при шифровании и в открытом тексте дают ошибку не только в текущем блоке, но и портит следующие блоки.

Криптография - симметричные шифры

Слайд 18

РЕЖИМЫ ШИФРОВАНИЯ - CFB CFB (Сipher FeedBack – режим обратной связи

РЕЖИМЫ ШИФРОВАНИЯ - CFB
CFB (Сipher FeedBack – режим обратной связи по

шифротексту) – защита от атак вставки и удаления. Ошибки в открытом тексте и при шифровании распрастраняются дальше по шифротексту.

Криптография - симметричные шифры

Слайд 19

РЕЖИМЫ ШИФРОВАНИЯ - OFB OFB (Output FeedBack – режим обратной связи

РЕЖИМЫ ШИФРОВАНИЯ - OFB
OFB (Output FeedBack – режим обратной связи по

выходу) – Ошибка в открытом тексте остается в блоке. Ошибка при шифровании распространяется по шифротексту.

Криптография - симметричные шифры

Слайд 20

ГОСТ 28147-89 «ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического

ГОСТ 28147-89

«ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования»
1989

– год создания (?)
1990 – опубликован для «служебного пользования»
1994 – полностью открыт
Работает, как и DES, на основе сети Фейстеля:
Число раундов S = 32
Длина блока n = 64 бита
Размер ключа k – 256 бит
Подключи k1, k2,…, k8 по 32 бита повторяются 4 раза

Криптография - симметричные шифры

Слайд 21

ГОСТ 28147-89 Криптография - симметричные шифры

ГОСТ 28147-89

Криптография - симметричные шифры

Слайд 22

ГОСТ 28147-89 – РЕЖИМЫ ШИФРОВАНИЯ Простая замена (ECB – electronic code

ГОСТ 28147-89 – РЕЖИМЫ ШИФРОВАНИЯ

Простая замена (ECB – electronic code book)
Гаммирование
Гаммирование

с обратной связью (CFB – Cipher FeedBack)
Имитовставка (MAC – message authentication code)

Криптография - симметричные шифры

Простая замена (ECB)

Слайд 23

ГОСТ 28147-89 – РЕЖИМЫ РАБОТЫ Криптография - симметричные шифры Гаммирование Гаммирование

ГОСТ 28147-89 – РЕЖИМЫ РАБОТЫ

Криптография - симметричные шифры

Гаммирование

Гаммирование с обратной связью

(CFB)

Имитовставка (MAC)

Слайд 24

ГОСТ 28147-89 – ПРЕИМУЩЕСТВА И НЕДОСТАТКИ Преимущества Криптостойкость (устойчив к линейному

ГОСТ 28147-89 – ПРЕИМУЩЕСТВА И НЕДОСТАТКИ

Преимущества
Криптостойкость (устойчив к линейному и дифференциальному

криптоанализу)*
Скорость работы, эффективность реализации*
4 режима работы, возможность аутентификации (имитовставка)

Недостатки
Не описан способ генерации ключей и таблиц замены – существуют слабые ключи и слабые таблицы замены*

Криптография - симметричные шифры

* Субъективно. Существуют различные мнения на этот счет

Слайд 25

RIJNDAEL – ПОБЕДИТЕЛЬ AES 1997 – конкурс на AES 2000 –

RIJNDAEL – ПОБЕДИТЕЛЬ AES

1997 – конкурс на AES
2000 – выигрывает Rijndael
2002

– Rijndael признан новым официальным стандартом в США
Разработан 2-мя бельгийскими криптографами: Rijmen и Daemen

Криптография - симметричные шифры

Rijndael – настраиваемый блочный алгоритм, блоки по 128, 192 или 256 бит.
Но стандартом является только блок в 128 бит.
Количество раундов зависит от размера блока и длины ключа.

Количество раундов

Слайд 26

RIJNDAEL - СТРУКТУРА Блок представляется в виде матрицы состояний 4*4(для 128

RIJNDAEL - СТРУКТУРА

Блок представляется в виде матрицы состояний 4*4(для 128 бит):

Криптография

- симметричные шифры

Раундовая функция состоит из:
SubBytes – замена по Sbox-ам
ShiftRows – сдвиг строк
MixColumns – преобразование колонок
AddRoundKey – сложение с подключом

Слайд 27

RIJNDAEL - SUBBYTES Криптография - симметричные шифры Sbox-ы имеют математизированную структуру:

RIJNDAEL - SUBBYTES

Криптография - симметричные шифры

Sbox-ы имеют математизированную структуру:
Байт s =

32h = 00110010 = x5+x4+x
К многочлену s вычисляется обратный многочлен x по модулю x8+x4+x3+x+1 (неприводим)
Многочлен x умножается на фиксированную матрицу 8*8 и получается многочлен y, который и является результатом Sbox-а.

Sbox

Слайд 28

RIJNDAEL – SHIFTROWS & MIXCOLUMNS Криптография - симметричные шифры 1 2

RIJNDAEL – SHIFTROWS & MIXCOLUMNS

Криптография - симметричные шифры

1

2

3

*

=

ShiftRows

MixColumns

*На самом деле умножение

на таблицу есть умножение столбца a(X) на фиксированный многочлен c(X) по модулю многочлена M(X) = X4 + 1
Слайд 29

RIJNDAEL – ADDROUNDKEY Криптография - симметричные шифры ⊕ = RoundKey Псевдокод:

RIJNDAEL – ADDROUNDKEY

Криптография - симметричные шифры


=

RoundKey

Псевдокод:
AddRoundKey(S, K[0]);
for (i=l; i<=9; i++) {


SubBytes(S);
ShiftRows(S);
MixColumns(S) ;
AddRoundKey(S, K[i]);
}
SubBytes(S);
ShiftRows(S);
AddRoundKey(S,К[10])
Слайд 30

ПОТОЧНЫЕ ШИФРЫ m0, m1,… биты открытого текста k0, k1,… биты ключевого

ПОТОЧНЫЕ ШИФРЫ

m0, m1,… биты открытого текста
k0, k1,… биты ключевого потока
Шифрование

:
Ci = mi ⊕ ki
Расшифрование:
mi = Ci ⊕ ki
Gen(k) – Генератор ключевого потока

Криптография - симметричные шифры

Открытый текст (m)

ШИФРОТЕКСТ (С)

Поток ключей

Gen(k)

=


Слайд 31

ПОТОЧНЫЕ ШИФРЫ – ПРЕИМУЩЕСТВА И НЕДОСТАТКИ Преимущества Простая схема шифрования и

ПОТОЧНЫЕ ШИФРЫ – ПРЕИМУЩЕСТВА И НЕДОСТАТКИ

Преимущества
Простая схема шифрования и дешифрования

(просто XOR)
Высокая скорость (исп. для потоковых данных: видео-, аудио-)
Нет накопления ошибки

Недостатки
Проблема распределения ключей -нельзя использовать один и тот же ключ дважды:
C1 ⊕ C2 = (m1⊕k) ⊕(m2⊕k) = m1⊕ m2
Проблема генерации ключевого потока

Криптография - симметричные шифры

Слайд 32

ПОТОЧНЫЕ ШИФРЫ – ТРЕБОВАНИЯ К ГЕНЕРАТОРУ КЛЮЧЕВОГО ПОТОКА Ключевой поток должен:

ПОТОЧНЫЕ ШИФРЫ – ТРЕБОВАНИЯ К ГЕНЕРАТОРУ КЛЮЧЕВОГО ПОТОКА

Ключевой поток должен:
Иметь большой

период.
Найдется n: ki = ki+n для ∀i
n – период последовательности
Иметь псевдо-случайные свойства.
В идеале, если кто-то знает первый миллиард битов ключевой последовательности, вероятность угадать следующий бит не должна превышать 50%.

Криптография - симметричные шифры

Слайд 33

ПОТОЧНЫЕ ШИФРЫ – ОДНОРАЗОВЫЙ ШИФР-БЛОКНОТ В 1917 Гильберт Вернам запатентовал одноразовый

ПОТОЧНЫЕ ШИФРЫ – ОДНОРАЗОВЫЙ ШИФР-БЛОКНОТ

В 1917 Гильберт Вернам запатентовал одноразовый шифр-блокнот

(шифр Вернама)
Суть – XOR с ключом той же длины, что и сообщение
При этом ключ должен обладать тремя критически важными свойствами:
- иметь случайное равномерное распределение;
- совпадать по размеру с заданным открытым текстом;
- применяться только один раз.
Обладает абсолютной криптостойкостью

Криптография - симметричные шифры

Слайд 34

ПОТОЧНЫЕ ШИФРЫ - РСЛОС РСЛОС – Регистр Сдвига с Линейной Обратной

ПОТОЧНЫЕ ШИФРЫ - РСЛОС

РСЛОС – Регистр Сдвига с Линейной Обратной Связью

(LFSR - Linear Feedback Shift Register)
Для функции обратной связи рекомендуется использовать нелинейные функции. Однако это сложно осуществимо на практике

Криптография - симметричные шифры

Регистр

Отводы

Функция обратной связи

Выход

Сдвиг

Слайд 35

РСЛОС – ЛИНЕЙНАЯ ФУНКЦИЯ ОБРАТНОЙ СВЯЗИ В качестве функции обратной связи

РСЛОС – ЛИНЕЙНАЯ ФУНКЦИЯ ОБРАТНОЙ СВЯЗИ

В качестве функции обратной связи берется

логическая операция XOR:
[c1,…cl] – последовательность битов, на отводах – 1, остальные – 0
[sl-1 , … s1, s0] - начальное положение регистра
На выходе регистра получается:
s0, s1, … sl-1, sl, sl+1, …
где для j >= l :
sj = c1⋅ sj-1 ⊕ c2⋅ sj-2 ⊕… ⊕ cl⋅ sj-l
Свойства выдаваемой РСЛОС последовательности связанны со свойствами двоичного многочлена ассоциированного с регистром :
C(X) = 1+c1X+c2X2 +…+clXl ∈F2[X]

Криптография - симметричные шифры

Слайд 36

РСЛОС - ПРИМЕР РСЛОС с ассоциированным многочленом X3 + X1 +1

РСЛОС - ПРИМЕР

РСЛОС с ассоциированным многочленом
X3 + X1 +1
sj =

sj-3 ⊕ sj-1

Криптография - симметричные шифры


Слайд 37

РСЛОС - КОМБИНИРОВАНИЕ Комбинирующая функция: f (x1,x2,x3,x4,x5)=1⊕x1⊕x2⊕x3⊕x4⋅x5⊕x1⋅x2⋅x3⋅x5 Пусть есть n РСЛОС

РСЛОС - КОМБИНИРОВАНИЕ

Комбинирующая функция:
f (x1,x2,x3,x4,x5)=1⊕x1⊕x2⊕x3⊕x4⋅x5⊕x1⋅x2⋅x3⋅x5
Пусть есть n РСЛОС c попарно

различными периодами l1, … ln ,
каждый из которых больше 2, тогда линейная сложность потока
ключей, генерируемого f(x1,… xn ), вычисляется с помощью f(l1,…ln)

Криптография - симметричные шифры

РСЛОС-1

РСЛОС-2

РСЛОС-3

РСЛОС-4

Нелинейная комбинирующая функция

Слайд 38

СТАНДАРТ GSM – A3, A5, A8 GSM (Groupe Spécial Mobile, позже

СТАНДАРТ GSM – A3, A5, A8
GSM (Groupe Spécial Mobile, позже Global System

for Mobile Communications) — глобальный стандарт цифровой мобильной сотовой связи. Разработан под эгидой ETSI в конце 1980-х.
Шифрование в GSM обеспечивается 3 стандартами:
А3 – аутентификация (генерирует SRES по RAND и Ki)
А5 – поточный шифр (шифрует разговор с помощью Kc)
А8 – создание сеансовых ключей (генерирует Kc по RAND и Ki)
A3, A5, A8 и Ki зашиты в SIM-карте абонента.

Криптография - симметричные шифры

Слайд 39

A5 – ПОТОЧНЫЙ ШИФР В GSM Существует несколько модификаций: A5/0 :

A5 – ПОТОЧНЫЙ ШИФР В GSM

Существует несколько модификаций:
A5/0 : шифрования

нет
A5/1 : стандарт
A5/2 : понижена криптостойкость, добавлен еще 1 регистр
A5/3 : новый алгоритм KASUMI (1999), утвержден для 3G
A5/1:
3 РСЛОС (R1, R2, R3) по 19, 22 и 23 бита
Многочлены обратных связей:
X19 + X18 + X17 + X14 + 1 для R1
X22 + X21 + 1 для R2
X23 + X22 + X21 + X8 + 1 для R3

Криптография - симметричные шифры

Слайд 40

A5/1 - СТРУКТУРА Криптография - симметричные шифры

A5/1 - СТРУКТУРА

Криптография - симметричные шифры