Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bench
doc
examples
include
src
tests
third_party
CMakeLists.txt
COPYING.txt
COPYING_lesser.txt
LICENSE.txt
README.txt

README.txt

faz_ecc_avx2 - Project Documentation
====================================

faz_ecc_avx2 is an optimized mathematical software library for computing
Edwards Digital Signature Algorithm (EdDSA) and the Diffie-Hellman 
functions X25519 and X448. This library was specially accelerated with
the Intel Advanced Vector eXtensions version 2 (AVX2). This library 
belongs to the research project titled:
> “High Performance Implementation of Elliptic Curve
       Cryptography using Vector Instructions”

authored by:
• Armando Faz Hernández, University of Campinas, Brazil.
 (armfazh@ic.unicamp.br)
• Julio López, University of Campinas, Brazil.
• Ricardo Dahab, University of Campinas, Brazil.

This research work is part of a paper submission to the ACM Journal of
Mathematical Software. 

Compilation
===========

To compile use:
~~~~
    $ cd faz_ecc_avx2
    $ mkdir build; cd build
    $ cmake ..
    $ make all
~~~~

For running the benchmark program use:
~~~~
    $ ./bin/bench
~~~~

For running the tests program use:
~~~~
    $ ./bin/tests
~~~~

In order to obtain the fastest timings
reported in paper, consider to use the
Clang compiler.
~~~~
    $ cd faz_ecc_avx2
    $ mkdir build; cd build
    $ export CC=/path/to/clang
    $ cmake ..
    $ make
~~~~

Getting started
===============

 - Prime field arithmetic: [faz_fp_avx2.h](src/faz_fp_avx2.h)
 - Elliptic curve Diffie-Hellman: [faz_ecdh_avx2.h](src/faz_ecdh_avx2.h)
 - Edwards Digital Signature Algorithm [faz_eddsa_avx2.h](src/faz_eddsa_avx2.h)

LICENSE
===============
See the license file [LICENSE.txt](LICENSE.txt)


You can’t perform that action at this time.