Elliptic Curve Cryptography (ECC) is a public-key cryptographic technology that uses the mathematics of so called “elliptic curves” and it is a part of the “Suite B” of cryptographic algorithms approved by the NSA.
Since ECC requires fewer bits than RSA to achieve the same cipher strength, it is frequently used in embedded applications. The operations necessary for the ECC cannot be efficiently implemented on an embedded CPU, however, typically requiring hundreds of milliseconds of the CPU time for signature verification.
ECC1 implements by far the most time-consuming operation of the ECC cryptography: so called “point multiplication” to enable low-power operation of the battery-powered devices. It also supports the “point verification” operation to simplify the system integration.
The design is fully synchronous and available in multiple configurations varying in bus widths, set of elliptic curves supported and throughput.
- ECC1 implementation is unencumbered by any patents
- Small size: ECC1 requires less than 10K ASIC gates
- High throughput for long life battery powered applications: 5,000 point multiplications per second in the 65 nm ASIC process
- Support for the NIST ECC binary fields 2163, 2233, 2283, 2409, and 2571
- Microprocessor-friendly interface
- Test bench provided
- Smallest core on the market, patent-free implementation
- Synthesizable Verilog RTL source code
- Software modules for a complete ECC implementation (optional)
- Verilog testbench (self-checking)
- Vectors for the testbench
- Expected results
- User Documentation