Triple Des

This commit is contained in:
Lucàs
2022-10-27 21:17:59 +02:00
parent 7841a2a346
commit 8b594bfe84
2 changed files with 48 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
package cryptography;
public class TripleDes {
private final Des[] listeDes;
public TripleDes() {
this.listeDes = new Des[]{new Des(), new Des(), new Des(),};
}
public int[] crypte(String messageClair) {
String resultat = messageClair;
for (Des des : listeDes) {
resultat = Des.bitsToString(des.crypte(resultat));
}
return Des.stringToBits(resultat);
}
public String decrypte(int[] messageCrypte) {
int[] resultat = messageCrypte;
// Il faut décripter dans le sens inverse, donc de l'index le plus grand vers le plus petit
for (int i = listeDes.length - 1; i >= 0; i--) {
resultat = Des.stringToBits(listeDes[i].decrypte(resultat));
}
return Des.bitsToString(resultat);
}
}
+19
View File
@@ -0,0 +1,19 @@
package cryptography.temp;
import cryptography.Des;
import cryptography.TripleDes;
public class testTripleDes {
public static void main(String[] args) {
TripleDes tripleDes = new TripleDes();
String message = "Hello";
int[] messageCrypte = tripleDes.crypte(message);
String messageDecrypte = tripleDes.decrypte(messageCrypte);
System.out.printf("\"%s\" -> \"%s\" -> \"%s\"", message, Des.bitsToString(messageCrypte), messageDecrypte);
}
}