AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Erweiterter Euklidischer Algorithmus
Thema durchsuchen
Ansicht
Themen-Optionen

Erweiterter Euklidischer Algorithmus

Ein Thema von Meisterschmied · begonnen am 14. Nov 2003 · letzter Beitrag vom 23. Nov 2003
Antwort Antwort
Meisterschmied

Registriert seit: 3. Nov 2003
45 Beiträge
 
#1

Erweiterter Euklidischer Algorithmus

  Alt 14. Nov 2003, 19:24
Noch mal Abend an alle!

Es geht mir wie immer um RSA, diesmal um den Erweiterten Euklidischen Algorithmus. Wie kann ich die normale Variante

Delphi-Quellcode:
procedure TForm1.AdvancedGcd(a, b : integer);
var
  x1, xtmp, y1, ytmp, r, t, q : integer;
begin
  // Erweiterter Euklidischer Algorithmus
  x0 := 1; x1 := 0;
  y0 := 0; y1 := 1;
  t := 1;

  while b <> 0 do
    begin
      r := a mod b;
      q := a div b;
      a := b;
      b := r;
      xtmp := x1;
      ytmp := y1;
      x1 := q*x1 + x0;
      y1 := q*y1 + y0;
      x0 := xtmp;
      y0 := ytmp;
      t := -t;
    end;

    x0 := t*x0;
    y0 := -t*y0;

end;
so umschreiben, dass ich zum Beispiel bei den Werten a=3 und b=220 nicht die Resultate x0 := -73 und y0 = 1 bekomme, die ich beim RSA-Verfahren nicht gebrauchen kann, sondern die Werte x0 = 147 und y0 = -2?

Ich persönlich hab nicht mal einen Ansatz? Schon mal besten Dank

Thanks,

Meisterschmied
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

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

Re: Erweiterter Euklidischer Algorithmus

  Alt 14. Nov 2003, 19:40
x0 * (-2) + 1
y0 * (-2)

?

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Meisterschmied

Registriert seit: 3. Nov 2003
45 Beiträge
 
#3

Re: Erweiterter Euklidischer Algorithmus

  Alt 14. Nov 2003, 19:46
Glaubst du, dass das allgemein anwendbar ist? Oder war das geraten?

Meisterschmied
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

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

Re: Erweiterter Euklidischer Algorithmus

  Alt 14. Nov 2003, 21:58
ich hab einfach mal nachgedacht wie ich von dem x,y der funktion auf deine x,y komme...

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#5

Re: Erweiterter Euklidischer Algorithmus

  Alt 23. Nov 2003, 20:55
Code:
 b = 220
x0 = -73
--------
x0 = 147
-73 mod 220 = 147 !

Dein Algorithmus arbeitet also korrekt.

Achso, jetzt müssen wir noch den Unterschied von mod zu rem erklären.

mod sollte nach der Reduktion eigentlich immer Zahlen liefern mit dem Vorzeichen des Modulis, mathematisch gesehen.
rem sollte so arbeiten wie es mod in Delphi macht. D.h. rem liefert das Vorzeichen der zu reduzierenden Zahl.

D.h. mathematisch gesehen arbeitet der mod Operator in Delphi falsch und müsste korrekter weise rem heissen.

Gruß Hagen
  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 17:36 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