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