Microcoded Elliptic Curve Processor over Binary Extension Fields



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.



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.



  • Bitstream file: prototyping board FPGA programming file.
  • Host program: example host application using the Wildcard4 board API (written in C language).



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)


IBM Research  IST link  INESC-ID link  Sips link