Registriert seit: 11. Okt 2010
86 Beiträge
Delphi XE Starter
|
AW: Socket Handshake Verschlüsselung
29. Aug 2011, 22:30
Hallo,
also ich habe mal ein Testprogramm geschrieben. Doch ich habe ein Problem. 2 und 19 ist das Maximum, da eine int64 Variable vom Wertebereich nicht hinhaut. Gibt es eine Möglichkeit dies zu erweitern/splitten?
Delphi-Quellcode:
program test;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a,b,ga,gb,k1,k2:Int64;
const
g:Int64=2;
p:Int64=19;
function potenz(b,e:int64):int64; //<< hier liegt der Fehler
var x:longword;
begin
if e = 0 then result:=1;
result:=b;
for x:=2 to e do result:=result*b;
end;
begin
Randomize;
a:=1+random(p-2);
b:=1+random(p-2);
write('a:');write(a);write(' | b:');writeln(b);
writeln('--------------------------------------');
ga:=potenz(g,a) mod p;
gb:=potenz(g,b) mod p;
write('A:');write(ga);write(' | B:');writeln(gb);
writeln('--------------------------------------');
k1:=potenz(gb,a) mod p;
k2:=potenz(ga,b) mod p;
write('Key1:');write(k1);write(' | Key2:');writeln(k2);
writeln('--------------------------------------');
readln;
end.
Ich bitte um Hilfe.
MfG schlagzu
|
|
Zitat
|