Challenge Cryptopals
Cryptopals est une série de challenges créés par Thomas Ptacek, Sean Devlin, Alex Balducci et Marcin Wielgoszewski comme une introduction aux bases de la cryptographie. L'idée sous-jacente de ces exercices est de permettre à une personne n'ayant aucune compétences dans ce domaine et qui possède des notions de programmation de pouvoir découvrir des problématiques de plus en plus concrètes liées à la cryptographie.
Au total, 64 exercices sont proposés à travers 8 sets différents orientés autour de thématiques spécifique: le premier set propose par exemple de découvrir les bases de l'encoding en base 64, la fonction XOR et le chiffrement AES en mode ECB.
La progression est graduelle et présente au fur et à mesure des modèles d'attaque de chiffrement utilisable dans des cas concrets, notamment dans d'ancienne méthode de chiffrement.
Au-dela de la dimension cryptographique de ce challenge, celui-ci est également un excellent moyen d'approfondir ses connaissances en programmation, notamment grâce au travail sur l'ouverture/écriture de fichiers, la manipulation de chaînes de caractère et des autres type de données.
La présente page référence les solutions en Python 3 de chacun des exercices du challenge Cryptopals. A noter que le dernier set n'a pas été rendu public par les auteurs et que ces derniers ont demandés expressément de ne pas le mettre en ligne. Cependant, ils ne s'opposent pas à la publication des solutions des exercices correspondant.
Note: La rédaction des solutions des challenges est encore en cours mais je préfère publier directement les parties déjà finies au fur et à mesure.