FR | EN
Quentin L. Meunier
Maitre de conférence en informatique à Sorbonne Université

Distribution des valeurs d'une expression par énumération

Le programme python suivant permet d'analyser par énumération la distribution des valeurs d'une expression. Les variables considérées pour l'expression ont soit une distribution aléatoire uniforme (variables de type masque), soit une distribution inconnue (considérée secrète).
Lien vers le fichier
L'analyse donne pour résultat une valeur parmi 3 possibles : L'utilisation du programme en ligne de commande est la suivante :

$ ./check_formula_distrib.py -l "k ^ m"

La taille des variables (en nombre de bits) est à configurer dans le fichier python.
Dans l'expression, par convention, les variables de type masque sont celles qui ont un nom de la forme m<val> ou r<val>, et les variables secrètes celles qui ont un nom de la forme k<val> ou s<val>.
Concernant les décalages, l'opérateur >> effectue un décalage non signé, tandis que la fonction sra(m, sh) effectue un décalage signé.

Par exemple :