
Библиотека, состоящая из объяснения и реализации всех существующих атак на различные системы шифрования, цифровые подписи, обмен ключами, методы аутентификации, а также примеров задач из CTF.
Crypton — это образовательная библиотека для изучения и практики наступательной и оборонительной криптографии. По сути, это сборник объяснений и реализаций всех существующих уязвимостей и атак на различные системы шифрования (симметричные и асимметричные), цифровые подписи, коды аутентификации сообщений и системы аутентифицированного шифрования. Каждая атака также сопровождается примерами задач из соревнований «Capture The Flag» и соответствующими разборами решений. Люди, уже знакомые с этой областью (или участвующие в CTF), могут использовать Crypton как инструмент для решения задач, основанных на той или иной существующей уязвимости.
Библиотека будет постоянно пополняться объяснениями атак и CTF-задачами! Не стесняйтесь написать мне на email по любым предложениям!
Я написал сообщение в блоге о процессе разработки этой библиотеки: https://masterpessimistaa.wordpress.com/2018/08/12/announcing-crypton-an-educational-library-to-learn-offensive-and-defensive-cryptography/
ПРЕДУПРЕЖДЕНИЕ: Автор никоим образом не гарантирует, что код безопасен. Библиотека предназначена только для образовательных целей, и код не следует использовать для внедрения в реальных проектах. Все примеры скриптов в библиотеке являются тривиальными реализациями.
В этом файле README есть несколько разделов:
Помочь участникам CTF и людям, интересующимся криптографией, предоставить платформу для изучения атак в крипто и для опытных игроков CTF — практиковаться в решении задач, систематически разделённых на атаки, связанные с различными поддоменами криптографии. А также проиллюстрировать с помощью различных объяснений атак, насколько важна правильная реализация протоколов.

| № | Тема | Описание | Реализация/Эксплойт | Задача# |
|---|---|---|---|---|
| 1 | Основы блочных шифров — работа блочных шифров, дополнение и т.д. |
|
|
|
| 2 | Режимы шифрования — различные режимы работы блочных шифров: ECB, CBC, CTR |
|
|
|
| 3 | Определение размера блока — определение размера блока блочного шифра, шифрующего данные на удалённом сервисе |
|
|
|
| 4 | Определение режима — определение типа режима шифрования: независимое или зависимое шифрование блоков |
|
|
|
| 5 | ECB побайтово — побайтовое дешифрование строки secret, работающей на удалённом сервисе, который шифрует input+secret в режиме ECB |
|
|
|
| 6 | Определение IV в CBC — определение значения вектора инициализации на удалённом сервисе, который шифрует наши данные с помощью блочного шифра в режиме CBC |
|
|
|
| 7 | Атака переворотом битов в CBC — эксплуатация механизма генерации cookie для входа в систему как администратор, когда cookie генерируется с помощью блочного шифра в режиме CBC |
|
|
|
| 8 | CBC побайтово — побайтовое дешифрование строки secret, работающей на удалённом сервисе, который шифрует input+secret в режиме ECB |
|
|
|
| 9 | Атака через оракул дополнения в CBC — дешифрование данных, зашифрованных уязвимым сервисом, предоставляющим шифрование/дешифрование |
|
|
|
| 10 | Переворот битов в CTR — эксплуатация механизма генерации cookie для входа в систему как администратор, когда cookie генерируется с помощью блочного шифра в режиме CBC |
|
|
|