Connaître ses tables 2/2

hardware crypto side channel attacks FCSC 2024 résolu le

star star

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

Auteur

Neige

Flag

Partager ma réussite sur Fediverse, Twitter, Linkedin, Facebook, ou par email.

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.