View
333
Download
12
Category
Preview:
Citation preview
КриптографияСамое краткое введение в предмет
Владимир Иванов ivlad@yandex-team.ru
Примитивы и протоколыПримитивы
• Симметричный шифр (потоковый, блочный)
• Аутентификация сообщений, MAC
• Асимметричный шифр
Протоколы
• Выработка ключа
• Отправка и прием сообщения
Принцип Керкхоффса
Надежность системы шифрования не должна основываться на ее секретности. Система должна оставаться надежной даже если все ее компоненты, кроме ключа стали известны атакующему.
Симметричные шифры
ЕT C
K C = E (k, T)
Е TC
K T = D (k, C)
• Для любого фиксированного ключа k, Ek является биективной функцией на множестве блоков.
• Типичный размер блока – 128 бит
• Типичные размеры ключей – 128 или 256 бит
Шифры подстановки
• Табличная подстановка
• Шифр Цезаря
• Методика взлома
• Полиалфавитные шифры подстановки
• Шифр Виженера
Шифры перестановки
• Простая перестановка
• Перестановка по ключу
Поточные шифры
RC4
Salsa20
Блочный шифр – шифр, оперирующий блоками данных фиксированной длины. Определяется функциями шифрования и расшифрования.
• Для любого фиксированного ключа k, Ek является биективной функцией на множестве блоков.
• Типичный размер блока – 128 бит
• Типичные размеры ключей – 128 или 256 бит
Сеть Фейстеля
DES
• Сеть Фейстеля
• Размер блока - 64 бита
• Размер ключа - 56 бит
• 16 раундов
Как зашифровать несколько блоков?
ECB
ECB
CBC
Birthday paradox
• Какова вероятность совпадения двух блоков выхода шифра?
• Как это влияет на безопасность криптосистемы?
• Сколько времени это займет на реальном трафике?
CFB
OFB
CTR
Как зашифровать сообщение короче одного блока?
Аутентификация
Подделка содержимого
Сообщение
Гамма
Шифротекст
+
=
Сообщение
Гамма
Шифротекст
+
=
1
1
0
Подделка содержимого
• MAC: Message Authentication Code• Принимает на вход сообщение и ключ
• Генерирует код аутентификации или тег
MAC
MAC
Современные хеши
• MD4/MD5
• Семейство SHA
• ГОСТ 34.11-94
• Конкурс на стандартный алгоритм
Применение хеш-функций
• Выработка ключевой информации
• PBKDF2
• Хранение паролей
• Unix crypt(), Windows SAM
Асимметричные шифры
Однонаправленные функции
• Однонаправленными (односторонними) функциями называются такие, которые легко вычислить, но сложно обратить
• Подтверждает, что P≠NP
• Функции с лазейкой (trapdoor functions)
Diffie-Hellman
Diffie-Hellman
RSA
RSA
1.Выбираются два случайных простых числа p и q заданного размера (например, 1024 бита каждое).
2.Вычисляется их произведение n = pq, которое называется модулем.
3.Вычисляется значение функции Эйлера от числа n φ(n)=(q-1)(p-1)
RSA4. Выбирается целое число e (), взаимно простое со значением
функции φ(n).
• Число e называется открытой экспонентой (англ. public exponent)
• Время, необходимое для шифрования с использованием быстрого возведения в степень, пропорционально числу единичных бит в e.
• Слишком малые значения e, например 3, потенциально могут ослабить безопасность схемы RSA.
RSA• Вычисляется число d, мультипликативно
обратное к числу e по модулю , то есть число, удовлетворяющее условию de≡1 (mod φ(n)) или de = 1 + k φ(n), где k — некоторое целое число.
• Число d называется секретной экспонентой.
• Обычно, оно вычисляется при помощи расширенного алгоритма Евклида.
RSA
• Пара P = (e,n) публикуется в качестве открытого ключа RSA
• Пара S = (d,n) играет роль секретного ключа RSA
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
Сравнительная стойкость
Необходимо сравнить стойкость ключей
• Строгой оценки нет• Оценивается вычислительная сложность известных атак
• на процессорах общего назначения и на специальном оборудовании
• Критерий Ленстры
Сравнительная стойкость
СимметричноеАссиметричное
ХешОптимистично Пессимистично2008 74 1062 1077 1472009 74 1087 1114 1482010 75 1112 1152 1502011 76 1138 1190 1512012 76 1164 1229 152
http://keylength.com
Собираем всё вместе
Вопросы?Владимир Иванов ivlad@yandex-team.com
Recommended