| Autor |
Beitrag |
simlei
      
Beiträge: 23
WIN XP
D7
|
Verfasst: Di 18.09.07 18:37
Hallo, ich suche eine Langzahlbibliothek. Ich benötige sie um RSA zu implementieren und bekanntlich treten da (wenn die Amfangsprimzahlen, wie vorgesehen in dem Verfahren, am Anfang 200 Stellen lang sein sollen) seeeehr (seehr) große zahlen auf. Beispiel: ich habe mal mit Primzahlen mit 3 Stellen (irgendwas zwischen 100 und 200) probiert und die Zahlen mit Derive durchgerechnet - das Programm hat dann irgendwann eine Zahl gehabt die hieß 14009^12398 und ging über viele zeilen. Trotzdem hat das Ganze nur einige Sekunden gedauert (samt Modulooperation(!))
Ich suche also eine Bibliothek die vielleicht auch ein wenig auf Geschwindigkeit optimiert ist - (am besten auch bei Modulo aber wenns das nicht gibt gehts halt nicht.) Ich will ja keine 200 Stellen-Anfangswerte haben (Das ergebnis wäre zu riesig), das Beispiel mit den kleinen dreistelligen genügt mir (aber auch hier entsehen große zahlen - 14009^12398)
Naja, ich hoffe ihr habt so etwas in petto, thanks in advance 
|
|
Allesquarks
      
Beiträge: 510
Win XP Prof
Delphi 7 E
|
Verfasst: Di 18.09.07 19:16
In meinem Taschenrechner (RAFX) sind große ganze Zahlen fertig implementiert große Gleitkommazahlen noch nicht. Da du aber von Primzahlen gesprochen hast denke ich sollte das ausreichen.
Ich hab einmal ein Post, wo ich diese vorstelle aber der ist nicht aktuell und hat Fehler. Deshalb sich die Funktionen einfach aus dem Taschenrechner raussuchen => Unit TBigintzahlimpl 0=>Deklaration der TBigintzahl aus Unit Konstanten übernehmen und alle virtuellen Funktionen rausstreichen und die Hilfsfunktionen aus RMath übernehmen dann ist die Klasse auch prozedural eigenständig lauffähig.
Die Funktionen die man primär braucht sind add sub mul und divmod danach sollte er ja meckern welche Funktionen er noch braucht
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Di 18.09.07 19:23
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Calyptus
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: Di 18.09.07 19:38
oder auch mal googlen was du zu "potenzieren mit großen Zahlen" findest. Das geht nämlich oft einfacher als man denkt...
_________________ Luft- und Raumfahrtechnik an der Uni Stuttgart
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Di 18.09.07 19:39
Jup. Speziell bei Modulo-Operationen werden die Ergebnisse nicht größer als das Modul der Potenz-Gleichung.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
simlei 
      
Beiträge: 23
WIN XP
D7
|
Verfasst: Mi 19.09.07 16:55
danke für die vorschläge, ich bin sicher da gibt es etwas rundum zufriedenstellendes
@ BenBe:
Ich weiß, wie Modulo funktioniert, und wie groß der Ergebnisraum ist, das sagt aber nichts über die Rechendauer (bei schlecht optimierten Algorithmen) aus.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mi 19.09.07 19:20
simlei hat folgendes geschrieben: | danke für die vorschläge, ich bin sicher da gibt es etwas rundum zufriedenstellendes
@ BenBe:
Ich weiß, wie Modulo funktioniert, und wie groß der Ergebnisraum ist, das sagt aber nichts über die Rechendauer (bei schlecht optimierten Algorithmen) aus. |
In der Theorie brauchen alle Algorithmen, die's gleiche tun, gleich lange  Dass die Praxis unterschiedlich ist, wollt unser Theo.Inf.-Prof nur nicht für voll nehmen
Hochoptimierte Langzahl-Bibliotheken sucht man bei Delphi aber etwas länger. Frag ggf. mal Hagen Redmann (negaH in der DP), ob er Dir da behilflich sein kann.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
|