Verschlüsselung von Text und Files durch RSA (Encoding Problem)

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?
 
T

troll

Gast
1) RSA wird meist nicht direkt zum verschlüsseln genutzt sondern nur um einen symetrischen schlüssel für z.B. AES zu sichern ... die daten werden dann mit dem symetrischen verfahren verschlüsselt

2) es hört sich so an als hättest du RSA selbst implementiert ... da spricht erstmal nichts gegen und ich hab auch schon einiges gesehen was recht gut aussieht ... aber ganz erlich : java hat ein crypto-pack wo so ziemlich alles gängige wie RSA, AES, DES und DESede drin sind ... zusätzlich natürlich noch die hashes MD5 sowie die SHA-familie ... warum also selbst implementieren ?

3) ich denke mal das du eben NICHT byte-weise einliest sondern irgendwo einen Reader / Writer und String verwendest ... und da kommt es bei den "binärdaten" dann zwangsläufig zu encoding fehlern ...
arbeite hier mit plain Streams und byte-arrays ... dann ist das ganze auch encoding-sicher ...
(zur not könnte man noch explizit UTF-8 nutzen)
 
M

MiTa

Gast
Ich weiß das dass Programm parktikabel nicht sehr sinnvoll ist. Es geht ja nur darum für meine Facharbeit etwas zu demonstrieren. Daher hab ich es auch selbst geschrieben.

Für die umwandlung von Texten (aus einem JTextPane) habe ich mit String.getBytes() gearbeitet hier weiß ich zu 100% das es am encoding liegt. Das dies zwangsläufig zu fehlern führt ist mir nun auch schon bekannt.

Bei der Ver- und Entschlüsselung der Dateien arbeite ich mit dem FileInputStream welcher mir direkt "Bytes" zurückgibt. Doch verhält sich dieser je nach Encoding auch anders.
Es ist ja nicht so das die Verschlüsselung garnicht funktioniert. Aber wenn ich einen File verschlüssel und ihn dan wieder entschlüssel weicht dieser vom andren File ab.

Nutze ich UTF-8 bekomme ich kommischeweiße mehr fehler wie mit ISO-8859-1.

Eine andere möglichkeit wie ich ause dem FileInputStream um die Files wirklich binär auszulesen ist mich leider nicht bekannt :(
Nun bin ich mir nicht sicher wie der FileInputStream wirklich funktioniert und ob dieser auch vom Encoding abhängig ist und somit garnicht richtig "binär" arbeitet...
 
M

MiTa

Gast
Hab nochmal nachgeschaut. Liegt also doch nicht am Encoding...
Hatte da irgendwie Tomaten auf den Augen. Danke dir für den Hinweiß.

So wieß aussieht liegt es daran das meine Bytearrays von BigInteger zumteil als negative Zahlen interpretiert werden, klar das dann beim Entschlüsseln wieder ne andere Zahl rauskommt wenn die Zahlen potenziert werden...
 
M

MiTa

Gast
ähm gibts da irgendwie ne gute Möglichkeit damit das ByteArray immer als positive Zahl interpretiert wird?
 
M

MiTa

Gast
Merci, hatt sich dan erledigt. Danke an alle!

(bei mir hatts damit geklappt)
Code:
long longValue = (new Integer(new BigInteger(byteArray).toString()) & 0xFFFFF);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Verschlüsselung von Text? Allgemeine Java-Themen 2
M pfx-Zertifikat in Tomcat für SSL-Verschlüsselung nutzen Allgemeine Java-Themen 14
X Verschlüsselung Allgemeine Java-Themen 18
P String-Verschlüsselung - Frage zur Sicherheit Allgemeine Java-Themen 21
R Verschlüsselung falsch Allgemeine Java-Themen 3
R Verschlüsselung funktioniert nicht Allgemeine Java-Themen 5
J Passwort Verschlüsselung hash Allgemeine Java-Themen 2
D AES Verschlüsselung / Wirklich AES 128-Bit? Allgemeine Java-Themen 4
I Best Practice Verschlüsselung mit SALT Allgemeine Java-Themen 4
A Mehrfache XOR Verschlüsselung Allgemeine Java-Themen 11
Thallius Moderne sichere synchrone Verschlüsselung mit Java? Allgemeine Java-Themen 3
Ananaskirsche Verschlüsselung mit AES Allgemeine Java-Themen 4
E Verschlüsselung Allgemeine Java-Themen 4
F Schlüsselworte RSA Verschlüsselung implementieren Allgemeine Java-Themen 5
S Key (für AES-Verschlüsselung) aus String Allgemeine Java-Themen 4
M Serialisierung & Verschlüsselung Allgemeine Java-Themen 2
K Problem mit Salted - Verschlüsselung Allgemeine Java-Themen 4
Z Java E-Mail Client mit End-to-End-Verschlüsselung Allgemeine Java-Themen 4
K Vigenere- Verschlüsselung Allgemeine Java-Themen 13
T AES-Verschlüsselung mit eigenem 256 Bit Schlüssel Allgemeine Java-Themen 12
DStrohma Verschlüsselung: SALT aus Passwort generieren? Allgemeine Java-Themen 3
G AES Verschlüsselung nur bis 63 Zeichen Länge Allgemeine Java-Themen 2
M Verschlüsselung mit Cipher Allgemeine Java-Themen 5
B XOR Verschlüsselung Allgemeine Java-Themen 7
S Framework für symetrische und asymetrische Verschlüsselung Allgemeine Java-Themen 3
lumo Verschlüsselung Allgemeine Java-Themen 2
H Verschlüsselung mit Blowfish Allgemeine Java-Themen 14
C Interpreter-Fehler AES verschlüsselung mit MD5 key Allgemeine Java-Themen 6
S AES Verschlüsselung - File Headers korrupt Allgemeine Java-Themen 10
A Datei, UTF-8, NTRU-Verschlüsselung Allgemeine Java-Themen 3
B "Verschlüsselung" mit Passwort (XOR bzw. Modulo) Allgemeine Java-Themen 7
B String Verschlüsselung Allgemeine Java-Themen 6
M Verschlüsselung anwenden Allgemeine Java-Themen 6
J Verschlüsselung Allgemeine Java-Themen 22
T MD5 Verschlüsselung Nullen fehlen? Allgemeine Java-Themen 2
L [Exception] RSA Verschlüsselung. Allgemeine Java-Themen 16
C javamail signatur und verschlüsselung Allgemeine Java-Themen 2
R 128 Bit Verschlüsselung/Entschlüsselung in Java? Allgemeine Java-Themen 6
F RSA-Verschlüsselung Allgemeine Java-Themen 4
S Verschlüsselung in Java Allgemeine Java-Themen 2
G Interessant! Verschlüsselung in Java, Charset in der JVM? Allgemeine Java-Themen 14
D Eigener Key bei AES Verschlüsselung Allgemeine Java-Themen 4
T Verschlüsselung von Dateien Allgemeine Java-Themen 8
S Verschlüsselung - IllegalBlockSizeException Allgemeine Java-Themen 3
G Problem mit RSA Verschlüsselung bei .net und Java Allgemeine Java-Themen 1
D Caesar und Vigenère Verschlüsselung Allgemeine Java-Themen 2
alexpetri Verschlüsselung Allgemeine Java-Themen 13
@ [Sicherheit] Speicherung von Keys für Verschlüsselung Allgemeine Java-Themen 4
P Verschlüsselung in PHP -> Entschlüsselung in Java Allgemeine Java-Themen 2
Lazybone Caeser Verschlüsselung Allgemeine Java-Themen 6
S Verschlüsselung mit Cipher Allgemeine Java-Themen 8
S Verschlüsselung Allgemeine Java-Themen 15
J Problem mit Dateien/XOR-Verschlüsselung Allgemeine Java-Themen 5
G RSA-Verschlüsselung Allgemeine Java-Themen 1
P HMACMD5- Verschlüsselung entschlüsseln Allgemeine Java-Themen 2
I Verschlüsselung mit Pwd. - User soll Algorithmus wählen Allgemeine Java-Themen 4
J Probleme bei XOR verschlüsselung ! Allgemeine Java-Themen 5
G Verschlüsselung in Java Allgemeine Java-Themen 9
M RSA Verschlüsselung Allgemeine Java-Themen 7
J Verschlüsselung von Daten Allgemeine Java-Themen 21
O Text aus einer Textdatei rausholen, der zwischen zwei Schlüsselworten steht Allgemeine Java-Themen 4
K Bildschirm auslesen/ Text erkennen Allgemeine Java-Themen 5
berserkerdq2 Text über einen Shape anzeigen (Scenebuilder) Allgemeine Java-Themen 1
M Thymeleaf th value und th text Allgemeine Java-Themen 1
_user_q Eingegebenen Text Zeile für Zeile ausgeben lassen Allgemeine Java-Themen 11
_user_q Eingegebenen Text wiederholt schreiben lassen Allgemeine Java-Themen 9
G Darstellung von Text auf MapContext von GeoTools Allgemeine Java-Themen 2
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
Mozart53 JLabel nur meinen Text verschieben ohne Image Allgemeine Java-Themen 3
izoards Bestimmter Text aus PDF extrahieren Allgemeine Java-Themen 3
B Scanner erkennt keinen Text in Textdatei, obwohl welcher drinsteht Allgemeine Java-Themen 10
K HTMLEditor HTML Text in Rich Text umwandeln Allgemeine Java-Themen 14
kodela JDialog zeigt Text nicht an Allgemeine Java-Themen 5
L Text filtern Allgemeine Java-Themen 1
Bluedaishi TEXT Kodierung Allgemeine Java-Themen 3
J Die Letzte Zahl aus einer Text datei lesen Allgemeine Java-Themen 8
S Ini Text aus String parsen Allgemeine Java-Themen 1
M itext - Button der Text in Zwischenablage stellt Allgemeine Java-Themen 0
E CSV mit Text und Binärdaten auslesen Allgemeine Java-Themen 7
FRI3ND Datentypen Date-Array sortieren - Text mitnehmen? Allgemeine Java-Themen 7
I Text suchen und ersetzen im Word Dokument Allgemeine Java-Themen 3
windl Text mining / deep learning Allgemeine Java-Themen 0
I Text aus Input-Box entnehmen und zuweisen Allgemeine Java-Themen 1
KeexZDeveoper Text Mining Allgemeine Java-Themen 3
L Input/Output Wie kann man in der Konsole einen Text farbig ausgeben z.b in grün Allgemeine Java-Themen 6
B Arrays mit Text und Zahlen füllen Allgemeine Java-Themen 3
A Datenexport (Text und Draw) Allgemeine Java-Themen 1
L Text von txt auf JTextArea Allgemeine Java-Themen 4
N Das Ende von bestimmten zeilen in text datei ändern und speichern Allgemeine Java-Themen 3
A 2D-Grafik Text in ein Bild schreiben Allgemeine Java-Themen 11
T Textarea text wird immer überschrieben Allgemeine Java-Themen 4
I Apache POI Word Text einfügen Allgemeine Java-Themen 26
T itext: text in ein textfeld hinzufügen Allgemeine Java-Themen 2
B Farbiger Text in der Konsole Allgemeine Java-Themen 1
K Pdf mit dynamischem Text mit iText Allgemeine Java-Themen 0
D Text Analyzer Allgemeine Java-Themen 2
RalleYTN Audiodatein(.ogg/.wav) in Text konvertieren Allgemeine Java-Themen 0
L Nach Button drücken den Text festspeichern Allgemeine Java-Themen 9
X Löschen von einer Zeile in einer Text Datei. Klappt nicht. Allgemeine Java-Themen 4
J Text lesen und in Variablen speichern Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben