Autor Beitrag
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 02.11.10 21:05 
Da ist die Anzahl der Stellen noch ausreichend. Aber bei größeren Zahlen eben nicht mehr.

Und wie schon gesagt wurde: RSA ist doch sowieso ein Algorithmus für ganze Zahlen. Da kannst du also mit Kommazahlen ohnehin nichts anfangen. :nixweiss:
Florens Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Mi 03.11.10 00:43 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Da ist die Anzahl der Stellen noch ausreichend. Aber bei größeren Zahlen eben nicht mehr.

Und wie schon gesagt wurde: RSA ist doch sowieso ein Algorithmus für ganze Zahlen. Da kannst du also mit Kommazahlen ohnehin nichts anfangen. :nixweiss:


Ja hab Extended genommen weil das ja nen deutlich größeren Zahlenberreich abdeckt und da theoretisch nie eine Kommazahl auftauchen sollte dachte ich geht das so klar. wusste vorher nicht das Extended son Mist mit E macht :(...naja wie gesagt danke für die Hilfe werd mich mal morgen weiter drüber informieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 03.11.10 00:52 
user profile iconFlorens hat folgendes geschrieben Zum zitierten Posting springen:
wusste vorher nicht das Extended son Mist mit E macht :(
Naja, von wegen Mist, überlege dir einmal was das bedeuten würde, wenn tatsächlich bei jeder Rechenoperation im PC so viele Stellen berechnet würden und wenn tatsächlich jede einzelne Zahl so viel Speicherplatz belegen würde...
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 03.11.10 08:01 
Also laut bc:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
> 70^1024
24010045032050349897829336107043933679229334992146423448220412706814\
86868333082578133553340069205286132534414845589161753348714754578045\
19913023923040798194920932800692355650641054232396253129068445435369\
41723091486523991681201549497347474723369238537239398448533730166852\
73873475557422978613901632684409113877957960151237467027431685232930\
56361832212379885224076470705304125310144400609642143220058640070479\
26903363200774773090161548101986899212144457593188071000306099306660\
19023382024715071177943534402431729924601868354489109512017545582889\
12781989100521238070890182973235750852695687229936318528420599581058\
89930981042642294753980764858987312531838913768491434961191337287366\
40554486896215426975373615422025826630061312541589124041975789541267\
44601068669647115256265062986820369746907134530167547320977398680045\
69451463199475681447759527781060339101392487014401000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
00000000000000000000000000000000000000000000000000000000000000000000\
000000000000000000000000000000000000000000000000000000
> 70^1024%187
69
> l(70^1024)/l(256)
784.54822616895570628108
> 17^13
9904578032905937
> 17^13/17
582622237229761
> 17^13%17
0


Die Funktion l() bei bc berechnet den Logarithmus Naturalis, die Division durch LN von 256 rechnet in Bytes um. Oder anders ausgedrückt: Das Ergebnis braucht in Binärform 785 Bytes. Extended bietet aber nur 80 Bit, wobei sogar nur 64 Bit Mantisse sind, ein Bit Sign sowie 15 Bit Exponent. Oder anders ausgedrückt: Das kann rein technisch bei Dir schon nicht klappen mit Floats ;-)

BTW: Bignum kann nativ keine Gleitkommazahlen, man kann es aber Reibungslos implementieren, wenn man weiß, was man tut. Nur braucht man für die wenigsten Algorithmen, die solche Zahlen präzise brauchen irgendwelche Gleitkommazahlen, und ansonsten gibt es Abwandlungen dieser Algorithmen, die mit Ganzzahlen rechnen können.

Für RSA jedenfalls reicht BigNum(2) vollkommen aus. Beispiel hattest Du ja bereits verlinkt. Zum Verwenden der Unit diese einfach in dein Projektverzeichnis legen und bei Delphi Unit verwenden sagen. Danach die zusätzlichen Funktionen, die diese Unit bereitstellt verwenden, nachdem Du die Unit in deine Uses-Klausel aufgenommen hast. Rest dazu sagt die Hilfe.

P.S.: Bei Verwendung von BigNum2 möchte ich mindestens eine Namensnennung haben, egal wo, bevorzugt aber im About oder der gepflegten Dokumentation.

_________________
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.