
Biblioteca que consiste na explicação e implementação de todos os ataques existentes em vários Sistemas de Criptografia, Assinaturas Digitais, Troca de Chaves, Métodos de Autenticação, juntamente com exemplos de desafios de CTFs
Crypton é uma biblioteca educacional para aprender e praticar Criptografia Ofensiva e Defensiva. É basicamente uma coleção de explicação e implementação de todas as vulnerabilidades e ataques existentes em vários Sistemas de Criptografia (Simétricos e Assimétricos), Assinaturas Digitais, Códigos de Autenticação de Mensagem e Sistemas de Criptografia Autenticada. Cada ataque também é complementado com exemplos de desafios de competições "Capture The Flag" e suas respectivas resoluções. Indivíduos que já estão familiarizados (ou participam de CTFs) com esta área podem usar o Crypton como uma ferramenta para resolver desafios baseados em uma vulnerabilidade existente específica.
A biblioteca será continuamente atualizada com explicações de ataques e desafios de CTF! Sinta-se à vontade para me enviar um e-mail com quaisquer sugestões!
Escrevi uma postagem no blog sobre a linha do tempo de desenvolvimento desta biblioteca: https://masterpessimistaa.wordpress.com/2018/08/12/announcing-crypton-an-educational-library-to-learn-offensive-and-defensive-cryptography/
AVISO: O autor não garante de forma alguma que o código seja seguro. A biblioteca é destinada apenas para fins educacionais e o código não deve ser usado para implementação no mundo real. Todos os scripts de exemplo na biblioteca são implementações triviais.
Há diferentes seções neste README:
Ajudar jogadores de CTF e indivíduos interessados na área de Criptografia a fornecer uma plataforma para aprender ataques em criptografia e para jogadores experientes de CTF praticarem desafios sistematicamente divididos em ataques associados a diferentes subdomínios da criptografia. Além disso, ilustrar por meio de várias explicações de ataques como a implementação adequada de protocolos é crucial.

| S.No. | Tópico | Explicação | Impl./Exploit | Desafio# |
|---|---|---|---|---|
| 1 | Fundamentos de Cifras de Bloco- funcionamento de cifras de bloco, padding etc. |
|
|
|
| 2 | Modos de Criptografia- diferentes modos de operação em cifras de bloco: ECB, CBC, CTR |
|
|
|
| 3 | Detecção do Tamanho do Bloco- detectar o tamanho do bloco de uma cifra de bloco que criptografa dados em um serviço remoto |
|
|
|
| 4 | Detecção do Modo- detectar o tipo de modo de criptografia: criptografia independente ou dependente dos blocos |
|
|
|
| 5 | ECB Byte a Byte- descriptografia byte a byte de uma string secret em um serviço remoto que criptografa input+secret no modo ECB |
|
|
|
| 6 | Detecção do IV no CBC- detectar o valor do Vetor de Inicialização em um serviço remoto que criptografa nossa entrada usando uma cifra de bloco no modo CBC |
|
|
|
| 7 | Ataque de Bit Flipping no CBC- explorar o mecanismo de geração de cookies para logar como admin quando o cookie é gerado usando uma cifra de bloco no modo CBC |
|
|
|
| 8 | CBC Byte a Byte- descriptografia byte a byte de uma string secret em um serviço remoto que criptografa input+secret no modo ECB |
|
|
|
| 9 | Ataque de Oráculo de Padding no CBC- descriptografia de dados criptografados por um serviço vulnerável que fornece criptografia/descriptografia |
|
|
|
| 10 | Bit Flipping no CTR- explorar o mecanismo de geração de cookies para logar como admin quando o cookie é gerado usando uma cifra de bloco no modo CBC |
|
|
|