mirror of
https://github.com/LucasVbr/data-encryption-standard.git
synced 2026-05-13 17:12:10 +00:00
Triple Des
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user