Skip to content

This is the implementation for an elliptic curve point multiplier for the 192-bit NIPS curve. The work has been done as part of the module “Hardware- Softwareschnittstellen”.

Notifications You must be signed in to change notification settings

jnboehm/ecc-hw-point-multiplier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

This is the implementation for an elliptic curve point multiplier for the 192-bit NIPS curve. The work has been done as part of the module “Hardware- Softwareschnittstellen”.

Resources

Stars

Watchers

Forks

Packages

No packages published