Sparkes, Ian, ZFRD AC (ian.sparkes@17.dmst02.telekom400.dbp.de)
15 Sep 1998 10:06:06 +0200
At 18:22 14.09.98, you wrote:
>I 'm designing a package to handle large (signed) integers
(in pascal), the size of these
>integers are merely bounded by the available memory.
I tried doing this in Delphi (for unsigned integers), but
found that the overhead caused by all the checks and memory
management slowed the thing down to a snail's pace. No
amount of tweaking really brought the thing up to the right
throughput. Normally I rave about Delphi/Pascal, but in
this case I don't think this is the right tool for the job.
In the end the solution is obvious but wearing. Embed
either assembler in the Pascal, or link in C .obj files
compiled from a good C BigNum library. You then have the
best of both worlds at the cost of not have a 'pure' Pascal
implementation.
>First a trivial question: Does
>anyone have a fast (faster than euclidean division)
>algorithm to calculate x mod n?
>Performance:
>What number of cycles are acceptable/fast/extraordinary to
>multiply/add x-digit
>numbers?
>What functions (besides the basics (+,-,*,/), and x mod n,
x^d mod n) should such a a
>package contain?
(Crypto biased view:)
Must have: Mod Inverse, GCD, Equality operators.
Nice to have: Increments/Decrements.
*Really* nice to have: Primality checks.
>If I 'm forgetting something, let me know.
>
>Walied Othman
>
>
The following archive was created by hippie-mail 7.98617-22 on Sat Apr 10 1999 - 01:13:59