![]() |
Re: RSA verschlüsselung funktioniert nicht...
Zitat:
IPowMod muss im Quellcode vor der Verwendung stehen und muß nicht mit tcodiermaschine.IPowMod aufgerufen werden, nur zB i:=IPowMod(2,10,55); Gammatester |
Re: RSA verschlüsselung funktioniert nicht...
füge die Funktion vor die Methoden, kodieren und dekodieren ein.
Oder mache aus Ihr eine Methode Deines Objektes. Grüße Klaus |
Re: RSA verschlüsselung funktioniert nicht...
der will bei mir immernoch nich...
ich stelle euch mal zur show, was ich da gebaut hab (is aus der klasse ukrypto)...
Delphi-Quellcode:
so, dann gehts weiter mit der IPowMod
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;
Delphi-Quellcode:
(steht direkt hinter dem Constructor)
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; so und zum schluss die procedure zum verschlüsseln...
Delphi-Quellcode:
folgende Fehler:
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; [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 |
Re: RSA verschlüsselung funktioniert nicht...
Hallo,
wenn Du das so machst:
Delphi-Quellcode:
dann solltest Du dies so machen:
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;
Delphi-Quellcode:
Grüße
function tcodiermaschine.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; Klaus |
Re: RSA verschlüsselung funktioniert nicht...
da hab ich wieder ein diesmal aber kleines problem :oops:
Delphi-Quellcode:
wenn ich das so schreibe sagt der mir:
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; [DCC Fehler] ukrypto.pas(93): E2003 Undefinierter Bezeichner: 'a' [DCC Fehler] ukrypto.pas(97): E2029 '.' erwartet, aber ';' gefunden [DCC Fehler] krypto.dpr(5): F2063 Verwendete Unit 'ukrypto.pas' kann nicht compiliert werden wie soll ich das sons schreiben???? is doch genau wie die struktur bei IPowMod... nice greetz Bblackhawk |
Re: RSA verschlüsselung funktioniert nicht...
Vielleicht so:
Delphi-Quellcode:
Du solltest IPowMod mit Parametern füttern, die Namen der Paramter
acode := IPowMod(146,23,187 )
werden da nicht mehr gebraucht. Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz