Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Verschlüsselung (https://www.delphipraxis.net/164069-verschluesselung.html)

yörsch 27. Okt 2011 15:47

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:
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.
UND

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;

DeddyH 27. Okt 2011 15:53

AW: RSA-Verschlüsselung
 
Zitat:

[DCC Warnung] mRSA.pas(23): W1010 Methode 'Destroy' verbirgt virtuelle Methode vom Basistyp 'TObject'
Wenn ich es ja nicht schon 2 mal gesagt hätte :roll:

m500 27. Okt 2011 17:22

AW: RSA-Verschlüsselung
 
Alles klar!

DeddyH 27. Okt 2011 17:29

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.

m500 27. Okt 2011 17:43

AW: RSA-Verschlüsselung
 
Ja stimmt!

m500 27. Okt 2011 17:46

AW: RSA-Verschlüsselung
 
Hmm

DeddyH 27. Okt 2011 17:49

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:

m500 27. Okt 2011 17:55

AW: RSA-Verschlüsselung
 
Version 1.0 ;)

implementation 27. Okt 2011 18:06

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?

DeddyH 27. Okt 2011 18:06

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 12:08 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz