Vhdl - AES 128 bits

Electronique numérique / Circuits logiques programmables EPLD, CPLD, FPGA d'Altera ou de Xilinx VHDL, Verilog ou SystemC

Modérateur : Modérateur

Fabian35

Vhdl - AES 128 bits

Message 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

Fabian35

J'explique mon probleme en detail

Message 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

Fabian35

Résolu

Message 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: ...

help!!

Message 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..

Répondre