RSA Verschlüsselung kleines Problem

pilx

Mitglied
Ich bin gerade dabei in Java die RSA Verschlüsselung zu implementieren. Das Erstellen der Schlüssel dürfte soweit funktionieren (bin mal mit einem Debugger durchgegangen), Probleme habe ich allerdings dabei, wenn Text verschlüsselt werden soll. Ich bekomme als Ausgabe lauter Fragezeichen und im Debugger chinesische Schriftzeichen...

Ver- und Entschlüsselt wird mit den folgenden Methoden
Java:
public String[] cipher(String text) {
   	
    	//zerlegt in Zahlenfolge
	    BigInteger[] zahlen = CipherTools.split(text,modulus);
	    
	    //chiffriert jede Zahl
	    for(int i=0; i < zahlen.length; i++) {
	    	zahlen[i] = zahlen[i].modPow(privateExponent,modulus);
	    }
	    
	    //gibt Folge von Zahlen aus
	    String[] fertig = CipherTools.transform(zahlen);
	    return fertig;
	   
    }
   
    public String decipher(String... text) {
   	
    	//berechnet die Zahl c zu jedem Stueck Text
    	BigInteger[] zahlen = CipherTools.transform(text);
    	
    	//dechiffriert jede Zahl
    	for(int i=0; i < zahlen.length; i++) {
    		zahlen[i] = zahlen[i].modPow(privateExponent,modulus);
    	}
    	
    	//gibt zusammenhaengenden Text aus
    	return CipherTools.concat(CipherTools.transform(zahlen));
    	
    }

split ist eine Methode, die Text in Zahlen umwandelt. transform sind Methoden, die Folgen von Zahlen in Folgen von Texten umwandeln bzw. umgekehrt und concat ist eine Methode, die aus einem Array von Texten (also String[]) wieder einen einzelnen erstellt (String).
 
S

Spacerat

Gast
Also CipherTools kenne ich persönlich nicht. Ist das 'ne eigene Klasse? Dann könnte es daran liegen, dass in den zu verschlüsselnden Texten Sonderzeichen verwendet werden und bei der Wandlung in BigInteger "<String>.getBytes()" ohne den Parameter Charset verwendet wird. Der BigInteger erhält deswegen einen falschen Wert.
In diesem Falle liegt es nahe, die Texte mal völlig unkonventionell in ein ByteArray zu wandeln und daraus die BigInteger zu erstellen.
Java:
import java.nio.ByteBuffer;
import java.nio.CharBuffer;

public class BufferTest
{
	public static void main(String ... args)
	{
    	char[] ch = "test".toCharArray();
    	ByteBuffer bb = ByteBuffer.allocateDirect(ch.length * 2);
    	CharBuffer cb = bb.asCharBuffer();
    	cb.put(ch);
    	byte[] by = new byte[bb.capacity()];
    	bb.get(by);
    	BigInteger out = new BigInteger(by);
    	System.err.println(out);
	}
}
Die Zurückwandlung in einen String funktioniert entsprechend umgekehrt. Das Ganze ist auch völlig unabhängig von irgendwelchen Zeichensätzen geschweige denn Sonderzeichen.
 

pilx

Mitglied
das war es nicht...schade. Naja diese Tools sind einfach nur Methoden mit denen Text zu Zahlen gemacht werden kann, umgekehrt das gleiche und Textteile zu einem String.
 
S

Spacerat

Gast
Okay, wenn ich drüber nachdenke, muss das nicht mal ein Fehler sein, weil es eben nur um die Verschlüsselung geht. Das Problem dabei ist ja, dass die verschlüsselten Zahlen mehr oder weniger zufällig sind und die daraus resultierenden Texte natürlich ebenso unleserlich. Solange aus dem verschlüsseltem Text per "decipher()" wieder der Klartext errechnet wird, ist alles in Ordnung.
 

pilx

Mitglied
Ok, mein Fehler lag woanders. Ich bin ja noch Anfänger und habe nicht sauber gearbeitet. Hatte zwei BigInteger und folgendes geschrieben
Java:
p.subtract(BigInteger.ONE)
q.subtract(BigInteger.ONE)
f = p.multiply(q)

dabei hätte man entweder p = p... schreiben müssen oder einfach so wie ich es jetzt gemacht habe
Java:
BigInteger f = (p.subtract(BigInteger.ONE)).multiply(q.subtract(BigInteger.ONE));
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Cäsar Verschlüsselung Java Basics - Anfänger-Themen 8
Camoflasche RSA Verschlüsselung Java Basics - Anfänger-Themen 0
J RSA Verschlüsselung Testen / byte[] in Objekt umwandeln Java Basics - Anfänger-Themen 1
M Verschlüsselung mit replace() Java Basics - Anfänger-Themen 35
P Cäsear verschlüsselung irgendwas passt noch nicht Java Basics - Anfänger-Themen 2
A Methoden Cäsar-Verschlüsselung Java Basics - Anfänger-Themen 13
E Einfache Java Verschlüsselung Java Basics - Anfänger-Themen 4
N Erste Schritte JFrame Caesar-Verschlüsselung Java Basics - Anfänger-Themen 23
Y Caesar Verschlüsselung Fehler Java Basics - Anfänger-Themen 4
Ä Cäsar-Verschlüsselung Java Basics - Anfänger-Themen 5
N Caesar Verschlüsselung Java Basics - Anfänger-Themen 2
L Interpreter-Fehler RSA Verschlüsselung Fehler Java Basics - Anfänger-Themen 2
M Erste Schritte Verschlüsselung von text Java Basics - Anfänger-Themen 21
M Erste Schritte Verschlüsselung / Login-Sicherheit Java Basics - Anfänger-Themen 8
D Eine einfache Verschlüsselung schreiben Java Basics - Anfänger-Themen 3
A Vigenere Verschlüsselung Java Basics - Anfänger-Themen 2
B RSA Verschlüsselung für Aktivierunscode Java Basics - Anfänger-Themen 7
T Array Verschlüsselung Java Basics - Anfänger-Themen 5
Z Cäsar-Verschlüsselung Java Basics - Anfänger-Themen 1
V Permutation, Verschlüsselung Java Basics - Anfänger-Themen 19
H Cäsar-Verschlüsselung Java Basics - Anfänger-Themen 1
S Caesar Verschlüsselung Start Hilfe Java Basics - Anfänger-Themen 4
K Symmetrische Verschlüsselung von TextArea Java Basics - Anfänger-Themen 7
U Problem mit Verschlüsselung Java Basics - Anfänger-Themen 2
C Frage zu RSA-Verschlüsselung Java Basics - Anfänger-Themen 3
Y Applet: Verschlüsselung Java Basics - Anfänger-Themen 3
H Caesar-Verschlüsselung - Was stimmt nicht? Java Basics - Anfänger-Themen 6
V Ceasar Verschlüsselung Java Basics - Anfänger-Themen 9
D Verschlüsselung mit Java Java Basics - Anfänger-Themen 8
F Problem: Verschlüsselung von String in Array Fehler Java Basics - Anfänger-Themen 2
C Verschlüsselung Java Basics - Anfänger-Themen 8
R Frage zu Cäsar - Verschlüsselung! Java Basics - Anfänger-Themen 10
I Rc4 Verschlüsselung in BlueJ Java Basics - Anfänger-Themen 18
D Verschlüsselung Java Basics - Anfänger-Themen 4
C Compiler-Fehler Verschlüsselung Java Basics - Anfänger-Themen 2
B byte-weise Verschlüsselung Java Basics - Anfänger-Themen 6
S Caesar-Verschlüsselung Problem/Frage Java Basics - Anfänger-Themen 4
D Java Password verschlüsselung Java Basics - Anfänger-Themen 6
R Verschlüsselung von String Java Basics - Anfänger-Themen 4
J Cäsar Verschlüsselung Java Basics - Anfänger-Themen 12
G Verschlüsselung und Entschlüsselung von Texten Java Basics - Anfänger-Themen 7
D Java Verschlüsselung Java Basics - Anfänger-Themen 8
O Verschlüsselung mit Cipher & Key Java Basics - Anfänger-Themen 9
A Vigenere Verschlüsselung Java Basics - Anfänger-Themen 2
K Cäsar-Verschlüsselung Java Basics - Anfänger-Themen 1
S Hill Verschlüsselung Java Basics - Anfänger-Themen 10
A Einfache java Verschlüsselung HILFE Java Basics - Anfänger-Themen 3
W Xor-Verschlüsselung Java Basics - Anfänger-Themen 15
Y verschlüsselung Java Basics - Anfänger-Themen 10
T Frage zur Verschlüsselung (RSA) Java Basics - Anfänger-Themen 6
A Java Verschlüsselung/Cipher Java Basics - Anfänger-Themen 12
S Verschlüsselung Key Splitting Java Basics - Anfänger-Themen 2
B Again, Verschlüsselung Java Basics - Anfänger-Themen 3
M Caeser Verschlüsselung ganz einfach(nicht für mich) Java Basics - Anfänger-Themen 6
L Frage zur Verschlüsselung in java Java Basics - Anfänger-Themen 3
D Verschlüsselung Java Basics - Anfänger-Themen 4
A verschlüsselung Java Basics - Anfänger-Themen 7
G Vergleich bei MD5-Verschlüsselung Java Basics - Anfänger-Themen 3
zilti md5-Verschlüsselung? Java Basics - Anfänger-Themen 7
L Caesar-Verschlüsselung programmieren Java Basics - Anfänger-Themen 12
Lazybone Vigenere Verschlüsselung funktioniert nicht richtig Java Basics - Anfänger-Themen 8
S XOR-Verschlüsselung Java Basics - Anfänger-Themen 5
U "Einfache Verschlüsselung" Java Basics - Anfänger-Themen 17
K Verschlüsselung Java Basics - Anfänger-Themen 8
E Verschlüsselung mithilfe von Array Java Basics - Anfänger-Themen 2
S SHA? Hashcodes, Blowfish Verschlüsselung Java Basics - Anfänger-Themen 7
L Java und PGP Verschlüsselung, wie...??? Java Basics - Anfänger-Themen 2
S Kleines Java-Projekt; Kassenprogramm Java Basics - Anfänger-Themen 7
Kotelettklopfer Kleines Testprogramm mit Interface und einer Usereingabe Java Basics - Anfänger-Themen 16
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
J Kleines Rechenprogramm Java Basics - Anfänger-Themen 13
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
B Input/Output Kleines Netzwerkproblem Java Basics - Anfänger-Themen 2
J OOP Kleines Schülerverwaltungsprogramm Java Basics - Anfänger-Themen 9
F Methoden Kleines Problem mit meinem Glücksrad... Java Basics - Anfänger-Themen 9
N ein kleines GUI mit einem hauch XML Java Basics - Anfänger-Themen 5
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
T erstes kleines Programm Java Basics - Anfänger-Themen 17
S Kleines Quiz Programm Java Basics - Anfänger-Themen 4
C Hilfe - Kleines Programm macht mir Schwierigkeiten Java Basics - Anfänger-Themen 2
A Kleines Abbruch-Problem mit Do-While-Schleife Java Basics - Anfänger-Themen 4
K Ein kleines Rätsel Java Basics - Anfänger-Themen 2
E Erstes "kleines" Programm Java Basics - Anfänger-Themen 5
D kleines problem bei system.out.println schreibweise Java Basics - Anfänger-Themen 6
C Kleines Problem mit System.out.print Java Basics - Anfänger-Themen 1
A Best Practice Ideen für kleines Anfängerschulprojekt gesucht Java Basics - Anfänger-Themen 4
J kleines Karteikartenprogramm Java Basics - Anfänger-Themen 3
S Kleines Zeichen berechnen Java Basics - Anfänger-Themen 5
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
fLooojava Passwort generieren - kleines Programm Java Basics - Anfänger-Themen 15
H Kleines Prob Java Basics - Anfänger-Themen 5
J Vererbung Kleines Problem bei Vererbung! Java Basics - Anfänger-Themen 2
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
J Flaechen vergleichen/kleines Fehler? Java Basics - Anfänger-Themen 23
H Kleines Problem bei den Schleifen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben