mirror of
https://github.com/valitydev/camp-creepy-crypto.git
synced 2024-11-06 01:25:19 +00:00
Bird's-eye view of cryptography theory
assets | ||
bleach | ||
lenex | ||
nossh | ||
pador | ||
template | ||
01-01-symmetric.md | ||
01-02-integrity.md | ||
01-03-authenticated-encryption.md | ||
02-01-number-theory.md | ||
02-02-asymmetric.md | ||
CREDITS.md | ||
LICENSE | ||
README.md |
Creepy Crypto
Экстремально короткий курс по основам и инструментам современной криптографии.
Установка
Для работы с лекциями нужен Backslide.
Для работы со слайдами в браузере:
bs serve
План лекций
Лекция 1
Теория
≈ 75 минут
О чём: задачи, теоретические инструменты, симметричное шифрование, контроль целостности
- one time pad
- конфиденциальность
- грааль perfect security
- размер ключа ≥ размер сообщения
- stream ciphers
- csprngs
- semantic security
- вероятностная модель
- игра отличить одно от другого
- практически допустимые границы вероятностей
- игра отличи случайный поток бит от выхлопа алгоритма со случайным сидом
- coa
- не более одного сообщения с одним ключом
- block ciphers
- блоки определённого размера
- prp
- более сильные
- ecb и semantic security
prf- det ctr / аналогия с stream cipher
- cpa / probabilistic algos / randomization
- cbc / iv /
rand ctr - malleability + cca
Практика
≈ 240 минут
- Получение plaintext с помощью CCA на сервер, использующий AES-CBC с padding oracle.
Лекция 2
Теория
≈ 45 минут
О чём: контроль целостности
- message integrity
- плюс authenticity
- не confidentiality!
- нужен ключ, иначе нет authenticity
- игра попробуй подделать подпись
- AES в CBC-MAC
- хэши как PRF
- one way
- collision resistance
- HMAC
Практика
≈ 240 минут
- Изменение статуса пользователя с помощью length extension attack на доморощенный алгоритм подписи вида
H(secret || message)
, используемый в чучельном сервисе.
Лекция 3
≈ 45 минут
Теория
О чём: аутентифицированное шифрование
- схема шифрования с bottom
- confidentiality + integrity
- можем не расшифровать невалидный ct
- security under cca
- пример с перехватом почты
- равно cpa security + ciphertext integrity
- что такое ciphertext integrity
- попробуй сформировать валидный ct
- скомбинировать cpa secure cipher + unforgeable mac
- mac-then-encrypt
- encrypt-then-mac
- encrypt-and-mac
- сформулировать схему aead
- authentcated data
Практика
≈ Много минут
- Восстановление части сообщения у чучела SSHv2 сервера, уязвимого засчёт non-atomic decryption.
Лекция 4
≈ 75 минут
О чём: сложность проблем, обмен ключами, асимметричное шифрование
Теория
- number theory
- арифметика остатков
- обратный элемент
- генераторы и циклические группы
- порядок группы
- асимметрия
- зачем?
- пара ключей
- любой может сформировать ct
- схема асимметричного шифрования
- trapdoor one-way functions
- rsa
- сложность factors(n)
- rsa + hash + cca cipher
- задача обмена ключами
- trusted party – неудобно
- наивный diffie-hellman
- сложность dlog_g
- надёжность схемы
- нет authenticity
- elgamal
- кратко цифровых подписях
- rsa
- pki
Практика
≈ 240 минут
- Восстановление сообщения у чучела TLS сервера, уязвимого к Baby Bleichenbacher attack.