Description
Benoît Blanc pense avoir réussi à cacher sa clef AES dans des tables.
Il vous fournit le code écrit en C permettant de chiffrer des messages avec cette clef, par exemple :
$ make
$ ./wb-aes keys.bin < /dev/zero
a53c3200a5c8ba9c134016e744dacf5c
De plus, une table pour la clef suivante est fournie dans le fichier key-public.bin
:
8e 73 b0 f7 da 0e 64 52 c8 10 f3 2b
80 90 79 e5 62 f8 ea d2 52 2c 6b 7b
Il a chiffré le flag à l’aide du SHA256 de cette clef (voir output.txt
) :
def encrypt(k, flag):
import hashlib
from Crypto.Cipher import AES
hk = hashlib.sha256(k).digest()
E = AES.new(hk, AES.MODE_GCM)
iv = E.nonce
c = E.encrypt(flag)
return {"c": c.hex(), "iv": iv.hex()}
Fichiers
-
connaitre-ses-tables-medium.tar.xz
87.05 KiB – ff87368d31fc703dd2f6a4075846f855db390e82f9bfa37e579d50df2477c8e1
Auteur
Flag
Soumettez votre solution
Vous pouvez envoyer votre solution rédigée pour cette épreuve. La FAQ contient la marche à suivre.
Vous avez besoin d'être identifié(e) pour soumettre une solution.
Solutions
Il n'y a pas encore de solutions pour cette épreuve, mais vous pouvez soumettre la vôtre après avoir trouvé le flag.