Microcoded Elliptic Curve Processor over Binary Extension Fields
Description:
This prototype consists of a FPGA based processor to compute cryptographic algorithms based on Elliptic Curves over GF(2m) fields. This processor consists of an instruction memory and 4 processing units that can operate in parallel . Both instruction and data memories (in each processing unit) are fully accessible by the user to be programmed with personalized algorithms.
Prerequisites:
This processor was developed to be implemented on a Xilinx Virtex 4 FPGA (part XC4VSX35). The Annapolis Wildcard 4 prototyping board was used to support the system. We provide the bitstream file to be uploaded to the device and a binary (host program) to communicate with the device while functioning. Hence, the user has to possess this prototyping board with the device drivers installed.
Download:
- Bitstream file: prototyping board FPGA programming file.
- Host program: example host application using the Wildcard4 board API (written in C language).
Example:
This example should be a starting point to learn how this device operates. There are 3 files involved in the processor operation example:
- PERS.code : contains the code of a personalized word level instruction.
- MAIN.code : contains the main code of the processor
- PROG.code: contains the processor memory content. An assembler binary (MS Windows 32-bit) is provided to obtain this file from the previous ones (input parameters are the names of files)