Hallo!
Folgende Function habe ich mal für die Berechnung des Modulo in RSA benutzt. War allerdings in Java, ich hoffe, ich habe beim Umschreiben nichts falsch gemacht. Ein paar Stichproben verliefen positiv.
Delphi-Quellcode:
//x^k mod m
function bigModulo (x, k, m : Integer) : Integer;
VAR bit :
Array[0..63]
OF Boolean;
i : Integer;
begin
i := 0;
while k > 0
do
begin
bit[i] := (k
mod 2) = 1;
k := k
div 2;
inc(i);
end;
result := 1;
dec(i);
while i >= 0
do
begin
result := result * result;
result := result
mod m;
if bit[i]
then
begin
result := result * x;
result := result
mod m;
end;
dec(i);
end;
end;
MfG
Peter
Christian S.
Admin in der Entwickler-Ecke