From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- Master/Kryptografie/p2/GalController.java | 76 +++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 Master/Kryptografie/p2/GalController.java (limited to 'Master/Kryptografie/p2/GalController.java') diff --git a/Master/Kryptografie/p2/GalController.java b/Master/Kryptografie/p2/GalController.java new file mode 100644 index 0000000..00a34f2 --- /dev/null +++ b/Master/Kryptografie/p2/GalController.java @@ -0,0 +1,76 @@ +package krypto; + +public class GalController { + + int key_s = 7; + int key_t = 3; + + private char encryptChar(char klar) + { + GalNumber gn_geheim = new GalNumber(); + GalNumber gn_klar = new GalNumber((int)klar); + GalNumber gn_key_s = new GalNumber(key_s); + GalNumber gn_key_t = new GalNumber(key_t); + GalNumber rijndael_mod = new GalNumber(GalNumber.RIJN_MOD); + + gn_geheim = gn_klar.add(gn_key_s).mult(gn_key_t.mod(rijndael_mod)); + + System.out.println("Klar: "+gn_klar.toHex()+" Geheim: "+gn_geheim.toHex()); + + return gn_geheim.toChar(); + } + + private char decryptChar(char geheim) + { + GalNumber gn_geheim = new GalNumber(); + GalNumber gn_klar = new GalNumber(); + GalNumber gn_key_s = new GalNumber(key_s); + GalNumber gn_key_t = new GalNumber(key_t); + GalNumber rijndael_mod = new GalNumber(GalNumber.RIJN_MOD); + + gn_geheim.setVal((int) geheim); + + gn_klar = gn_geheim.mult(gn_key_t.inv()).sub(gn_key_s.mod(rijndael_mod)); + + System.out.println("Geheim char: "+geheim+" int "+(int)geheim+" GN Geheim: "+gn_geheim.toHex()+" Klar: "+gn_klar.toHex()); + + return gn_klar.toChar(); + } + + public String encrypt(String klarText) + { + char [] chars = new char[klarText.length()]; + for (int i=0;i