Bonjour à tous
je cherche à faire un programme tres secure pour une personne comptable
je voudrais qu'elle puissent crypter ses fichiers de maniere symetrique
le cryptage IDEA me plait pas mal
mais j'aimerais comprendre un peu plus le principe
car j'ai trouvé ceci sous wikipedia:
Description
Le bloc de données de 64 bits est divisé en 4 sous-blocs de 16 bits : X1, X2, X3 et X4. Ces quatre sous-blocs deviennent les entrées de la première ronde de l'algorithme. Il y a huit rondes au total. À chaque ronde, les 4 sous-blocs sont combinés par OU exclusif, additionnés, mutlipliés entre eux et avec 6 sous-blocs de 16 bits dérivés de la clé. Entre chaque ronde, le deuxième et le troisième sous-bloc sont échangés. Enfin, les quatre sous-blocs sont combinés avec les quatre sous-clefs dans une transformation finale.
A chaque ronde, la séquence d'évènements est la suivante:
1. multipliez X1 et la première sous-clef;
2. additionnez X2 et la deuxième sous-clef;
3. additionnez X3 et la troisième sous-clef;
4. multipliez X4 et la quatrième sous-clef;
5. combinez par OU exclusif les résultats des étapes (1) et (3);
6. combinez par OU exclusif les résultats des étapes (2) et (4);
7. multipliez le résultat de l'étape (5) avec la cinquième sous-clef;
8. additionnez les résultats des étapes (6) et (7);
9. multipliez le résultat de l'étape (8) par la sixième sous-clef;
10. additionnez les résultats des étapes (7) et (9);
11. combinez par OU exclusif les résultats des étapes (1) et (9);
12. combinez par OU exclusif les résultats des étapes (3) et (9);
13. combinez par OU exclusif les résultats des étapes (2) et (10);
14. combinez par OU exclusif les résultats des étapes (4) et (10);
La sortie de la ronde est constituée des 4 sous-blocs produits par les étapes (1 1), (13), (12) et (14). Changez les deux blocs intérieurs (sauf lors de la dernière rond) et cela donne l'entrée de la ronde suivante.
Après la huitième ronde, il y a une transformation finale:
1. multipliez X1 et la première sous-clef;
2. multipliez X2 et la deuxième sous-clef;
3. multipliez X3 et la troisième sous-clef;
4. multipliez X4 et la quatrième sous-clef;
Enfin les 4 sous-blocs sont réassemblés pour former le texte chiffré.
---------------
ce que je ne comprend pas c'est comment décrypter et comment ne perdre perdre des données en multipliant 2 paquets de 16 bits chacun
un octet xor un autre octet donne un octet
mais un octet multiplié par un autre octet peux dépassé d'un octet
?
Partager