8-bit modular exponentiation code?
Major Variola (ret)
mv at cdc.gov
Fri May 30 11:10:09 PDT 2003
At 10:34 AM 5/30/03 -0700, Bill Frantz wrote:
>
>I think your best bet for an 8 bit CPU will be an assembly language
>routine.
Likely so. For those interested, I found this article,
which does in fact use enhanced (it has a multiplier)
Z80 assembly, included in the article:
http://www.ddj.com/documents/s=1030/ddj9309e/9309e.htm
The Z80180 and Big-number Arithmetic
Squeezing 512-bit operations out of 8-bit microcontrollers
Burton S. Kaliski, Jr.
For instance, in one recent project, our challenge was to implement
512-bit RSA
private-key operations in less than 10 seconds on Zilog's 8-bit Z80180
microcontroller running at 10
million cycles/second.
..............
The folks at cyphercalc.com have a cyphermath8 library, albeit
commercial.
See http://cyphercalc.com/math/features.htm
They give this performance data for the Rabbit CPU (see
http://cyphercalc.com/math/performance.htm)
780 milliseconds for a modular exponentiation with a 128-bit base,
40-bit exponent,
and 128-bit odd modulus. Exponent ones density: 50%. Target: Rabbit
Semiconductor RCM2020, running at 18.4Mhz. Compiled under Dynamic C,
version
6.03, with assembly optimizations in effect.
[no affiliation]
..............
Smartcard vendors tend to include a modexp co-processor.
More information about the Testlist
mailing list