![]() |
AW: RSA-Verschlüsselung
Hich ab auch mal ein bischen weiter gemacht...
Den Rest musst DU machen... Ich hab keine Ahnung von RSA... Ich hoffe die Datenflüsse sind für dich klar...
Code:
UND
unit fmRSA;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, mRSA; type TForm1 = class(TForm) MemoCodiert: TMemo; MemoVerschluesselt: TMemo; MemoEntschluesselt: TMemo; BeendenButton: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; ButtonEntschluesseln: TButton; ButtonVerschluesseln: TButton; procedure FormCreate(Sender: TObject); procedure BeendenButtonClick(Sender: TObject); procedure ButtonVerschluesselnClick(Sender: TObject); procedure ButtonEntschluesselnClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private RSA : TRSAWerkzeug; { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin RSA.Free; end; procedure TForm1.FormCreate(Sender: TObject); begin RSA := TRSAWerkzeug.create(-1); end; procedure TForm1.BeendenButtonClick(Sender: TObject); begin close; end; procedure TForm1.ButtonVerschluesselnClick(Sender: TObject); begin MemoVerschluesselt.Text := RSA.verschluesselCode(MemoCodiert.Text); end; procedure TForm1.ButtonEntschluesselnClick(Sender: TObject); begin MemoEntschluesselt.Text := RSA.verschluesselCode(MemoVerschluesselt.Text); end; end.
Code:
unit mRSA;
interface uses Math; const p = 11; const q = 13; const e = 23; const d = 47; type TRSAWerkzeug = class private zEingabecode: Integer; zVerschluesseltercode: Integer; function hoch_mod(x,y,z: integer): Integer; public constructor create(pCode: integer); overload; destructor destroy; function verschluesselCode(Const KlarText:String): String; function entschluesselCode(Const Text:String): String; end; implementation constructor TRSAWerkzeug.create(pCode: integer); begin zEingabeCode := pCode; zVerschluesselterCode := 0 end; destructor TRSAWerkzeug.destroy; begin // end; function TRSAWerkzeug.hoch_mod(x,y,z: integer): Integer; var c : integer; begin C := 1; while not (y = 0) do begin if (y mod 2 = 0) then begin x := (x * x) mod z; y := y div 2 end else begin y := y - 1; c := (c*x) mod z end end; result := c end; // Liefert den Verschlüsselten TEXT function TRSAWerkzeug.verschluesselCode(Const KlarText:String): String; begin result := KlarText + ' nix gemacht'; // Hier muss wass gemacht werden end; // Liefert den KlarText function TRSAWerkzeug.entschluesselCode(Const Text:String): String; begin result := Text + ' nix gemacht'; // Hier muss wass gemacht werden end; |
AW: RSA-Verschlüsselung
Zitat:
|
AW: RSA-Verschlüsselung
Alles klar!
|
AW: RSA-Verschlüsselung
Bist Du wirklich sicher, dass Ihr ernsthaft mit RSA ver-/entschlüsseln sollt? Ich will Dir ja nicht zu nahe treten, aber Deinen Posts nach zu urteilen ist Verschlüsselung endeutig ein paar Stufen zu hoch. Das lässt nur 2 Schlüsse zu: entweder soll RSA einfach nur simuliert werden, oder Du warst krank oder hast aus anderen Gründen schon lange den Anschluss verpasst.
|
AW: RSA-Verschlüsselung
Ja stimmt!
|
AW: RSA-Verschlüsselung
Hmm
|
AW: RSA-Verschlüsselung
Verschlüsselungs-Algorithmen sind m.W.n. nicht im Lieferumfang von Delphi enthalten, Du wirst Dich also nach externen Quellen umschauen müssen. Wobei mir das immer noch sehr spanisch vorkommt, so eine Aufgabe zu erteilen :gruebel:
|
AW: RSA-Verschlüsselung
Version 1.0 ;)
|
AW: RSA-Verschlüsselung
Weißt du denn, wie das RSA-Verfahren funktioniert?
Also mit Private/Public-Key und wie die Keys generiert werden auf Primzahlbasis? |
AW: RSA-Verschlüsselung
Das ist ja gut und schön, aber dafür wird er wohl eine entsprechende Unit verwendet haben. Von allein wird da ja nix verschlüsselt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 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