AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RSA-Verschlüsselung

Ein Thema von brushmate · begonnen am 17. Mär 2009 · letzter Beitrag vom 20. Mär 2009
Antwort Antwort
Seite 1 von 3  1 23      
brushmate

Registriert seit: 19. Dez 2008
Ort: Kempen
20 Beiträge
 
Delphi 7 Personal
 
#1

RSA-Verschlüsselung

  Alt 17. Mär 2009, 19:23
Hi,

ich versuch gerade die RSA-Verschlüsselung zu programmieren, bin jetzt auch eigentlich fertig damit, aber das Programm lässt sich nicht starten, bzw. hängt sich auf.
Es wird noch icht einmal das formular erstellt...

Könnt ihr mir sagen wodrann's liegt?
Angehängte Dateien
Dateityp: zip rsa_857.zip (205,6 KB, 49x aufgerufen)
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: RSA-Verschlüsselung

  Alt 17. Mär 2009, 19:44
Beim ertsellen deiner Form kommt es zur starken Auslastund deines Programms. Das kommt daher, dass du beim Erzeugen deiner Form direkt dein TRSA erstellst. Beim Erstellen führst Du eine sehr unperformante suche nach deinen 2 Primzahlen aus. Jenachdem, wie dein PC dich mag, kann es sein dass diese Suche so zur Endlosschleife wird. Zudem prüfst Du deine Zahl dann mit jeder Zahl darunter. Dabei könntest Du direkt die Teilbarkeit durch alle Primzahlen bis Zufallszahl/2 (nicht optimiert). Das ist eigentlich das grobe. Am besten ins OnShow, und dann warte ne Zeit lang.
[edit]hier mehr zur Primzahlfindung[/edit]
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#3

Re: RSA-Verschlüsselung

  Alt 17. Mär 2009, 19:48
Warum willst du das Rad neu erfinden? Es gibt doch OpenSSL. Da ist alles drin was man braucht.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
xxl1

Registriert seit: 21. Apr 2006
88 Beiträge
 
FreePascal / Lazarus
 
#4

Re: RSA-Verschlüsselung

  Alt 17. Mär 2009, 19:55
er schreibt da ne facharbeit drüber, steht hier
  Mit Zitat antworten Zitat
brushmate

Registriert seit: 19. Dez 2008
Ort: Kempen
20 Beiträge
 
Delphi 7 Personal
 
#5

Re: RSA-Verschlüsselung

  Alt 17. Mär 2009, 19:57
jep^^

die methode wie ich die primzahlen finde hat ohne den rest einwandfrei funktioniert und auch schnell..
ich hab jetzt mal den zahlen bereich aus dem der eine zahl raten soll auf 30 geändert und der erstellt trotzdem nicht die form
also liegts wohl eher nicht daran
  Mit Zitat antworten Zitat
brushmate

Registriert seit: 19. Dez 2008
Ort: Kempen
20 Beiträge
 
Delphi 7 Personal
 
#6

Re: RSA-Verschlüsselung

  Alt 17. Mär 2009, 20:00
onShow funktioniert auch nicht alo der erzeugt kein formular
  Mit Zitat antworten Zitat
g1o2k4

Registriert seit: 29. Aug 2006
57 Beiträge
 
#7

Re: RSA-Verschlüsselung

  Alt 17. Mär 2009, 21:05
das problem mit der endlosschleife von:
Delphi-Quellcode:
  repeat
    help := random(46340);
  until isPrime(help);
wurde ja schon angesprochen. wenn du es so machen willst solltest du wenigstens die geprüften zahlen aus der menge der zahlen von 0..46340 rausstreichen indem du sie zum beispiel in ein array oder stringlist schreibst und bei jedem schleifen durchlauf prüfst, ob die zahl bereits getestet wurde. aber selbst das ist verschwenderisch programmiert.

und zu dem isPrime test:
Delphi-Quellcode:
function TRSA.isPrime(x: Integer): Boolean;
var i, t: integer;
begin
  t := round(sqrt(x));
  for i := 2 to t do
    if x mod i = 0 then
      begin
        result := false;
        exit;
      end;
    result := true;
end;
ist zwar auch nicht perfekt aber immerhin nur sqrt(x) schleifendurchläufe statt x.


ich hab auch mal nen primzahl generator gemacht...dabei hatte ich ein array of boolean genommen und jeden array index geprüft ob es eine primzahl ist, wenn ja array[index] := true, wenn nein := false. dann könntest du am ende alle true-werte in ein neues array schreiben und dann neues_array[random(high(neues_array)] machen. dann wird dir eine zufällige primzahl ausgegeben.
  Mit Zitat antworten Zitat
g1o2k4

Registriert seit: 29. Aug 2006
57 Beiträge
 
#8

Re: RSA-Verschlüsselung

  Alt 17. Mär 2009, 21:06
ich kann dir die primzahl generierung auch schicken wenn du willst, aber so schwer ist das ja eigentlich nicht.
  Mit Zitat antworten Zitat
brushmate

Registriert seit: 19. Dez 2008
Ort: Kempen
20 Beiträge
 
Delphi 7 Personal
 
#9

Re: RSA-Verschlüsselung

  Alt 18. Mär 2009, 11:04
Wie schon gesagt glaube ich eigentlich nicht, dass es daran liegt, dass er zu lange braucht um die Primzahlen zu finden. ich kann das random(46340) auch auf random(3) setzen und der macht immer noch nix... Und aus 3 Zahlen 2 mögliche Primzahlen mit meiner Methode zu raten kann wohl nict sehr lange dauern
  Mit Zitat antworten Zitat
brushmate

Registriert seit: 19. Dez 2008
Ort: Kempen
20 Beiträge
 
Delphi 7 Personal
 
#10

Re: RSA-Verschlüsselung

  Alt 18. Mär 2009, 15:52
Soo hab den Fehler jetzt gefunden:

Delphi-Quellcode:
constructor TRSA.create();
var help: Integer;
begin
  randomize;
  repeat
    help := random(46340);
  until isPrime(help);
  p := help;
  repeat
    repeat
      help := random(46340);
    until isPrime(help);
    q := help;
  until p <> q;
  N := p*q;
  phi := (p-1)*(q-1);
  repeat //
    e := random*(N-1); //
  until (e > 1) and ((ggT(e, N)) = 1); //irgendein Fehler
  repeat
    d := random*N;
  until modulo((e*d), phi) = 1;
  p := 0;
  q := 0;
  phi := 0;
end;
Der Fehler liegt in der markierten Schleife...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:04 Uhr.
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