AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi RSA - Erweiterter Euklidischer Algorithmus
Thema durchsuchen
Ansicht
Themen-Optionen

RSA - Erweiterter Euklidischer Algorithmus

Ein Thema von galaxy2k · begonnen am 26. Feb 2004 · letzter Beitrag vom 28. Feb 2004
Antwort Antwort
galaxy2k

Registriert seit: 7. Jun 2003
7 Beiträge
 
Delphi 7 Professional
 
#1

RSA - Erweiterter Euklidischer Algorithmus

  Alt 26. Feb 2004, 22:55
Ich habe leider mit dem folgenden Algorithmus Probleme in der Hinsicht, dass mir einfach nicht klar wird, wann u0/v0 ihre Werte zugewiesen bekommen. Was rauskommen soll usw. hab ich begriffen und das u0 den privaten Schlüssel ,laut der Formel d = e^-1 1 mod n bzw. u*e + v*n0 = 1, repräsentiert ist auch klar. Nur leider sehe ich vor lauter Bäumen den Wald nicht mehr. Der Algorithmus selbst funktioniert und gibt mir auch den relevanten Wert zurück, nur leider hab ich die bereits erwähnten Verständnisprobleme. Ich hoffe, dass mir hier einer im Forum den Rekursivaufruf näher erläutern kann.

mfg g2k

Delphi-Quellcode:
Function TMathe.ggTerw(a,b: int64; var u,v: int64):int64;
  var u0, v0:int64;
begin
  if b = 0 then Begin
    result := a;
    u := 1;
    v := 0;
  End else Begin
    result := ggTerw(b, a mod b, u0, v0);//rekursiv
    u := v0;
    v := u0 - (a div b)*v0;
  End;
end;

function TMathe.invers_mod(e,m: int64): int64;
  var d,v: int64;
begin
  ggTerw(e,m,d,v); //der Funktionswert von ggT wird nicht benötigt
  if d < 0 then d := d + m;
  result := d;
end;
  Mit Zitat antworten Zitat
galaxy2k

Registriert seit: 7. Jun 2003
7 Beiträge
 
Delphi 7 Professional
 
#2

Re: RSA - Erweiterter Euklidischer Algorithmus

  Alt 28. Feb 2004, 17:45
nochmal nach oben

Die Frage ist einfach , wieso die beiden Werte u0 und v0 nicht die ganze Zeit null bleiben ??
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: RSA - Erweiterter Euklidischer Algorithmus

  Alt 28. Feb 2004, 18:03
Am Anfang sind die beiden Variablen ja noch nicht initialisiert (sie werden ja auch noch nicht benötigt, falls doch, gibts ne CompilerMeldung "Variable ... ist möglicherweise nicht initialisiert worden").
Sie werden erst bei b = 0 initialisiert und bei dem Abschnitt wo b = 0 ist, hört die Rekursion auf und die Prozedur geht so oft an der Stelle nach der Rekursion weiter (wo die beiden Vars schon gesetzt sind) wie oft die Rekursion aufgerufen wurde.

Ich hoffe das war verständlich und richtig.^^

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:53 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