je voudrais essayer de faire : AES ou DES
Tu souhait implementer une de ces deux algorithms ?
Si c'est bien cela, je te conseil d'implementer l'algorithm rijndael (AES) car c'est le standard actuel, c'est rapide et c'est sûr.
Il faut savoir que ces algorithms on été implementer des centaines (voirs plus) de fois, donc ton implementation ne servira pas à grand chose, si ce n'est qu'un exercice de programmation.
Il y a pas longtemps j'ai justement implémenter l'AES pour un projet scolaire(sources en Pascal objet et C), ce n'est pas tres compliqué.
mais je but sur bcp de point. je suis largué a partir de là
La transformation ByteSub...
En bref, sans rentré dans les détails, chaque octet de donné subit une transformation, cette transformation est constante, elle ne depend ni de la position de l'octet de donnée (dans le bloc de 128 bits), ni de la clef.En fait c'est une simple substitution.
Si la valeure de l'octet entrant est Y, cet octet sera substituer par un octet de valeure X, en dépi de sa position et de la clef. pour resumer l'opération ByteSub, il suffit de Declarer deux tableux de 256 octet (puisqu'un octet peut avoir jusqu'à 256 valeurs), un pour le chiffrement est un autres pour le déchiffrement. l' Y element du tableau de chiffrement devra contenir la vleur X, et l' X iéme element du tableau de dechiffrement contiendra un octet de valeure Y.
Ainsi pour chiffrer il suffit de faire
nouvelle_valeure = Tableau_de_chiffrement[aincien_valeure]
et la même chose pour le déchiffement (mas avec le deuxiéme tableau).
Toute l'implementation sera optimiser avec des tableaux a valeures constantes et des pointeures. Les opérations subByte, shiftRows et mixColumn seront en fait resumer en une seul opérations. Tu poura trouver ces tableau dans des implémentation deja faites.
PS : je ne suis pas sur que se soit la bonne rubrique pour parler de ca.
Partager