Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 26-10-2020 15:18:43

armandoV
Invité

Aide décryptage

Bonjour,
Je participe à un challenge organisé par mon école et après plusieurs étape je suis arrivé sur un PDF avec le message suivant :


Message confidentiel d’Evil Chems pour Evil Gouv
La production de VX est bientôt achevée. Pour accéder aux détails sur la livraison, vous devez rentrer
un code d’accès. Pour plus de sécurité, il est chiffré par substitution mono-alphabétique de la manière
suivante : chaque caractère ASCII est remplacé par son inverse dans

GF(256)=Z_2[X]/X^8+X^4+X^3+X+1

Voici le mot de passe chiffré : 0xAF3A5E20A63AD0

Le texte clair est le code d’accès pour accéder aux informations voulues.
Salutations diaboliques,
Evil Chems


J'ai donc fait des recherches sur internet et je tombe sur les champs fini de Rinjdael. Et je ne sais pas par ou commencer et comment décrypter le message attendu.

Merci

#2 27-10-2020 19:24:09

Rossignol
Membre
Inscription : 19-06-2015
Messages : 290

Re : Aide décryptage

Bonjour armandoV,

Le corps fini $\mathbb{GF}(256)$ (Galois Field pour les Anglo-saxons) est très utilisé en cryptographie. L'idée est de définir les quatre opérations sur les octets ($256 = 2^{8}$) en utilisant les polynômes de $\mathbb{Z}/2\mathbb{Z}[X]$.

À chaque octet on peut associer bijectivement un polynôme. Par exemple à $(175)_{10}=(AF)_{16}=(10101111)_2$ on associe le polynôme $X^7+X^5+X^3+X^2+X+1$.

Pas de problème pour l'addition : l'addition des polynômes de deux octets est le polynôme associé au xor ($\oplus$) des deux octets.

Par contre, le produit de deux polynômes de degrés strictement inférieurs à 8 n'est pas toujours un polynôme de degré strictement inférieur à 8. On choisit donc un polynôme irréductible de degré 8 de $\mathbb{Z}/2\mathbb{Z}[X]$ comme module. Le reste de la division euclidienne du polynôme produit par ce module est un polynôme de degré strictement inférieur à 8 qui correspond, par définition, au produit des deux octets.

Il faut que le polynôme module soit irréductible pour que l'anneau quotient soit un corps.

Joan Daemen et Vincent Rijmen, les concepteurs de l'algorithme de chiffrement Rijndael (AES), ont choisi comme module le polynôme $X^8 + X^4 + X^3 + X + 1$.

(Si on choisit un autre polynôme irréductible de degré 8, les valeurs numériques sont différentes : il faut donc bien préciser le polynôme utilisé comme module. Néanmoins les corps obtenus avec des modules différents sont tous isomorphes).

Pour des exemples numériques voir Wikipédia.

Il existe des modules Python pour calculer dans ce corps, par exemple GF256.

Mais le plus simple est d'utiliser la table des inverses donnée à la fin de cette page.

Le mot de passe chiffré est 0xAF3A5E20A63AD0. On a donc 7 octets : AF 3A 5E 20 A6 3A D0
Pour le premier, AF, la table donne l'inverse 62 ce qui correspond au caractère ascii b. 
Pour le deuxième, 3A, l'inverse est 20 ce qui correspond au caractère espace. 
Et ainsi de suite.

Table des caractères ascii (utiliser la base 16).

@+

Hors ligne

#3 27-10-2020 20:08:47

armandoV
Invité

Re : Aide décryptage

Bonsoir,

Merci beaucoup pour cette explication et d'avoir pris le temps de me répondre
Si j'ai bien compris
AF => 61 donc b
3A => 20 donc espace
5E => 62 donc c
20 => 3a donc :
A6 => 65 donc e
D0 => 7a donc z


Je suis sassez bête car j'avais déjà trouver un des sites que vous mettez^^
Mais grâce à vous j'ai pu comprendre cette méthode de chiffrement

Merci

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
quatre-vingt dix-neuf plus soixante trois
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums