
Bibliothek bestehend aus Erklärung und Implementierung aller existierenden Angriffe auf verschiedene Verschlüsselungssysteme, digitale Signaturen, Schlüsselaustausch, Authentifizierungsmethoden sowie Beispielaufgaben aus CTFs
Crypton ist eine pädagogische Bibliothek zum Erlernen und Praktizieren von offensiver und defensiver Kryptographie. Sie ist im Wesentlichen eine Sammlung von Erklärungen und Implementierungen aller existierenden Schwachstellen und Angriffe auf verschiedene Verschlüsselungssysteme (symmetrisch und asymmetrisch), digitale Signaturen, Nachrichtenauthentifizierungscodes und authentifizierte Verschlüsselungssysteme. Jeder Angriff wird durch Beispiel-Challenges aus „Capture The Flag“-Wettbewerben und deren jeweiligen Lösungen ergänzt. Personen, die sich in diesem Bereich bereits auskennen (oder sich mit CTFs beschäftigen), können Crypton als Werkzeug nutzen, um Challenges basierend auf einer bestimmten bestehenden Schwachstelle zu lösen.
Die Bibliothek wird kontinuierlich mit Angriffserklärungen und CTF-Challenges aktualisiert! Zögern Sie nicht, mir bei Vorschlägen eine E-Mail zu schicken!
Ich habe einen Blogbeitrag über den Entwicklungszeitplan dieser Bibliothek geschrieben: https://masterpessimistaa.wordpress.com/2018/08/12/announcing-crypton-an-educational-library-to-learn-offensive-and-defensive-cryptography/
WARNUNG: Der Autor garantiert in keiner Weise, dass der Code sicher ist. Die Bibliothek ist nur für Bildungszwecke gedacht und der Code sollte nicht für die reale Implementierung verwendet werden. Alle Beispielskripte in der Bibliothek sind triviale Implementierungen.
Es gibt verschiedene Abschnitte in dieser README:
CTF-Spielern und Personen, die sich für das Gebiet der Kryptographie interessieren, eine Plattform zum Erlernen von Angriffen in der Krypto zu bieten und erfahrenen CTF-Spielern die Möglichkeit zu geben, Challenges systematisch zu üben, aufgeteilt nach Angriffen, die mit verschiedenen Unterbereichen der Krypto verbunden sind. Außerdem soll anhand verschiedener Angriffserklärungen veranschaulicht werden, wie wichtig eine korrekte Implementierung von Protokollen ist.

| S.No. | Thema | Erklärung | Impl./Exploit | Challenge# |
|---|---|---|---|---|
| 1 | Block Cipher Grundlagen - Funktionsweise von Blockchiffren, Padding usw. |
|
|
|
| 2 | Verschlüsselungsmodi - verschiedene Betriebsmodi von Blockchiffren: ECB, CBC, CTR |
|
|
|
| 3 | Blockgrößen-Erkennung - Erkennung der Blockgröße einer Blockchiffre, die Daten auf einem entfernten Dienst verschlüsselt |
|
|
|
| 4 | Modus-Erkennung - Erkennung des Verschlüsselungsmodus: unabhängige oder abhängige Verschlüsselung von Blöcken |
|
|
|
| 5 | ECB Byte-für-Byte - byteweise Entschlüsselung eines secret-Strings, der auf einem entfernten Dienst läuft, der input+secret im ECB-Modus verschlüsselt |
|
|
|
| 6 | CBC IV-Erkennung - Erkennung des Initialisierungsvektors auf einem entfernten Dienst, der unsere Eingabe mit einer Blockchiffre im CBC-Modus verschlüsselt |
|
|
|
| 7 | CBC Bit Flipping-Angriff - Ausnutzung des Cookie-Generierungsmechanismus, um sich als Admin anzumelden, wenn das Cookie mit einer Blockchiffre im CBC-Modus erstellt wird |
|
|
|
| 8 | CBC Byte-für-Byte - byteweise Entschlüsselung eines secret-Strings, der auf einem entfernten Dienst läuft, der input+secret im ECB-Modus verschlüsselt |
|
|
|
| 9 | CBC Padding Oracle-Angriff - Entschlüsselung von Daten, die von einem anfälligen Dienst verschlüsselt wurden, der Ver-/Entschlüsselung anbietet |
|
|
|
| 10 | CTR Bit Flipping - Ausnutzung des Cookie-Generierungsmechanismus, um sich als Admin anzumelden, wenn das Cookie mit einer Blockchiffre im CBC-Modus erstellt wird |
|
|
|