Криптографические протоколы

Криптографические протоколы.

Программа курса.

Лекция 1.

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

Лекция 2. Симметричные криптосистемы. Потоковые шифры 1.

Одноразовый блокнот. Понятие псевдослучайности. Требования к потоковым шифрам: Постулаты Голомба, профиль линейной сложности. Методы построения больших периодов в поточных шифрах.

Лекция 3. Симметричные криптосистемы. Потоковые шифры 2.

Статистические тесты. Применение к известным генераторам. Понятие псевдослучайного генератора (PRG) и его криптографическая стойкость. Семантическая стойкости криптосистемы.

 

Лекция 4. Симметричные криптосистемы. Блоковые шифры 1.

Определение блокового шифра. Требования к блоковым шифрам. Различие понятий PRP и PRF. Определение стойкости. Способы построение блоковых шифров: подстановки, перестановки, сети Фейстеля. Алгоритм DES.

Лекция 5 . Симметричные криптосистемы. Блоковые шифры 2.

Режимы использования блочных шифров (“электронная кодовая книга”, режимы с зацеплением, режимы использования блочных шифров для получения поточных шифров). Детерминированные и недерминированные алгоритмы шифрования. Влияние случайности на стойкость. Слабости блочных шифров.

Лекция 6 . Контроль целостности.

MAC. Определение, модель безопасности. Построение на базе Блоковых шифров: BCB-MAC, NMAC, PMAC.

Лекция 7 . Хэш-функции.

Стойкость к колизиям. Требования к хэш-функциям. Парадокс ДР. Примеры хэш-функций. HMAC. CCA модель атак и аутентифицированное шифрование. Способы построения AE. Стандарты.

Лекция 8 . Основные алгоритмы с открытым ключом 1.

Схема RSA. Атаки на RSA. Базовые задачи, допущение Диффи и Хелмана. Возможность реализации систем на мультипликативной группе точек эллиптических кривых.

Лекция 9 . Основные алгоритмы с открытым ключом 2.

Схема шифрования ElGamal. Базовые задачи, допущение Диффи и Хелмана. Схема шифрования Меркла-Хелмана. Электронная цифровая подпись. Основные понятия, требования. Определение безопасности.

Лекция 10 . Управление ключами 1.

Попарные ключи. Использование мастер-ключей. Система Диффи и Хелмана. Человек посередине. Протоколы обмена ключами. С сервером, без сервера. Известные атаки на протоколы обмена ключами.

 

Лекция 11 . Управление ключами 2.

K-надежные схемы распределения ключей. Протоколы разделения секрета. Пороговая криптография.

Лекция 12 . Протоколы цифровых денег и электронного голосования.

Протоколы электронного голосования. Криптографическая реализация. Слепая подпись. Требования безопасности. Защищенные распределенные вычисления. Доказательства с нулевым разглашением. Примеры систем.

 

Лекция 13 . Протоколы идентификации + личностная криптография.

Схема идентификации Schnorr – Shamir. Схема идентификации Feige – Fiat – Shamir. Инфраструктура открытых ключей и альтернативные подходы(ID-based распределенные системы).

Лекция 14 . Пост-квантовая криптография.

Понятия квантовых вычислений. Построение криптосистем на доказано сложных задачах. Линейные коды. Способы задания. Декодирование линейных кодов как «трудная» задача. Декодирование линейных кодов как «простая» задача. NP- полные задачи кодирования. Системы Макэлиса и Нидерайтора.