Page 1 sur 1

Vhdl - AES 128 bits

Publié : 18 juil. 2007 15:05
par Fabian35
Bonjour,

Quelqu'un a-t-il un source pour le decryptage AES? J'ai trouvé le cryptage :
http://islab.oregonstate.edu/koc/ece575 ... ajan-Park/
qui fonctionne très bien d'ailleurs...
Mais a pas decryptage sur le net :cry: Ou j'ai mal cherché...

Voila, j'ai réutilisé la base encrypt pour faire le decrypt puisque ce ne sont que des inversions mais je n'obtiens pas mon plaintext d'origine. Par contre, ma S-box inverse est bonne, j'en ai encore mal aux yeux à force de l'avoir vérifié :P

Merci d'avance

J'explique mon probleme en detail

Publié : 19 juil. 2007 9:36
par Fabian35
Dans la routine Mix Column de mon algo, il y a des multiplications à effectuer sur des polynomes représentés par des vecteurs.


Je prend un vecteur pour exemple : V[7..0]
Multiplication du vecteur par 2 : equivalent à un decalage a gauche.
J'obtiens donc un vecteur d'un bit plus grand :
V[7..0] = 10110011 ==> RESULTAT[8..0] = 101100110

Multiplication du vecteur par 3 : equivalent à un decalage a gauche suivi d'un XOR avec le vecteur d'origine.
V[7..0] = 10110011 ==> TEMP[8..0] = 101100110
RESULTAT [8..0] = TEMP[8..0] XOR 010110011 ;
Comme vous pouvez constater, on ajoute un 0 en tete du vecteur d'origine pour respecter le format 9 bits.

Cet algo fonctionne très bien.


Alors, là où ça coince, c'est pour le decryptage :
Je dois effectuer des multiplications par 9, 11, 13 et 14...

Pour le 9, j'ai pensé à l'opération suivante :
- multiplication par 8 (decalage a gauche de 3 bits)
- XOR avec le vecteur d'origine
Mais j'ignore si c'est correct, je ne peux malheureusement pas faire des tests simples aussi profondement dans le code, je n'ai qu'un resultat final deterministe "brut de pomme" en sortie du système (j'ai le resultat théorique).

Pour les 11, 13 et 14, je sèche...

Mes questions :
Pourriez-vous m'éclairer sur le fonctionnement du XOR dans ce contexte?
Comment auriez-vous fait? (meme une idée vague est bienvenue)

Merci d'avance.



PS : Je peux vous fournir des codes détaillés si vous voulez; j'ai essayé d'élager un peu dans ce paragraphe. Pour toute précision supplémentaire, je reste dispo.

PS 2 : je vous donne des liens vers la doc que j'utilise:

http://islab.oregonstate.edu/koc/ece575 ... ajan-Park/
Module "mix_column.vhd"

http://www-id.imag.fr/~svarrett/enseign ... et_AES.pdf
Page 9

Résolu

Publié : 13 août 2007 14:57
par Fabian35
Solution dans le document AES_spec.pdf
Pages 3,4 : Multiplication by repeating shifts.

Crypteurs, crypteuses, on vous ment, on vous spolie... La crypto c'est pas que des maths, c'est aussi de l'elec numerique :lol: ...

Publié : 01 déc. 2007 17:19
par help!!
je suis entrain de coder le aes,j'ai le meme pb,je sèche surles 11, 13 et 14.dans la fonction inv_mixcolumn.
j'ai regardé dans (Multiplication by Repeated Shifts) mais sans succès pour l'instant.
merci pour votre aide..