Being an asymmetric realization ECC ideally complements AES. This happens to be one of the most secure and high performing public-key methods available today. Users can benefit from the advantages without having to bother with the complex mathematics behind elliptical curves over finite fields. Part of CompactECC is an implementation of ECDSA to generate and verify digital signatures and ECDH for key deduction. CompactECC already offers the most important SEC2 standardized curves „out-of-the-box” with encryption levels of 160, 192, 224, 256, 384 and 521 Bit. However, an ECC key with 224 Bit corresponds to a 2048 Bit RSA encryption. Due to this fact ECC is predestined for mobile devices and other embedded systems with low computing performance and limited memory storage capabilities. On an ARM7TDMI the whole package consisting of basis arithmetic ECC and ECDSA requires aprox. 8 KB ROM and — at 256 Bit key length — also aprox. 8 KB RAM. With shorter keys RAM requirement is reduced whereas ROM is only slightly reduced.
For applications requiring especially high performance we have added an optimized ECDSA signature function to the p192r1 curve in our CompactECC library. Signatures along this curve are mandatory for smart meters used in private households (EDL21/EDL40) and industrially (SyM²). The CompactECC+ library generally works with many processors, e.g.32-bit ARM and 8-bit AVR. Optimized assembler code for ARM cores with thumb und thumb 2 command set, e.g. ARM7TDMI and ARM Cortex-M3. Specifically optimized for Atmel’s AT91SAM7S, AT91SAM7X and ATSAM3 controllers.
Note: Also suitable for iOS, Android and other mobile platforms.