47
Криптография Самое краткое введение в предмет Владимир Иванов [email protected]

Владимир Иванов - Криптография и шифрование

  • Upload
    yandex

  • View
    332

  • Download
    12

Embed Size (px)

Citation preview

Page 1: Владимир Иванов - Криптография и шифрование

КриптографияСамое краткое введение в предмет

Владимир Иванов [email protected]

Page 2: Владимир Иванов - Криптография и шифрование

Примитивы и протоколыПримитивы

• Симметричный шифр (потоковый, блочный)

• Аутентификация сообщений, MAC

• Асимметричный шифр

Протоколы

• Выработка ключа

• Отправка и прием сообщения

Page 3: Владимир Иванов - Криптография и шифрование

Принцип Керкхоффса

Надежность системы шифрования не должна основываться на ее секретности. Система должна оставаться надежной даже если все ее компоненты, кроме ключа стали известны атакующему.

Page 4: Владимир Иванов - Криптография и шифрование

Симметричные шифры

Page 5: Владимир Иванов - Криптография и шифрование

ЕT C

K C = E (k, T)

Page 6: Владимир Иванов - Криптография и шифрование

Е TC

K T = D (k, C)

Page 7: Владимир Иванов - Криптография и шифрование

• Для любого фиксированного ключа k, Ek является биективной функцией на множестве блоков.

• Типичный размер блока – 128 бит

• Типичные размеры ключей – 128 или 256 бит

Page 8: Владимир Иванов - Криптография и шифрование

Шифры подстановки

• Табличная подстановка

• Шифр Цезаря

• Методика взлома

• Полиалфавитные шифры подстановки

• Шифр Виженера

Page 9: Владимир Иванов - Криптография и шифрование

Шифры перестановки

• Простая перестановка

• Перестановка по ключу

Page 10: Владимир Иванов - Криптография и шифрование

Поточные шифры

Page 11: Владимир Иванов - Криптография и шифрование

RC4

Page 12: Владимир Иванов - Криптография и шифрование

Salsa20

Page 13: Владимир Иванов - Криптография и шифрование

Блочный шифр – шифр, оперирующий блоками данных фиксированной длины. Определяется функциями шифрования и расшифрования.

Page 14: Владимир Иванов - Криптография и шифрование

• Для любого фиксированного ключа k, Ek является биективной функцией на множестве блоков.

• Типичный размер блока – 128 бит

• Типичные размеры ключей – 128 или 256 бит

Page 15: Владимир Иванов - Криптография и шифрование

Сеть Фейстеля

Page 16: Владимир Иванов - Криптография и шифрование

DES

• Сеть Фейстеля

• Размер блока - 64 бита

• Размер ключа - 56 бит

• 16 раундов

Page 17: Владимир Иванов - Криптография и шифрование

Как зашифровать несколько блоков?

Page 18: Владимир Иванов - Криптография и шифрование

ECB

Page 19: Владимир Иванов - Криптография и шифрование

ECB

Page 20: Владимир Иванов - Криптография и шифрование

CBC

Page 21: Владимир Иванов - Криптография и шифрование

Birthday paradox

• Какова вероятность совпадения двух блоков выхода шифра?

• Как это влияет на безопасность криптосистемы?

• Сколько времени это займет на реальном трафике?

Page 22: Владимир Иванов - Криптография и шифрование

CFB

Page 23: Владимир Иванов - Криптография и шифрование

OFB

Page 24: Владимир Иванов - Криптография и шифрование

CTR

Page 25: Владимир Иванов - Криптография и шифрование

Как зашифровать сообщение короче одного блока?

Page 26: Владимир Иванов - Криптография и шифрование

Аутентификация

Page 27: Владимир Иванов - Криптография и шифрование

Подделка содержимого

Сообщение

Гамма

Шифротекст

+

=

Page 28: Владимир Иванов - Криптография и шифрование

Сообщение

Гамма

Шифротекст

+

=

1

1

0

Подделка содержимого

Page 29: Владимир Иванов - Криптография и шифрование

• MAC: Message Authentication Code• Принимает на вход сообщение и ключ

• Генерирует код аутентификации или тег

MAC

Page 30: Владимир Иванов - Криптография и шифрование

MAC

Page 31: Владимир Иванов - Криптография и шифрование

Современные хеши

• MD4/MD5

• Семейство SHA

• ГОСТ 34.11-94

• Конкурс на стандартный алгоритм

Page 32: Владимир Иванов - Криптография и шифрование

Применение хеш-функций

• Выработка ключевой информации

• PBKDF2

• Хранение паролей

• Unix crypt(), Windows SAM

Page 33: Владимир Иванов - Криптография и шифрование

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

Page 34: Владимир Иванов - Криптография и шифрование

Однонаправленные функции

• Однонаправленными (односторонними) функциями называются такие, которые легко вычислить, но сложно обратить

• Подтверждает, что P≠NP

• Функции с лазейкой (trapdoor functions)

Page 35: Владимир Иванов - Криптография и шифрование

Diffie-Hellman

Page 36: Владимир Иванов - Криптография и шифрование

Diffie-Hellman

Page 37: Владимир Иванов - Криптография и шифрование

RSA

Page 38: Владимир Иванов - Криптография и шифрование

RSA

1.Выбираются два случайных простых числа p и q заданного размера (например, 1024 бита каждое).

2.Вычисляется их произведение n = pq, которое называется модулем.

3.Вычисляется значение функции Эйлера от числа n φ(n)=(q-1)(p-1)

Page 39: Владимир Иванов - Криптография и шифрование

RSA4. Выбирается целое число e (), взаимно простое со значением

функции φ(n).

• Число e называется открытой экспонентой (англ. public exponent)

• Время, необходимое для шифрования с использованием быстрого возведения в степень, пропорционально числу единичных бит в e.

• Слишком малые значения e, например 3, потенциально могут ослабить безопасность схемы RSA.

Page 40: Владимир Иванов - Криптография и шифрование

RSA• Вычисляется число d, мультипликативно

обратное к числу e по модулю , то есть число, удовлетворяющее условию de≡1 (mod φ(n)) или de = 1 + k φ(n), где k — некоторое целое число.

• Число d называется секретной экспонентой.

• Обычно, оно вычисляется при помощи расширенного алгоритма Евклида.

Page 41: Владимир Иванов - Криптография и шифрование

RSA

• Пара P = (e,n) публикуется в качестве открытого ключа RSA

• Пара S = (d,n) играет роль секретного ключа RSA

Page 42: Владимир Иванов - Криптография и шифрование

RSA, шифрование

Шифрование на открытом ключе (e, n)

• Открытый текст M• Шифротекст C = Me mod n

Расшифровка за закрытом ключе (d, n)

• Cd mod n = (Me mod n)d mod n = Med mod n = M mod n

Page 43: Владимир Иванов - Криптография и шифрование

Сравнительная стойкость

Page 44: Владимир Иванов - Криптография и шифрование

Необходимо сравнить стойкость ключей

• Строгой оценки нет• Оценивается вычислительная сложность известных атак

• на процессорах общего назначения и на специальном оборудовании

• Критерий Ленстры

Page 45: Владимир Иванов - Криптография и шифрование

Сравнительная стойкость

СимметричноеАссиметричное

ХешОптимистично Пессимистично2008 74 1062 1077 1472009 74 1087 1114 1482010 75 1112 1152 1502011 76 1138 1190 1512012 76 1164 1229 152

http://keylength.com

Page 46: Владимир Иванов - Криптография и шифрование

Собираем всё вместе

Page 47: Владимир Иванов - Криптография и шифрование

Вопросы?Владимир Иванов [email protected]