hi, ich habe ein programm für die verschlüsselung mit dem RSA verfahren gebastelt, bekkomme die entschlüsselung aber leider nicht hin...
ich gehe euch mal eben einen kleinen überblick über mein Programm...
Dies ist die grafische Oberfläche...
(jetzt im anhang (von admin so vorgeschrieben))
die Schlüssel haben wie ihr gleich im quelltext seht nichts zu sagen...
Delphi-Quellcode:
procedure tcodiermaschine.verschluesseln;
var i, acode : integer;
begin
// Klartext zu ASCII
for i := 1
to length (klartext)
do
begin
// 1 ASCII- Code der i-ten Buchstaben ermitteln
acode := ord(Klartext[i]);
// 2 Durch formel ( C = M^e mod N ) verschlüsseln
acode := (acode + round(exp(7*ln(5)))
mod 187);
// 3 Das Zweichen mit dem ASCII- Code acode an der i-ten Stelle im chiffre ablegen
codetext[i] := chr(acode);
end;
end;
procedure tcodiermaschine.entschluesseln;
var i : single;
var acode : extended;
begin
// Klartext zu ASCII
for i := 1
to length (klartext)
do
begin
// 1 ASCII- Code der i-ten Buchstaben ermitteln
acode := ord(codetext[i]);
// 2 Durch formel ( M = C^d mod N ) verschlüsseln
acode := (acode - round(exp(23*ln(146)))
mod 187);
// 3 Das Zweichen mit dem ASCII- Code acode an der i-ten Stelle im chiffre ablegen
klartext[i] := chr(acode);
end;
end;
Dies sind die procedure's für die ent- und verschlüsselung...
Die verschlüsselung funktioniert, aber bei der entschlüsselung haut delphi immer die Fehlermeldung raus, dass die Schleifenvariable falsch sei...
Dies habe ich schon versucht mit dem Datentypen integer versucht zu behen, aber dafür sind die Zahlen einfach zu groß (bei diesem Beispiel wäre die zahl mit der man mod rechnet bei etwa 3,6*10^46)
Ich hoffe ihr habt eine gute Lösung für mein Problem...
Vielen Dank schonmal im voraus...
greetz
Bblackhawk