Also laut bc:
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.