Crypton
Crypton est une bibliothèque éducative pour apprendre et pratiquer la cryptographie offensive et défensive. Il s'agit essentiellement d'une collection d'explications et d'implémentations de toutes les vulnérabilités et attaques existantes sur divers systèmes de chiffrement (symétriques et asymétriques), signatures numériques, codes d'authentification de message et systèmes de chiffrement authentifié. Chaque attaque est également complétée par des exemples de défis issus de concours "Capture The Flag" et leurs rapports d'écriture respectifs. Les personnes déjà familiarisées (ou qui participent à des CTF) avec ce domaine peuvent utiliser Crypton comme un outil pour résoudre des défis basés sur une vulnérabilité existante particulière.
La bibliothèque sera continuellement mise à jour avec des explications d'attaques et des défis CTF ! N'hésitez pas à m'envoyer un email pour toute suggestion !
J'ai écrit un article de blog sur la chronologie du développement de cette bibliothèque : https://masterpessimistaa.wordpress.com/2018/08/12/announcing-crypton-an-educational-library-to-learn-offensive-and-defensive-cryptography/
AVERTISSEMENT : L'auteur ne garantit en aucun cas que le code est sécurisé. La bibliothèque est uniquement destinée à des fins éducatives et le code ne doit pas être utilisé pour une implémentation dans le monde réel. Tous les scripts d'exemple dans la bibliothèque sont des implémentations triviales.
Il y a différentes sections dans ce README :
- Motivation - Ce qui m'a motivé à créer cette bibliothèque
- Structure de la bibliothèque - Structure des répertoires de Crypton
- Couverture du domaine - Quels systèmes cryptographiques et attaques sont couverts dans cette bibliothèque
- Plans futurs / TODO - Attaques / concepts qui seront inclus prochainement
Motivation
Aider les joueurs de CTF et les personnes intéressées par le domaine de la cryptographie à disposer d'une plateforme pour apprendre les attaques en crypto et pour les joueurs de CTF expérimentés à pratiquer des défis systématiquement divisés en attaques associées à différents sous-domaines de la crypto. Illustrer également, à travers diverses explications d'attaques, comment une implémentation correcte des protocoles est cruciale.
Structure de la bibliothèque

Couverture du domaine
1. Chiffrements par blocs
2. Chiffrement RSA
3. Codes d'authentification de message (MAC)
4. Problème du logarithme discret| N° | Sujet | Explication | Impl./Exploit | Challenge# |
|-------|:---------------------------:|:-----------------------------------------------------------------------------------------------:|:------------:|:----------:|
| 1 | PDL - Groupes cycliques, problème du logarithme discret|
|
|
|
| 2 |
Algorithme Rho de Pollard pour résoudre le PDL |
|
|
|
| 3 |
Algorithme du pas de bébé pas de géant pour résoudre le PDL|
|
|
|
| 4 |
Algorithme de Pohlig-Hellman pour résoudre le PDL|
|
|
|
| 5 |
PDL sur courbe elliptique - définition de l'élément neutre, inverse d'un point, groupes cycliques sur les points d'une CE, théorème de Hasse, ECDLP |
|
|
|
| 6 |
Algorithme du pas de bébé pas de géant pour résoudre le PDL sur courbe elliptique |
|
|
|
| 7 |
Algorithme Rho de Pollard pour résoudre le PDL sur courbe elliptique |
|
|
|
5. Chiffrement ElGamal
6. Chiffrement Authentifié (CA)
7. Courbes elliptiques
8. Signatures numériques
9. Identification
10. Échange de clés Diffie-Hellman
À FAIRE
- Chiffrement RSA
- Chiffrement RSA avec bourrage PKCS1-v1.5
Attaque par texte chiffré choisi sur le cryptosystème RSA - Oracle de déchiffrement LSB [Fait]
- Attaque par oracle de bourrage sur le système de chiffrement RSA avec bourrage PKCS1
- Factorisation de Fermat
- Attaque de Coppersmith
- Attaque de diffusion de Hastad
- Implémentation de HBA sur des messages bourrés
- Générateurs de nombres pseudo-aléatoires
- Générateur congruentiel linéaire
- PRNG Mersenne Twister
- Registre à décalage à rétroaction linéaire
- Signatures numériques
- Attaque par aveuglement sur les signatures numériques RSA
Échange de clés Diffie-Hellman[Fait]
- Diffie-Hellman sur courbe elliptique
- [Plus à ajouter]
Auteur
Ashutosh Ahelleya