Skip to content

Latest commit

 

History

History
53 lines (42 loc) · 1.27 KB

README.org

File metadata and controls

53 lines (42 loc) · 1.27 KB

An implementation of elliptic curve cryptography on an FPGA

Goal

This project aims to implement elliptic curve cryptograhy on an fpga. This means writing code to add and multiply arbitrary long numbers. Then the finite field arithmetic has to be implemented. We also need Euclid’s algorithm, this will be accomplished by using The Binary Euclid developed by Stein in 1968. Afterwards we can do the crypto stuff.

The algorithms themselves are very basic, since this is just a beginner’s course.

  • [X] Addition
  • [X] Multiplication
  • [ ] Modulo
  • [ ] Finite field arithmetic
  • [ ] Binary Euclid
  • [ ] Crypto

Project stucture

.
├── build.sh
├── build.tcl
├── README.org
├── src/
├── start.sh
├── test/
├── waveconfig/
└── work/

This is the structure of the project, stolen from the vhdl-riscv project. To create the project run the following:

git clone [email protected]:elliptic-fpga/fpga-curves.git
cd fpga-curves
./build.sh
./start.sh

New files

If new files are added to the project it needs to be rebuild. Delete the old one and rerun te build script.

cd fpga-curves
rm -rf work/
./build.sh