micro-ecc
==========

A small ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors.

Features
--------

 * Resistant to known side-channel attacks.
 * Written in C, with optional inline assembly for AVR, ARM and Thumb platforms.
 * Support for 3 standard curves: secp160r1, secp192r1, and secp256r1.
 * BSD 2-clause license.

Usage Notes
-----------
#### Using the Code ####

I recommend just copying (or symlink) uECC.h and uECC.c into your project. Then just `#include "uECC.h"` to use the micro-ecc functions.

See uECC.h for documentation for each function.

#### Compilation Notes ####

 * When compiling for a Thumb-1 platform with inline assembly enabled (ie, `uECC_ASM` is defined to `uECC_asm_small` or `uECC_asm_fast`), you must use the `-fomit-frame-pointer` GCC option (this is enabled by default when compiling with `-O1` or higher).
 * When compiling for AVR with `uECC_ASM` defined to `uECC_asm_fast`, you must have optimizations enabled (compile with `-O1` or higher).

micro-ecc
==========

A small ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors.

Features
--------

 * Resistant to known side-channel attacks.
 * Written in C, with optional inline assembly for AVR, ARM and Thumb platforms.
 * Support for 3 standard curves: secp160r1, secp192r1, and secp256r1.
 * BSD 2-clause license.

Usage Notes
-----------
#### Using the Code ####

I recommend just copying (or symlink) uECC.h and uECC.c into your project. Then just `#include "uECC.h"` to use the micro-ecc functions.

See uECC.h for documentation for each function.

#### Compilation Notes ####

 * When compiling for a Thumb-1 platform with inline assembly enabled (ie, `uECC_ASM` is defined to `uECC_asm_small` or `uECC_asm_fast`), you must use the `-fomit-frame-pointer` GCC option (this is enabled by default when compiling with `-O1` or higher).
 * When compiling for AVR with inline assembly enabled, you must have optimizations enabled (compile with `-O1` or higher).

Fix note about compiling for AVR.
Fix note about compiling for AVR.