-
1 pièce(s) jointe(s)
Programme Java DES
Bonjour, j'ai trouvé un programme sur internet qui permet de faire un cryptage en DES et un décryptage. Je souhaite le modifier pour faire un triple DES (cryptage avec clé1, décodage avec clé2, cryptage avec clé1).
Je possède déjà les clés qui permettent de coder le message.
La première partie (le cryptage) fonctionne bien mais lorsque je veux faire le décodage, il me répond que le nouveau message n'est pas correctement bourré.
Je suppose qu'il y a une erreur de taille du buffer mais je ne sais pas comment régler ce problème.
Si quelqu'un pouvait me dire le problème SVP...
PS: je travaille en langage Java avec eclipse et je suis débutant.
-
Bonjour,
Le principe du 3DES est d'être compatible avec DES quand on utilise 3 fois la même clé. Ici tu veux simuler du 3DES en appliquant 3 fois le DES de base. C'est une bonne idée. Mais il faut appliquer correctement les clés.
Si tu chiffres dans le premier schéma avec K1 et que tu déchiffres avec K2, ca ne marchera pas. Dans le mode EDE (Encrypt-Decrypt-Encrypt), il faut la même clé.
Si tu veux faire du véritable 3DES il te faut 2 ou 3 clés et chiffrer 3 fois avec DES.
-
J'ai oublié de préciser que je suis en mode CBC. Dans la norme(9303 partie 3 volume 2), il précise bien de coder avec la clé Ka ensuite de décoder avec la clé Kb puis de coder avec la clé Ka. (C'est un projet qui permet de lire un passeport).
De plus, lorsque je crypte, je me suis rendu compte que la taille de sortie du DES est 10 fois trop grande par rapport à mon message initial.
-
Bonjour,
Je pense que tu confonds deux choses :
1) Le mode de compatibilité de 3DES avec DES, qui s'appel EDE et qui permet en utilisant 3 fois la même clé de rendre compatible 3DES avec DES.
2) Le mode CBC qui est un mode interne de chiffrement.
Donc 2 notions différentes.
-
Euh... Peut-être en utiliser directement getInstance("DESede") ?
http://download.oracle.com/javase/6/...es.html#Cipher
Pas besoin de réinventer la roue ;)