Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 14-04-2011 19:42:48
- stan147
- Membre
- Inscription : 14-04-2011
- Messages : 9
AES et Mathématiques
Bonsoir à tous et à toutes !
Voilà, je suis en train d'étudier le système AES mais je dois avouer que j'ai du mal à comprendre l'aspect mathématiques surtout au niveau des corps. J'ai besoin que vous me guidiez, m'orientiez parce que je commence à me perdre. Je précise que je ne suis qu'en première année post-bac donc mon niveau de mathématiques n'est pas encore suffisant pour avoir de bonnes bases mais je ferais de mon mieux !
Tout d'abord, je sais que l'élément de base de AES est l'octet et qu'on réalise une identification avec les éléments du corps fini GF(2^8).
D'après ce que j'ai lu, un corps est un ensemble regroupant plusieurs loi (associativité, commutativié, élément neutre) et dans lequel chaque élement non nul est inversible. Un peu abstrait mais je pense comprendre.
Dans le cas de l'AES, on parle de corps fini, ce qui veut dire que les éléments en jeu sont limités (en l'occurence 256 éléments).
Ai je déjà raison ?
Maintenant, d'après ce j'ai lu, il existe un polynôme particulier qui est caractéristique de l'AES:
x^8+x^4+x^3+x+1
Déjà je remarque que son degré est de 8 comme la puissance dans GF(2^8). (Est ce un hasard ?)
C'est un polynôme irréductible sur F2 et il sert de polynômes générateur.
Qu'est ce qu'un polynôme générateur ? Le corps F2 veut dire ici qu'il y aurait au maximum 2 élements, n'est ce pas ? Donc soit 0 ou 1 ?
Maintenant avec l'étape de la S-box, je sais que chaque octet que je nomme b de la matrice State est transformé suivant la formule:
b=A*(b^-1) XOR C avec A et C deux matrices.
Mon souci de compréhension vient au niveau de b^-1.
Pour cette étape, mon livre prend un exemple que je ne comprends pas.
Ex:
Soit L'octet b=(0,0,0,0,0,0,1,1) par la transformation inverse, ils obtiennent b^-1=(1,1,1,1,0,1,1,0)
Déjà, je sais que l'AES est caractérisé par une identification entre la valeur de l'octet et les coefficient du polynômes caractéristiques (celui de degré 8).
J'ai essayé de démontrer cette exemple mais je n'y arrive pas.
En polynômes, l'octet b devient: x+1 et ce que je cherche b^-1= x^7+x^6+x^5+x^4+x^2+x
Je pensais en fait qu'il suffisait de diviser le polynôme caractéristique de degré 8 par x+1 et que j'allais trouvé b^-1. Mais ce n'est pas le cas, cependant j'ai trouvé un résultat très proche ce qui me laisse à pense que ma technique dois être juste puisque je trouve ^b^1= x^7-x^6+x^5-x^4+2x^3-x^2+x-1
Où est mon erreur ? Sinon, quel est le rôle du polynôme caractéristique ?
Enfin ma dernière question concerne l'étape MixColumns. Elle me paraît un peu bizarre alors je vais vous expliquer ce que j'ai compris.
On considère les colonnes de State que l'on considère comme des polynômes de degré 3 (Hasard ?) et on fait subir une transformation à chaque octet de GF(2^8) selon cette formule:
Avec c : colonne de State
A: polynomes de degrés 3 à coefficients dans GF(2^8)
Do'ù vient ce mod(x^4+1) ?
Pouvez m'expliquer cette équivalence (surtout la matrice du milieu, je ne vois pas d'où elle vient). Pourquoi peut on la qualifier de cyclique ?
Voilà je tenais à vous remercie de votre aide précieuse. Je vous en serais très reconnaissant. Cela ne me dérange pas que vous abordez d'autres notions mathématiques plus difficiles (je veux justement comprendre).
Si vous n'avez pas compris une de mes questions, je reformulerais.
Merci d'avance et merci beaucoup !
Hors ligne
#2 16-04-2011 10:45:30
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 385
Re : AES et Mathématiques
Bonjour,
Bienvenue à bord.
Tu poses un problème extraordinairement (au sens premier du terme : qui sort de l'ordinaire) pointu.
Je crains que tu n'aies pas beaucoup de réponses ici....
Je vais essayer d'apporter des éléments de réponse sur ce que je comprends.
un corps est un ensemble regroupant plusieurs loi (associativité, commutativié, élément neutre)
Ça, je sais...
Ce n'est pas correct, parce qu'incomplet.
Un corps est muni de 2 lois de composition internes, pour les ensembles numériques, 2 opérations, en général + et x...
On va dire qu'on a une loi de composition, que je vais noter § (par ex) dans un ensemble E : on compose 2 éléments a et b pour en trouver un 3e, c : a § b = c.
Cette loi de composition est dite loi de "composition interne si et seulement si avec [tex]a,b \in E[/tex] on a [tex]c \in E[/tex]
Par exemple, soit I l'ensemble des nombres impairs, l'addition (classique, habituelle) est-elle une loi de composition interne de cet ensemble ? Non, parce que 3 + 5 = 8 qui est pair...
Par contre + est une loi de composition interne de l'ensemble [tex]P =\{2n,\;n \in \mathbb{Z}\}[/tex] :
soient [tex]m,n \in \mathbb{Z}[/tex], 2m + 2n = 2(m+n) qui est bien élément de P...
Cette loi de composition interne +, dans P est associative, possède un élément neutre et tout élément de P possède un symétrique...
On dit alors que (P,+) a une structure de groupe.
+ est associative dans P : (2m+n)+2p=(2m+(2n+2p) = 2m+2n+2p
Il y a un élément neutre e pour § si et seulement si quel que soit a de E, on a : a § e =e § a = a
C'est donc bien vrai pour + dans P.
Tout élément a possède un symétrique, noté a', si et seulement si (je vais abréger en ssi) a § a' = a' § a = e
Encore une fois c'est vrai pour + dans P.
De plus + est commutatif 2m+2n = 2m +2n... On dit que (P , +) est un groupe commutatif (encore dit abélien).
Pour avoir un corps, il faut une deuxième loi de composition.
Mais on commence par trouver d'abord un Anneau.
(P , +, x) est-il un Anneau ?
Condition n°1 remplie : (P , +) est un bien groupe commutatif.
Condition n° 2 : la 2e loi doit être Associative et distributive (à gauche et à droite) sur la première loi.
Associative : 2m x (2n x 2p) = (2m x 2n) x 2p. Oui.
Distributivité de de x sur + dans P:
2m(2n+2p) = (2n+2p)x 2 m. Vrai aussi
Tout ceci est vrai parce que déjà vrai dans [tex]\mathbb{Z}[/tex].
Donc (P , +, x) est un Anneau qui est de plus commutatif parce que x est commutative. C'est un Anneau commutatif mais pas unitaire puisque qu'il n'y a pas d'élément neutre pour x dans P.
Par contre [tex](\mathbb{Z},+,\times)[/tex] tout entier, lui est un Anneau commutatif unitaire : il y a bien un élément neutre : +1...
Mais ce n'est pas encore un Corps, puisque ([tex]\mathbb{Z}[/tex] , x) n'est pas un groupe.
En effet tout élément de [tex]\mathbb{Z}[/tex] ne possède pas de symétrique pour la multiplication, c'est à dire d'inverse : l'inverse de 3 serait 1/3 qui n'est pas dans [tex]\mathbb{Z}[/tex].
Par contre, ([tex]\mathbb{Q}[/tex] , + , x), lui est bien un Corps.
Mais voilà que je m'aperçois que je perds mon temps :
http://www.ilemaths.net/forum-sujet-422356.html
Il est vrai que le post ci-dessus est postérieur à celui-ci...
Si tu étais déçu de ne pas avoir de réponse et que tu es allé voir ailleurs si l'herbe y était plus verte, tu vois que tu t'es trompé...
En tous cas, ce n'est pas très bien vu en général comme procédé...
Ou alors tu supprimes carrément ton intervention avant d'aller voir ailleurs.
@+
[EDIT]
Et une de plus...
http://www.les-mathematiques.net/phorum … 92,quote=1
Mais là, c'est positif.
Tant mieux pour toi.
Hors ligne
#3 16-04-2011 17:37:03
- freddy
- Membre chevronné

- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : AES et Mathématiques
Salut yoshi,
ouip, demander à plusieurs en même temps, c'est ...
Mais bon, ici, on adore apprendre. Donc voilà ce que j'ai ramassé sur la toile : http://fr.wikipedia.org/wiki/Advanced_E … n_Standard
En cherchant un peu plus, on devrait découvrir un truc bien sympa.
A plusses ...
Hors ligne
#4 06-05-2011 19:35:29
- stan147
- Membre
- Inscription : 14-04-2011
- Messages : 9
Re : AES et Mathématiques
Bonsoir,
tout d'abord, merci pour vos précisions sur les corps et le lien.
Je tenais aussi à m'excuser d'avoir poster plusieurs fois, comme vous l'avez dit c'est un sujet assez pointu et donc je voulais tenter d'avoir au moins une réponse. C'était maladroit, je l'avoue.
En tout cas, merci et aurevoir.
Hors ligne
Pages : 1







