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 cypherpunks-legacy mailing list