Прикладная криптографическая инженерия
Наглядные объяснения к курсу. Всё работает прямо в браузере: меняйте входные данные, проходите алгоритм или атаку по шагам и смотрите, где именно всё получается или ломается.
Симметричное шифрование
Почему ECB протекает: режимы блочных шифров
Настоящий AES шифрует изображение тремя способами. В ECB картинка переживает шифрование; в CBC и CTR превращается в шум.
AES-128 · ECB · CBC · CTRОткрыть →Повтор nonce обнуляет ключ
Два сообщения с одним ключом и nonce делят ключевой поток. XOR шифртекстов убирает ключ, а угаданное слово раскрывает остальное.
C₁ ⊕ C₂ = P₁ ⊕ P₂Открыть →Оракул дополнения в CBC
Серверу достаточно отвечать «неверное дополнение», чтобы любое сообщение расшифровали байт за байтом без ключа. Демо атакует настоящий AES-CBC.
PKCS#7 · ≤ 256 запросов на байтОткрыть →Аутентификация и пароли
Утечка по времени при проверке MAC
Сравнение с ранним выходом длится тем дольше, чем больше совпавших начальных байтов. Измерьте время и восстановите секретный тег символ за символом.
memcmp · сравнение за постоянное времяОткрыть →Хранение паролей: соль и стоимость
Почему одинаковые пароли не должны давать одинаковые хеши и почему хеш пароля должен быть намеренно медленным.
SHA-256 · PBKDF2 · bcrypt · Argon2idОткрыть →Защита от повторного воспроизведения
Порядковые номера и скользящие окна: почему корректного MAC недостаточно.
счётчик · окно · nonceСкороHMAC и атака удлинением сообщения
Почему H(key ‖ message) — не MAC и как это исправляет HMAC.
SHA-256 · HMACСкороВыработка ключей с HKDF
На входе один секрет, на выходе много независимых ключей: сначала extract, затем expand.
RFC 5869 · соль · infoСкороОткрытые ключи и протоколы
Прямая секретность
Перехватчик записывает три сеанса и через годы крадёт ключ сервера. При передаче ключа через RSA вскрываются все сеансы; при эфемерном Диффи–Хеллмане — ни один.
передача ключа через RSA vs (EC)DHEОткрыть →Гибридное шифрование с RSA-OAEP
Данные шифруются AES, ключ AES — RSA, а ошибки обрабатываются безопасно.
RSA-OAEP · DEK · AEADСкороПодпись обновлений ПО
Доверие, проверка версий и что происходит при утечке ключа подписи.
Ed25519 · откат версииСкороПроверка цепочки сертификатов
Ломайте по одному полю и смотрите, какая проверка не проходит.
X.509 · цепочка · отзывСкороРукопожатие и ключевое расписание TLS 1.3
Сообщения в канале и дерево HKDF, которое превращает один общий секрет во все ключи трафика.
RFC 8446 · 1-RTT · 0-RTTСкороЭксплуатация
Конвертное шифрование с KMS и HSM
Ключи данных, ключи шифрования ключей и ротация без перешифрования всех данных.
DEK · KEK · ротацияСкороПлан перехода на постквантовую криптографию
Гибридный обмен ключами, размеры ключей и подписей и план миграции.
ML-KEM · ML-DSA · SLH-DSAСкоро