M
MiTa
Gast
Ich arbeite gerade an einer Facharbeit zum Thema "Kryptologie" und habe dafür eine Anwendung geschrieben mit welcher ich RSA Schlüssel erzeugen kann um damit Dateien und Texte zu Ent- und Verschlüsseln.
Nun hab ich ja alles selber Programmiert (es geht ja um die Facharbeit und nicht um die Funktion). Doch haperst es eben noch genau dort. Denn die Ent- und Verschlüsselung Funktioniert nicht so wirklich wie ich es mir vorgestellt habe und nun weiß ich nicht ganz Obs am Java liegt oder an mir...
Um Texte und Dateien zu verschlüsseln zerhacke lese ich diese in jeweils als Bytes (damit ich damit rechnen kann) und spalte sie in jeweils 4 Byteblöcke. Diese 4 Byteblöcke rechne ich dann jeweils mit der RSA Verschlüsselungsformel in den Geheimtext um zu 5 Byteblöcken. Und halt umgekehrt zur Entschlüsselung.
Nun jetzt hab ich meine Programmlogik schon öfter überprüft und die ist auch einwandfrei.
Das Problem ist nur das wenn ich jetzt eine verschlüsselte Datei wieder entschlüsseln will mein Programm andere Werte aus der Datei liest als die welche es zuvor geschrieben hat und die verhält sich je nach Encoding anders.
Ist es nun so dass wenn ich mit einem FileInputStream eine Datei Auslese Java mir nicht wirklich die Bytes zurückgibt sondern nur die Bytes welche es aus den Charaktern interpretiert?
Ist es also unmöglich das Programm so mit Java umzusetzen? Hätte ich da eher was "Plattformabhängiges" anstatt Java hernehmen müssen?
Nun hab ich ja alles selber Programmiert (es geht ja um die Facharbeit und nicht um die Funktion). Doch haperst es eben noch genau dort. Denn die Ent- und Verschlüsselung Funktioniert nicht so wirklich wie ich es mir vorgestellt habe und nun weiß ich nicht ganz Obs am Java liegt oder an mir...
Um Texte und Dateien zu verschlüsseln zerhacke lese ich diese in jeweils als Bytes (damit ich damit rechnen kann) und spalte sie in jeweils 4 Byteblöcke. Diese 4 Byteblöcke rechne ich dann jeweils mit der RSA Verschlüsselungsformel in den Geheimtext um zu 5 Byteblöcken. Und halt umgekehrt zur Entschlüsselung.
Nun jetzt hab ich meine Programmlogik schon öfter überprüft und die ist auch einwandfrei.
Das Problem ist nur das wenn ich jetzt eine verschlüsselte Datei wieder entschlüsseln will mein Programm andere Werte aus der Datei liest als die welche es zuvor geschrieben hat und die verhält sich je nach Encoding anders.
Ist es nun so dass wenn ich mit einem FileInputStream eine Datei Auslese Java mir nicht wirklich die Bytes zurückgibt sondern nur die Bytes welche es aus den Charaktern interpretiert?
Ist es also unmöglich das Programm so mit Java umzusetzen? Hätte ich da eher was "Plattformabhängiges" anstatt Java hernehmen müssen?