CryptoHack est un site gratuit qui enseigne la cryptographie moderne en vous demandant de la casser. Vous décodez, XORez, factorisez et attaquez des défis courts, et chaque réussite vous donne un flag de la forme crypto{...}. Pour un débutant qui veut progresser dans la catégorie crypto des CTF, c'est le meilleur point de départ gratuit que nous connaissions. Il vous demande aussi d'écrire du Python dès le premier jour. Si vous préférez voir les concepts expliqués simplement d'abord, gardez le cours de cryptographie de HackerDNA ouvert à côté.
Ce guide explique ce qu'est CryptoHack, à qui il convient, comment s'articulent les cours et les catégories de défis, comment installer vos outils, à quoi ressemble votre première heure et comment il se compare à Cryptopals, picoCTF et à la pratique en labs.
En bref : CryptoHack est une plateforme gratuite et ludique pour apprendre la cryptographie avec des défis de type CTF, créée par deux passionnés de crypto britanniques. Les débutants doivent terminer le cours Introduction to CryptoHack, puis Modular Arithmetic, avant de toucher à AES ou RSA. Il faut des bases en Python, et la plateforme classe désormais les scores égaux à la même place : personne ne gagne quoi que ce soit à se précipiter.
Qu'est-ce que CryptoHack ?
CryptoHack est une plateforme en ligne gratuite où l'on apprend la cryptographie moderne en résolvant des énigmes qui cassent des implémentations volontairement vulnérables d'AES, RSA, Diffie-Hellman et des courbes elliptiques. Chaque défi cache un flag, et le soumettre vous rapporte des points, des niveaux et des trophées.
La FAQ de CryptoHack explique que les fondateurs se sont inspirés des compétitions Capture The Flag, mais voulaient construire quelque chose de permanent, centré exclusivement sur la cryptographie et plus accessible. CryptoHack a démarré comme un projet passion de deux Britanniques : hyperreality, ingénieur devops et consultant en sécurité, et Jack, consultant en cryptographie avec un parcours en physique théorique.
Quelques chiffres pour situer l'échelle. L'API de statistiques publique du site affichait 145 523 utilisateurs inscrits et 240 défis réguliers lors de notre vérification fin octobre 2026, plus 76 autres dans une CTF Archive de défis crypto issus de compétitions passées. Les défis sont répartis en 13 catégories :
- Les bases : General (encodage, XOR, mathématiques de base) et Mathematics
- Les grands chiffrements : Symmetric Ciphers (surtout AES), RSA, Diffie-Hellman et Elliptic Curves
- Les sujets appliqués : Hash Functions, Crypto on the Web et Miscellaneous
- Les domaines de recherche avancés : Lattices, Isogenies et Zero-Knowledge Proofs
- CTF Archive : des défis crypto conservés depuis de vraies compétitions
Tout est gratuit. La FAQ indique que CryptoHack est « entirely free to play » et fonctionne grâce aux dons Patreon et aux offres d'emploi sponsorisées. Aucune offre payante ne cache le meilleur contenu.
CryptoHack est-il adapté aux débutants ?
Oui, si vous savez écrire quelques lignes de Python ou si vous êtes prêt à apprendre. Le premier cours ne suppose aucune connaissance en cryptographie. En revanche, il suppose que vous allez lancer des scripts, installer des paquets et lire du code, car presque chaque défi se termine par un petit script de résolution.
Chaque page de cours indique combien de joueurs y travaillent et combien l'ont terminé. Nous les avons relevés en octobre 2026 :
| Cours | Niveau | Leçons | Joueurs en cours | Joueurs ayant terminé |
|---|---|---|---|---|
| Introduction to CryptoHack | Débutant | 10 | 117 821 | 37 588 |
| Modular Arithmetic | Débutant | 11 | 38 850 | 9 093 |
| Symmetric Cryptography | Intermédiaire | 14 | 23 163 | 5 684 |
| Public-Key Cryptography | Intermédiaire | 18 | 22 017 | 5 070 |
| Elliptic Curves | Difficile | 11 | 8 230 | 1 570 |
Environ une personne sur trois qui commence le cours d'introduction le termine. Cela semble sévère jusqu'à ce qu'on regarde où les gens s'arrêtent. Sur la page des défis Introduction, « Finding Flags » (où il suffit de coller un flag fourni) compte plus de 114 000 réussites. « Network Attacks », le troisième défi et le premier qui vous fait dialoguer avec un serveur en Python, en compte environ 34 000.
Le mur n'est donc pas la cryptographie. C'est l'outillage. Ceux qui font fonctionner Python et pwntools enchaînent les dizaines de défis suivants. Notre avis : si vous n'avez jamais écrit de script Python, passez d'abord une soirée sur les bases. Le cours Python pour la cybersécurité de HackerDNA couvre les chaînes, les octets, les sockets et le hachage, soit presque exactement ce qu'utilisent les premiers défis de CryptoHack.
Côté maths : pas besoin d'un diplôme de mathématiques pour commencer. Le cours Modular Arithmetic démarre avec l'arithmétique de l'horloge (après 23:59 on arrive à 00:00) et construit à partir de là. Vous croiserez la théorie des nombres tôt ou tard, mais la plateforme l'introduit une petite idée à la fois.
Comment fonctionne CryptoHack
CryptoHack propose deux portes d'entrée : les cours et les catégories. Ils utilisent les mêmes défis. Un cours est un parcours ordonné qui pioche des défis dans plusieurs catégories. Une catégorie est la liste complète d'un sujet, du plus facile au plus brutal. Les débutants doivent suivre les cours et n'ouvrir une catégorie qu'une fois le cours correspondant terminé.
Trois types de défis
La FAQ décrit les formats de défis, et vous croiserez les trois dès votre première semaine :
- Télécharger et casser. Vous recevez un code source vulnérable et sa sortie, et vous trouvez comment récupérer le secret.
- Oracles web. Les défis de chiffrement par blocs tournent comme de petites applications web sur
aes.cryptohack.org. Vous appelez des fonctions avec des requêtes GET et lisez des réponses JSON, idéalement depuis un script Python avec la bibliothèque Requests. - Sockets interactifs. Vous vous connectez à
socket.cryptohack.orgsur un port donné et échangez des objets JSON. Certains vous font jouer l'homme du milieu entre deux parties qui tentent de se mettre d'accord sur une clé.
Points, niveaux et trophées
Chaque défi vaut des points, de 2 pour le tout premier à 150 ou plus pour les plus durs. Les points font monter votre niveau. Les trophées sont attribués par catégorie selon le taux de complétion : bronze à 25 %, argent à 50 %, or à 75 % et or étoilé à 100 %. Vous pouvez lier votre compte au Discord de CryptoHack pour y afficher votre niveau.
Le virage de 2026 : fini la course
En septembre 2026, l'équipe a annoncé un vrai changement de cap. Son billet d'annonce explique que les LLM ont changé les CTF compétitifs au cours de l'année écoulée, et que la course aux points pousse les joueurs à laisser une IA faire le travail, au détriment de la compréhension. En réponse :
- Les joueurs à score égal partagent désormais la même place au classement, mélangée aléatoirement toutes les 24 heures. Résoudre en premier ne compte plus.
- Un Hall of Fame conserve le top 100 d'avant 2026.
- L'ancienne interdiction de publier des solutions hors de la plateforme a été assouplie. Les writeups sur un blog personnel sont désormais autorisés.
Pour un débutant, c'est une bonne nouvelle. Personne n'a d'avance sur vous d'une manière qui compte. Le seul score qui importe, c'est ce que vous comprenez.
Comment installer vos outils pour CryptoHack
Les défis de CryptoHack sont écrits en Python 3, et la FAQ vous demande d'installer trois paquets : PyCryptodome (primitives cryptographiques), gmpy2 (calcul rapide sur les grands nombres) et pwntools (dialogue avec les services réseau). Quelques défis avancés utilisent SageMath, que vous pouvez ignorer pour l'instant.
- Installez Python 3. Sous Linux et macOS, il est généralement déjà là. Sous Windows, installez-le depuis python.org et cochez « Add to PATH ».
- Installez les paquets. Sous Ubuntu ou Kali, la FAQ conseille d'installer d'abord les dépendances de compilation de gmpy2 :
sudo apt install python3-pip libgmp-dev libmpc-dev libmpfr-dev
pip install pycryptodome gmpy2 pwntools
Sur les systèmes récents basés sur Debian, pip peut refuser d'installer dans le Python du système. Dans ce cas, créez d'abord un environnement virtuel avec python3 -m venv ~/cryptohack et activez-le avec source ~/cryptohack/bin/activate.
- Vérifiez que tout fonctionne. La FAQ fournit un test en une ligne. Ouvrez Python et lancez-le :
$ python3
>>> from Crypto.Util import *; strxor.strxor(b"C", b"H")
b'\x0b'
Si vous voyez b'\x0b', PyCryptodome est correctement installé. Une erreur à cette étape signifie que le paquet manque ou que vous n'êtes pas dans le bon environnement.
Vous préférez ne rien installer ?
CryptoHack publie une image Docker officielle avec tous les outils recommandés, Sage compris. Une seule commande la lance :
docker run -p 127.0.0.1:8888:8888 -it hyperreality/cryptohack:latest
En pratique, une installation Python classique suffit pour les trois premiers cours. Sortez l'image Docker quand un défi vous dit qu'il a besoin de Sage.
Votre première heure sur CryptoHack
Voici à quoi ressemble une première session réaliste, avec le cours Introduction to CryptoHack.
- Inscrivez-vous. Pour sauvegarder votre progression, vous créez un compte, et le formulaire d'inscription vous demande de résoudre un chiffrement simple. Considérez-le comme le défi zéro.
- Finding Flags (2 points). Le défi vous donne un flag et vous demande de le soumettre. Il vous apprend le format : les flags ressemblent à
crypto{y0ur_f1rst_fl4g}. - Great Snakes (3 points). Téléchargez un fichier Python, lancez-le, et il affiche votre flag. Si cela marche, votre Python est prêt.
- Network Attacks (5 points). Connectez-vous à
socket.cryptohack.orgsur le port 11112 et envoyez un objet JSON avec la clébuyet la valeurflag. CryptoHack fournit un script d'exemple pwntools à modifier. C'est l'étape où la plupart des gens bloquent, alors prenez votre temps. - Les défis Encoding. ASCII, Hex, Base64 et Bytes and Big Integers. Chacun enseigne une conversion que vous utiliserez dans tous les défis suivants.
Le défi ASCII vous donne une liste d'entiers et vous oriente vers la fonction chr() de Python. Voici la même idée sur une autre liste, pour voir le principe sans spoiler :
>>> ''.join(chr(c) for c in [104, 101, 108, 108, 111])
'hello'
>>> bytes.fromhex('6861636b6572646e61')
b'hackerdna'
Viennent ensuite les défis XOR, le vrai cœur de ce cours. XOR renvoie 1 quand deux bits diffèrent et 0 quand ils sont identiques, et sa propriété la plus utile est qu'appliquer deux fois la même clé redonne l'original. Essayez vous-même :
>>> ''.join(chr(ord(c) ^ 13) for c in 'cipher')
'nd}eh'
>>> ''.join(chr(ord(c) ^ 13) for c in 'nd}eh')
'cipher'
Cette réversibilité explique pourquoi XOR se retrouve au cœur des chiffrements par flot et des modes AES, et pourquoi réutiliser une clé XOR est une erreur si classique. Le cours se termine par « You either know, XOR you don't » (30 points), où un peu de déduction sur le format du flag suffit à casser la clé. Les trois défis Introduction vous rapportent à eux seuls votre premier trophée d'or, et les dix leçons complètes 110 points.
Si vous préférez voir chaque transformation visuellement avant de la scripter, les opérations From Hex, From Base64 et XOR de CyberChef font le même travail dans le navigateur. Notre guide CyberChef pour débutants montre les recettes. Mais ne vous arrêtez pas là. La catégorie General elle-même dit que résoudre ces défis dans un langage de programmation finit par payer, et elle a raison : arrivé aux défis AES, aucun convertisseur en ligne ne vous sauvera.
Quels cours CryptoHack faire, et dans quel ordre
Les cinq cours forment un parcours cohérent. Voici comment nous les aborderions, et où faire des détours.
- Introduction to CryptoHack (110 points). Encodage et XOR. Faites-le en entier, y compris l'Encoding Challenge (40 points) de la catégorie General, qui vous demande d'automatiser 100 niveaux de décodage via un socket. C'est le meilleur entraînement pwntools du site.
- Modular Arithmetic (395 points). PGCD, inverses modulaires, résidus quadratiques et théorème des restes chinois. Ce sont les mathématiques sur lesquelles repose tout système à clé publique. Sautez-le et RSA ressemblera à de la magie plutôt qu'à de l'arithmétique.
- Public-Key Cryptography (550 points). RSA à partir des principes de base, puis les erreurs RSA classiques, puis Diffie-Hellman et deux attaques de l'homme du milieu. Nous le ferions avant Symmetric Cryptography, car les failles RSA sont le défi crypto le plus courant dans les CTF débutants.
- Symmetric Cryptography (505 points). Vous codez vous-même le déchiffrement AES, puis vous attaquez des modes mal utilisés : oracles ECB, bit-flipping CBC et réutilisation de clé dans les chiffrements par flot. « ECB Oracle » est un passage obligé.
- Elliptic Curves (620 points). Classé difficile, et seuls 1 570 joueurs l'avaient terminé lors de notre vérification. Revenez-y après avoir joué quelques CTF en direct.
Après les cours, ouvrez les catégories. RSA et Symmetric Ciphers contiennent de nombreux défis au-delà des cours, et Crypto on the Web aborde des sujets concrets comme les JSON Web Tokens, TLS et les environnements cloud. La CTF Archive est la dernière étape avant de jouer la crypto en compétition, car ces défis ont été écrits pour des compétitions, pas pour enseigner. Si vous n'avez jamais joué un CTF en direct, notre guide CTF pour débutants propose un plan sur quatre semaines pour y arriver.
Comment se débloquer sur CryptoHack
Les défis crypto ont une façon bien à eux de vous bloquer : vous comprenez l'idée et votre script affiche quand même n'importe quoi. Quelques habitudes aident.
- Relisez l'énoncé. Les descriptions de CryptoHack sont de courtes leçons, et l'indice tient souvent en un nom de fonction comme
bytes_to_long()oupow(). Suivez aussi les ressources liées. - Affichez chaque valeur intermédiaire. La plupart des échecs sont des bugs de type : une chaîne hexadécimale là où il fallait des octets, ou des octets là où il fallait un entier. Affichez le type et la longueur à chaque étape.
- Demandez sur Discord. Nommez le défi, montrez ce que vous avez essayé et ce qui en est sorti. La communauté aide volontiers quand on voit que vous avez fait le travail.
- Lisez les solutions après avoir résolu. Une fois un défi réussi, un lien Solutions apparaît à côté avec les scripts des autres joueurs. Lire trois autres approches d'un défi que vous venez de résoudre est l'une des façons les plus rapides de progresser.
À propos des assistants IA : l'équipe de CryptoHack s'inquiète désormais ouvertement que les LLM remplacent l'apprentissage. Une IA peut vous expliquer ce qu'est un symbole de Legendre. Si elle écrit l'exploit à votre place, vous avez un flag et aucune compétence, et les CTF en direct attendent de plus en plus que vous compreniez ce que vous soumettez. Utilisez-la comme un manuel, pas comme un coéquipier.
CryptoHack vs Cryptopals, picoCTF et HackerDNA
Ce sont les quatre options sur lesquelles les débutants nous interrogent le plus pour apprendre la crypto. Elles se recoupent moins qu'on pourrait le croire.
| Plateforme | Prix | Format | Pédagogie | Idéal pour |
|---|---|---|---|---|
| CryptoHack | Gratuit | Défis ludiques, code de départ fourni | Courtes leçons dans chaque défi, cours ordonnés | Approfondir la crypto moderne : AES, RSA, ECC |
| Cryptopals | Gratuit | Huit séries d'exercices, sans score | Énoncés uniquement | Implémenter chaque attaque soi-même, dans n'importe quel langage |
| picoCTF | Gratuit | Entraînement CTF dans le navigateur | Indices, ressources externes | Découvrir la crypto parmi toutes les autres catégories CTF |
| HackerDNA | Offre gratuite, abonnement Pro | Cours et labs dans le navigateur | Chapitres complets avec outils et exemples commentés | La crypto au sein de compétences de hacking plus larges, de l'encodage aux attaques RSA |
Cryptopals est le grand classique. La FAQ de CryptoHack précise que certains de ses défis sont adaptés de Cryptopals, et que la principale différence est un environnement plus ludique où l'on n'a pas à tout coder à partir de zéro. Cryptopals attend de vous que vous codiez avec aisance dans n'importe quel langage. Notre conseil : faites CryptoHack d'abord, puis les séries 1 et 2 de Cryptopals pour vérifier que vous savez tout écrire sans échafaudage.
picoCTF est plus large et moins profond. Ses problèmes de crypto misent sur les chiffrements classiques et des astuces RSA rapides, mélangés au web, à la forensique et au reverse. Si vous ne savez pas encore si la crypto est votre catégorie, notre guide picoCTF est un meilleur premier arrêt. Si vous savez déjà que vous l'adorez, CryptoHack va beaucoup plus loin.
HackerDNA couvre ce que CryptoHack laisse volontairement de côté. CryptoHack se concentre sur la cryptographie moderne, vous y trouverez donc peu de choses sur César, Vigenère ou la substitution, alors qu'ils apparaissent encore dans les CTF débutants. Le cours de cryptographie de HackerDNA va de l'encodage et des chiffrements classiques jusqu'au XOR, aux hachages, aux modes AES et aux attaques RSA, avec CyberChef et RsaCtfTool en plus de Python. Et des labs comme XOR Reuse vous font appliquer tout cela sur une cible plutôt que sur une feuille d'exercices.
Considérations légales et éthiques
Rappel essentiel : les serveurs et fichiers de défis de CryptoHack existent pour être attaqués. Rien de ce que vous y apprenez ne vous autorise à attaquer autre chose. Obtenez toujours une autorisation écrite explicite avant de tester un système qui ne vous appartient pas.
- Attaquez le défi, pas la plateforme. Les sockets et les oracles web sont l'énigme. Les inonder de trafic, ou fouiller le site CryptoHack lui-même, ne l'est pas. Signalez les vrais bugs via Discord ou par e-mail.
- Ne réutilisez pas le code des défis dans de vrais logiciels. La FAQ prévient que le code source fourni contient volontairement des erreurs graves et ne doit jamais servir de référence pour de la cryptographie en production.
- Les failles crypto réelles se signalent, elles ne s'exploitent pas. Si vous repérez du mode ECB ou un nonce réutilisé dans une application que vous utilisez, c'est une découverte à signaler via le processus de divulgation de l'éditeur ou son programme de bug bounty, pas un flag à récupérer.
- Rédigez vos writeups de façon responsable. Les writeups sur un blog sont désormais autorisés, mais pensez au prochain débutant. Expliquer votre raisonnement enseigne davantage que coller un flag.
Questions fréquentes
CryptoHack est-il gratuit ?
Oui. Tous les cours et défis de CryptoHack sont gratuits. La plateforme couvre ses frais de fonctionnement grâce aux dons Patreon et aux offres d'emploi d'entreprises qui recrutent des cryptographes. Un compte n'est nécessaire que pour sauvegarder votre progression.
Qui gère CryptoHack ?
CryptoHack est né comme un projet passion de deux Britanniques, connus sur le site sous les noms hyperreality et Jack. La plateforme repose sur un fork du framework CTF ColdCore, et des membres de la communauté contribuent de nouveaux défis.
Faut-il connaître Python pour CryptoHack ?
Des bases en Python aident beaucoup. Presque tous les défis sont écrits en Python 3 et attendent un court script comme solution, même si CryptoHack fournit des extraits de code de départ. Vous pouvez utiliser un autre langage, mais la FAQ prévient que ce sera plus difficile.
Quel niveau en maths faut-il pour CryptoHack ?
Très peu pour commencer. Le cours d'introduction ne couvre que l'encodage et le XOR. Le cours Modular Arithmetic enseigne ensuite la théorie des nombres nécessaire pour RSA et Diffie-Hellman, une idée par défi. Les réseaux euclidiens (lattices) et les isogénies sont avancés et peuvent attendre.
CryptoHack est-il meilleur que Cryptopals ?
Pour les débutants, généralement oui. CryptoHack explique chaque concept, fournit du code de départ et suit votre progression. Cryptopals guide moins et attend que vous implémentiez tout à partir de zéro, ce qui en fait une excellente deuxième étape une fois les premiers cours de CryptoHack maîtrisés.
Peut-on publier ses solutions CryptoHack en ligne ?
Depuis septembre 2026, oui. CryptoHack a assoupli sa politique et accueille désormais les billets de blog personnels expliquant comment vous avez résolu un défi. Sur la plateforme, vous pouvez aussi partager vos scripts de solution sous forme de GitHub Gists après avoir résolu un défi.
Dernière vérification : octobre 2026. Contenu des cours, nombre de joueurs et nombre de réussites par défi relevés sur les pages de cours et de défis de cryptohack.org. Totaux d'utilisateurs et de défis issus de l'API publique site-stats de CryptoHack. Changements de politique tirés du billet du blog CryptoHack daté du 29 septembre 2026.
Vos prochaines étapes
CryptoHack est la plateforme gratuite à choisir quand vous voulez que les défis crypto cessent de ressembler à de la magie. Faites fonctionner Python et pwntools ce soir, terminez le cours Introduction to CryptoHack cette semaine et attaquez Modular Arithmetic ensuite. Si vous résolvez « Network Attacks » dès votre première soirée, vous avez déjà dépassé le point où la plupart des gens abandonnent.
Mettez ensuite ces compétences à l'épreuve hors de la feuille d'exercices. Le cours de cryptographie de HackerDNA comble les chiffrements classiques et l'outillage que CryptoHack laisse de côté, et le lab XOR Reuse est un test rapide de ce que les leçons XOR vous ont appris. Tout tourne dans votre navigateur, et vous pouvez commencer avec l'offre gratuite de HackerDNA, sans carte bancaire.