Example 1 - more details

This system is optimised for code size. It is suitable for small computing devices such as a mobile phone with limited memory. If we use the T-number notation of the Design Philosophy page, the modules used in this system are mostly T3 implementations.

Removing RSA key generation from this example reduces the compiled code size to 22 Kb.

The bignumbers implementation underlying all the public key operations in this system is written in Intel assembler, optimised for the Pentium architecture.

AES and SHA-1 are written in C, suitable for a general 32-bit microprocessor. Note that Intel and ARM assembler versions of AES are also available.

RSA uses the Chinese remainder theorem (CRT) and public exponent 17.

RSA key generation times are averages. Individual times vary.

The keys generated by RSA key generation use strong primes. If strong primes are not required, smaller and faster implementations are available.

No precomputes are used for Diffie-Hellman or DSA.

AES is available in both ECB and CBC modes. The timing test is performed in ECB mode.

The system was compiled using gcc under Cygwin on a 700 MHz Pentium III.

Return to Performance page
 


Copyright © Cambridge Public Key Technology Ltd 2002-2006 CPKtec logo