Hi,
ich habe RSA umgesetzt und folgenden Fall probiert:
p = 7
q = 13
N = 91
Eul N = 72
e = 23
d = 47
Klartext = 1337
(Eingabe direkt als Zahlen)
Verschlüsselt: 84
( 7^23 mod 91 = 84 )
Entschlüsselt: 63
( 84^47 mod 91 = 63 )
Warum kommt bei der Entschlüsselung etwas anderes heraus als der Klartext?
Delphi-Quellcode:
function TRSA.Decrypt(text:String; d, N:integer):string;
var
x, temp:integer;
begin
temp := 1;
for x := 1 to d do
temp := (temp * StrToInt(text) mod N);
Result := IntToStr(temp);
//Result := IntToStr(ExpMod(StrToInt(text), d, N));
end;
So sieht die Entschlüsselung aus. Was ist denn nicht korrekt?
mfg
fortuneNext
PS: Es liegt wahrscheinlich nicht am Quellcode, da auch per Hand dasselbe raus kommt. Aber sicher ist sicher...