404CTF 2023 - Cryptanalyse - Recette
Difficulté: facile
Points: 100
Challenge

Solution
Il s’agit du challenge d’introduction de la catégorie Cryptanalyse du 404CTF 2023. L’énoncé nous donne une chaine hexadécimale et une “recette” d’instruction pour retrouver le flag. Suivons donc cette recette à la lettre 👨🍳 :
L’outil CyberChef est très utile pour effectuer ce genre de transformation sur une chaîne de caractères. Dans un premier temps utilisons le pour décoder l’hexadécimal :

La recette nous indique maintenant de “développer” afin de faire disparaitre les chiffres. Dans cette chaîne chaque lettre est précédée d’un nombre. Il faut comprendre que le code Deadfish a été “compressé” de façon à ce que le nombre qui précède chaque lettre indique son nombre de répétitions dans le Deadfish. Utilisons le script Python suivant pour développer cette chaîne :
cipher = "2i1s4i1s15d1o49i1o4d1o3i1o15d1o22d1o20d1o19i1o7d1\
o5d1o2i1o55i1o1d1o19d1o17d1o18d1o29i1o12i1o26i1o8d1o59d1o27\
i1o6d1o17i1o12d1o7d1o5i1o1d1o2d1o12i1o9d1o26d1o"
deadfish = ""
count = 0
for c in cipher:
if c.isdigit():
count = 10 * count + int(c)
else:
deadfish += count * c
count = 0
print(deadfish)
Deadfish est, à l’instar du Brainfuck, un langage de programation utilisant très peu de caractères (i, s, d, o). Dcode propose un interpréteur de Deadfish nous permettant de passer à l’étape suivante :

Enfin la dernière étape consiste à décoder la base 85 pour obtenir le flag en ASCII. Réutilisons Cyberchef puis récupérons nos premiers points de la catégorie Cryptanalyse :
