Forum: Sonstige Fragen zu Delphi
Delphi
by gammatester,
31. Mai 2008
Das ist theoretisch vielleicht OK, aber Performamce wirst Du damit nicht erreichen. Besonders
dürfte eine mittlere Katastrophe werden, wenn mod beim modularem Potenzieren benutzt wird: Dann ist selbst meist eine normale mod-Funktion zu langsam und man benutzt Montgomery- oder Barret-Reduktion für allgemeine Zahlen; für spezielle Moduli kann man noch schneller Reduktionsverfahren benutzen.
...
Forum: Sonstige Fragen zu Delphi
Delphi
by gammatester,
31. Mai 2008
Das ist natürlich gerade für RSA völlig ungeeignet, da die wichtigste Routine, um die es in diesem Thread ja geht, nämlich eine ExpMod gänzlich fehlt.
Gruß Gammatester
Forum: Sonstige Fragen zu Delphi
Delphi
by gammatester,
28. Mai 2008
Kannst Du vielleicht noch verraten, wenn von 3 potentiellen du Du meinst, und welche Datei?
Gruß Gammatester
Forum: Sonstige Fragen zu Delphi
Delphi
by gammatester,
22. Mai 2008
Hier Delphi-Code der fast 64 Bits verarbeitet. Nicht sehr schnell da MulMod bitweise berechnet wird. Aber immer noch schneller als Multipräzision.
{MulMod and ExpMod functions, (C) W.Ehrhardt 2008}
{---------------------------------------------------------------------------}
function mulmod63(x,y,n: uint64): uint64;
{-returns x*y mod n, binary mul-mod from Crandall/Pomerance Alg....
Forum: Sonstige Fragen zu Delphi
Delphi
by gammatester,
17. Mai 2008
Für welche Werte klappt es nicht? Wie gesagt: der code kann nicht funktionieren für Werte > 2^31.
Oder hast Du einen Fehler in meinem MPArith-Paket gefunden?
Gammatester
Forum: Sonstige Fragen zu Delphi
Delphi
by gammatester,
16. Mai 2008
Also mein Delphi 6 rechnet mit Deinem Code richtig 11771 aus. Was sollte denn Deiner Meinung nach rauskommen?
Gammatester
Forum: Sonstige Fragen zu Delphi
Delphi
by gammatester,
16. Mai 2008
Mit 256-Bit-Input müssen die Zwischenergebnisse mindestens 512-Bit fassen können. Das wirst Du nicht mit Standarddatentypen schaffen, da sind Multipräzisionszahlen erforderlich. Wenn's pressiert, kannst Du meine Opensource Pascal-Bibliothek MPArith benutzen
http://home.netsurf.de/wolfgang.ehrhardt/misc_de.html#mparith
oder als Direktlink...
Forum: Sonstige Fragen zu Delphi
Delphi
by gammatester,
16. Mai 2008
Das liegt daran, daß 81079* 81079 = 6573804241 > 2^31 ist. Mach alle Variablen int64, dann geht's.
Gruß Gammateser