Solution de 4ureli1 pour Sbox

intro hardware

5 décembre 2023

Introduction

Ce write-up détaille la manière dont j’ai résolu le challenge Sbox - Hackropole en utilisant un script Python.

Script Python

J’ai écrit un script Python pour résoudre ce challenge. Le script utilise deux fonctions principales, XOR et NOR, pour effectuer des opérations logiques sur quatre variables d’entrée.

Voici le script complet :

def XOR (a, b):
    if a != b:
        return 1
    else:
        return 0

def NOR(a, b):
    if(a == 0) and (b == 0):
        return 1
    elif(a == 0) and (b == 1):
        return 0
    elif(a == 1) and (b == 0):
        return 0
    elif(a == 1) and (b == 1):
        return 0
    
if __name__=='__main__':
    x3=x1=1
    x2=x0=0
            
    y3 = XOR(x0,NOR(x3,x2))
    y2 = XOR(x3,NOR(x2,x1))
    y1 = XOR(x2,NOR(x1,y3))
    y0 = XOR(x1,NOR(y3,y2))
    
    print(f"FCSC{{{y3}{y2}{y1}{y0}}}")

Explication du script

La fonction XOR prend deux arguments et renvoie 1 si les arguments sont différents, sinon elle renvoie 0. La fonction NOR prend également deux arguments et renvoie 1 si les deux arguments sont 0, sinon elle renvoie 0.

Dans le bloc principal du programme, quatre variables d’entrée sont définies. Ensuite, les fonctions XOR et NOR sont utilisées pour calculer quatre nouvelles variables. Enfin, ces nouvelles variables sont imprimées sous la forme FCSC{y3,y2,y1,y0}.

Résultat

En exécutant ce script, j’ai pu résoudre le challenge Sbox - Hackropole.