
Libreria composta da spiegazione e implementazione di tutti gli attacchi esistenti su vari sistemi di crittografia, firme digitali, scambio di chiavi, metodi di autenticazione insieme a sfide esemplificative tratte da CTF.
Crypton è una libreria educativa per imparare e praticare la crittografia offensiva e difensiva. È fondamentalmente una raccolta di spiegazioni e implementazioni di tutte le vulnerabilità e attacchi esistenti su vari sistemi di crittografia (simmetrici e asimmetrici), firme digitali, codici di autenticazione del messaggio e sistemi di crittografia autenticata. Ogni attacco è anche corredato da esempi di sfide tratte da competizioni "Capture The Flag" e dalle relative soluzioni. Le persone che sono già familiari (o sono coinvolte nei CTF) con questo campo possono usare Crypton come strumento per risolvere sfide basate su una particolare vulnerabilità esistente.
La libreria verrà continuamente aggiornata con spiegazioni di attacchi e sfide CTF! Sentiti libero di scrivermi per qualsiasi suggerimento!
Ho scritto un post sul blog riguardo la cronologia dello sviluppo di questa libreria: https://masterpessimistaa.wordpress.com/2018/08/12/announcing-crypton-an-educational-library-to-learn-offensive-and-defensive-cryptography/
AVVERTENZA: L'autore non garantisce in alcun modo che il codice sia sicuro. La libreria è solo a scopo educativo e il codice non dovrebbe essere utilizzato per implementazioni nel mondo reale. Tutti gli script di esempio nella libreria sono implementazioni banali.
Ci sono diverse sezioni in questo README:
Aiutare i giocatori di CTF e le persone interessate al campo della crittografia fornendo una piattaforma per imparare gli attacchi crittografici e per i giocatori CTF esperti per praticare sfide sistematicamente suddivise in attacchi associati a diversi sottodomini della crittografia. Inoltre, illustrare attraverso varie spiegazioni di attacchi come un'implementazione corretta dei protocolli sia cruciale.

| N. | Argomento | Spiegazione | Implementazione/Exploit | Sfida# |
|---|---|---|---|---|
| 1 | Nozioni di base sui cifrari a blocchi- funzionamento dei cifrari a blocchi, padding ecc. |
|
|
|
| 2 | Modalità di crittografia- diverse modalità operative sui cifrari a blocchi: ECB, CBC, CTR |
|
|
|
| 3 | Rilevamento dimensione del blocco- rilevare la dimensione del blocco di un cifrario a blocchi che crittografa dati su un servizio remoto |
|
|
|
| 4 | Rilevamento della modalità- rilevare il tipo di modalità di crittografia: crittografia indipendente o dipendente dei blocchi |
|
|
|
| 5 | ECB Byte per volta- decifratura byte per volta di una stringa secret in esecuzione su un servizio remoto che crittografa input+secret in modalità ECB |
|
|
|
| 6 | Rilevamento IV del CBC- rilevare il valore del vettore di inizializzazione su un servizio remoto che crittografa il nostro input usando un cifrario a blocchi in modalità CBC |
|
|
|
| 7 | Attacco CBC Bit Flipping- sfruttare il meccanismo di generazione dei cookie per accedere come admin quando il cookie è generato usando un cifrario a blocchi in modalità CBC |
|
|
|
| 8 | CBC Byte per volta- decifratura byte per volta di una stringa secret in esecuzione su un servizio remoto che crittografa input+secret in modalità ECB |
|
|
|
| 9 | Attacco CBC Padding Oracle- decifratura di dati crittografati da un servizio vulnerabile che fornisce crittografia/decifratura |
|
|
|
| 10 | CTR Bit Flipping- sfruttare il meccanismo di generazione dei cookie per accedere come admin quando il cookie è generato usando un cifrario a blocchi in modalità CBC |
|
|
|