Bonjour !
Je travaille sur le chiffrement AES avec une clé de 128 bits et un message de 128 bits.
Pour se faire j'utilise Maple.
J'ai utilisé ces deux liens :
http://www.cs.bc.edu/~straubin/cs381...ingles2004.swf
et http://csrc.nist.gov/publications/fi...7/fips-197.pdf
Pour les étapes subBytes, shiftRows, mixColumns et "la création de la RoundKey" + le XOR (= addRoundKey) j'ai tout codé et j'ai vérifié qu'on obtenait bien le résultat voulu (en retrouvant les exemples du lien PDF principalement et roundKey sur la page dynamique), donc s'il y a un problème de chiffrement je ne pense pas qu'il vienne de là...
Cependant j'aimerai vérifier que ma fonction finale de chiffrement est correcte en donnant un exemple parce que le problème étant que je n'arrive pas à déchiffrer le texte chiffré pour retrouver l'original...
Voila un peu de code :
Capture 1 : fonction de chiffrement, createMatrixFromString crée la matrice hexadécimale de la chaîne passée en paramètre. Les tours vont de 0 à 9.
Capture 2 : exemples de chiffrement avec la représentation matricielle hexadécimale du résultat.
Capture 3 : fonction de déchiffrement, là encore, les fonction invSubBytes, invShiftRows et invMixColumns ont été testées et donnent bien le résultat voulu.
Capture 4 : exemple de chiffrement pour voir si on retrouve bien le message "CLASSE PREPA !!!", ce qui n'est pas le cas.
Alors peut-être que ma fonction AESEncrypt ou AESDecrypt est ratée, mais pourtant, toutes les fonctions qui sont lancées à l'intérieur de celles-ci ont été vérifiées individuellement et fonctionnent... :/ Je ne retrouve pas "CLASSE PREPA !!!" lors du déchiffrement.
P.S : Si vous voulez plus de code n'hésitez pas
Merci d'avance.
Partager