Elliptic Curve (ECC) Point Multiply Accelerator Core
|
 |
General Description |
|
|
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 crypto 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-PM 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. |
 |
The design is fully synchronous and available in multiple configurations varying in bus widths, set of elliptic curves supported and throughput. |
|
 |
Symbol |
|
|
|
|
 |
Key Features |
|
|
Small size: ECC1-PM starts from less than 10K ASIC gates (intermediate result storage memory required; size depends on the core configuration) |
 |
Implements the computationally demanding parts of ECC public key cryptography for long life battery powered applications |
 |
Support for ECC binary fields 2163, 2233, 2283, 2409, and 2571 |
 |
Microprocessor-friendly interface |
 |
Test bench provided |
|
 |
Applications |
|
|
|
|
|
 |
Pin Description |
|
CLK |
Input |
Core clock signal |
CEN |
Input |
Synchronous enable signal. When LOW the core ignores all its inputs and all its outputs must be ignored. |
RESET |
Input |
HIGH level asynchronously resets the core |
READ |
Input |
Read request for the input data byte |
WRITE |
Input |
Write signal for the interface |
DONE |
Output |
HIGH level indicates a completion of computation |
D[ ] |
Input |
Input Data |
A[ ] |
Input |
Address |
Q[ ] |
Output |
Output Data |
|
|
|
 |
Function Description |
|
The core implements the Point Multiplication operation of the ECC cryptography Q = kP. The operands for the multiplication: k, Px, Py are programmed through the microprocessor interface. The curve parameters a/b are selected through the microprocessor interface and the calculation is started. Once the operation is complete, the result Qx, Qy can be read through the interface.
|
|
|
|
 |
Export Permits |
|
The core is subject to the US export regulations. See the IP Cores, Inc. licensing basics page,
for links to US government sites and more details. |
|
 |
Deliverables |
|
HDL Source Licenses
|
|
Synthesizable Verilog RTL source code |
 |
Software modules for a complete ECC implementation (optional) |
 |
Verilog testbench (self-checking) |
 |
Software modules test harness |
 |
Vectors for testbench and harness |
 |
Expected results |
 |
User Documentation
|
|
|
Netlist Licenses
|
|
Post-synthesis EDIF |
 |
Testbench (self-checking) |
 |
vectors for testbenches |
 |
Expected results |
|
|
|
|
 |
Contact Information |
|
|
|
|