![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Hardware Forum d'entraide sur l'achat et le dépannage de votre matériel. Avant de poster -> FAQ et Tutoriels Hardware |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: juillet 2007
Messages: 8
|
Bonjour,
J'espère que je suis sur le bon forum... J'ai un soucis dans mon developpement VHDL. Quelqu'un a-t-il un source pour le decryptage AES? J'ai trouvé le cryptage : http://islab.oregonstate.edu/koc/ece...egarajan-Park/ qui fonctionne très bien d'ailleurs... Mais a pas decryptage sur le net 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é 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/ece...egarajan-Park/ Module "mix_column.vhd" http://www-id.imag.fr/~svarrett/ense...Projet_AES.pdf Page 9 |
|
|
|
|
|
#2 (permalink) |
|
Membre émérite
![]() |
Habituellement, toutes les techniques et algorithmes de cryptages sont fournies avec la méthode pour décrypter. Sinon, cela n'aurait pas beaucoup d'intérêt, du moins, pas dans le cadre de communications où à la fin, le destinataire est supposé pouvoir lire en clair le message.
Donc es-tu sûr que le lien que tu as trouvé ne propose pas quelque part une méthode de décryptage ? |
|
|
|
|
|
#3 (permalink) |
|
Invité de passage
![]() Date d'inscription: juillet 2007
Messages: 8
|
Le lien
http://islab.oregonstate.edu/koc/ece...egarajan-Park/ ne propose pas de decryptage, il le disent dans l'intro. Finallement, le decryptage revient a faire les opérations inverses dans un ordre différent, c'est pourquoi ils n'ont pas jugé utile de le mettre en ligne, je pense... En effet, il m'a fallu une dixaine de minutes pour modifier les opérations. (à part la matrice du subByte qui m'a pris pas mal de temps Le problème est que j'ai l'impression de bloquer sur un problème tout bête dans le mix_column... Sinon, du nouveau : j'abandonne leur idée du xor bizarre. J'ai donc inclus des composants multiplicateurs. Ca prend plus de place sur le FPGA mais au moins c'est clair . Design in progress... Result soonMerci d'avoir répondu. |
|
|
|
![]() |
![]() |
||
Vhdl - AES 128 bits
|
||
| Outils de la discussion | |
|
|