ASCON Marchombre

Catรฉgorie: Cryptanalyse - Difficultรฉ: Facile

Description:

  • Clef : 00456c6c616e61206427416c2d466172

  • Nonce : 0

  • Message chiffrรฉ : ac6679386ffcc3f82d6fec9556202a1be26b8af8eecab98783d08235bfca263793b61997244e785f5cf96e419a23f9b29137d820aab766ce986092180f1f5a690dc7767ef1df76e13315a5c8b04fb782

  • Donnรฉes associรฉes : 80400c0600000000

Solution:

Pour ce challenge, quelques donnรฉes nous sont fournies ainsi que le nom de la mรฉthode de chiffrement : ASCON.

En cherchant rapidement sur internet, nous trouvons un package pypi ร  installer pour pouvoir l'utiliser dans un programme python.

Il n'y a pas grand chose ร  dรฉtailler ici ร  part donner le script utilisรฉ. Voici donc le code que j'ai utilisรฉ pour rรฉsoudre ce challenge en suivant des exemples trouvรฉs sur internet :

import ascon


key = bytes.fromhex("00456c6c616e61206427416c2d466172")
nonce = bytes.fromhex("00000000000000000000000000000000")
data = bytes.fromhex("80400c0600000000")
cipher = bytes.fromhex("ac6679386ffcc3f82d6fec9556202a1be26b8af8eecab98783d08235bfca263793b61997244e785f5cf96e419a23f9b29137d820aab766ce986092180f1f5a690dc7767ef1df76e13315a5c8b04fb782")

print(f"Key: {key}")
print(f"Nonce: {nonce}")
print(f"Ciphertext: {cipher}")
print(f"Data: {data}")

# Decrypt
plaintext = ascon.decrypt(key, nonce, data, cipher, variant="Ascon-128")
print(f"Plaintext: {plaintext}")

Lorsque nous exรฉcutons ce script, voici le rรฉsultat :

Nous pouvons donc rรฉcupรฉrer le flag en fin d'exรฉcution en remplaรงant le \xe8 par son caractรจre unicode : รจ

๐Ÿšฉ FLAG
404CTF{V3r5_l4_lum1รจr3.}

Last updated