D
Django Kanasta
Gast
hallo zusammen!
ich habe folgendes problem:
zur zeit sitze ich an einem programm zur rsa-verschlüsselung. das ganze läuft so ab, dass ein verschlüsselter text in eine datei geschrieben und diese dann zum entschlüsseln wieder ausgelesen wird. ich schreibe also die werte untereinander in die datei und lese diese einzelnen werte dann in ein array. nun sieht meine berechnung folgendermaßen aus:
nun ist es so, dass meine verschlüsselungsfunktion offenbar falsch rechnet, obwohl es eigentlich so funktionieren müsste. per debugger habe ich kontrolliert, dass die formel mit den richtigen werten arbeitet (im array z stehen die werte aus der datei und in d steht der korrekte private schlüssel). wenn ich mit genau den werten, die in meiner formel stehen mit dem taschenrechner rechne, kommt alles wunderbar hin. demnach ist irgendwas mit der formel... eventuell wertebereich von long überschritten???
hoffe mir kann da jemand was zu sagen, denn ich weiß absolut nicht mehr weiter ^^
danke
ich habe folgendes problem:
zur zeit sitze ich an einem programm zur rsa-verschlüsselung. das ganze läuft so ab, dass ein verschlüsselter text in eine datei geschrieben und diese dann zum entschlüsseln wieder ausgelesen wird. ich schreibe also die werte untereinander in die datei und lese diese einzelnen werte dann in ein array. nun sieht meine berechnung folgendermaßen aus:
Code:
long [] z = new long[lines.size()]; //array für entschlüsselte werte mit größe des vectors
for (x=0;x<lines.size();x++)
{
z[x]=Long.parseLong(lines.get(x)); //die einzelnen werte aus dem vector "lines" in long parsen
}
//privat Key
temp=privat.getText(); //privat key einlesen...
long d = Long.valueOf(temp); //und in d vom Typ long parsen
//Algorithmus zum Verschlüsseln
for (x=0;x<lines.size();x++)
{
z[x]=(long)(Math.pow(z[x],d) %n);
System.out.println(""+z[x]);
}
nun ist es so, dass meine verschlüsselungsfunktion offenbar falsch rechnet, obwohl es eigentlich so funktionieren müsste. per debugger habe ich kontrolliert, dass die formel mit den richtigen werten arbeitet (im array z stehen die werte aus der datei und in d steht der korrekte private schlüssel). wenn ich mit genau den werten, die in meiner formel stehen mit dem taschenrechner rechne, kommt alles wunderbar hin. demnach ist irgendwas mit der formel... eventuell wertebereich von long überschritten???
hoffe mir kann da jemand was zu sagen, denn ich weiß absolut nicht mehr weiter ^^
danke