der will bei mir immernoch nich...
ich stelle euch mal zur show, was ich da gebaut hab (is aus der klasse ukrypto)...
Delphi-Quellcode:
UNIT ukrypto;
INTERFACE
USES sysutils;
TYPE tcodiermaschine=class(TObject)
private
klartext,codetext:
string;
public
constructor create;
function IPowMod(a,b,n:int64): int64;
procedure setklartext(text:
string);
procedure setchiffre(text:
string);
function getklartext:
string;
function getchiffre:
string;
procedure verschluesseln(c:
string);
virtual;
procedure entschluesseln(c:
string);
virtual;
end;
so, dann gehts weiter mit der IPowMod
Delphi-Quellcode:
function IPowMod(a,b,n: int64): int64;
{-Berechnet a^b mod n}
var
p: int64;
begin
p := 1;
while b > 0
do begin
while b
and 1 = 0
do begin
b := b
shr 1;
a := (a * a)
mod n;
end;
dec(b);
p := (p * a)
mod n;
end;
IPowMod := p;
end;
(steht direkt hinter dem Constructor)
so und zum schluss die procedure zum verschlüsseln...
Delphi-Quellcode:
procedure tcodiermaschine.entschluesseln;
var i : integer;
var acode : int64;
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 := IPowMod( a:146, b:23, n:187 );
//(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;
folgende Fehler:
[DCC Fehler] ukrypto.pas(93): E2003 Undefinierter Bezeichner: 'a'
[DCC Fehler] ukrypto.pas(97): E2029 '.' erwartet, aber ';' gefunden
[DCC Fehler] ukrypto.pas(11): E2065 Ungenügende Forward- oder External-Deklaration: 'tcodiermaschine.IPowMod'
[DCC Fehler] krypto.dpr(5): F2063 Verwendete
Unit 'ukrypto.pas' kann nicht compiliert werden
wie gesagt, keine ahnung mehr...
vielen dank wiedermal für die hilfe...
very nice greetz
Bblackhawk