Coder Social home page Coder Social logo

alter-cash / fld-ecc-vec Goto Github PK

View Code? Open in Web Editor NEW

This project forked from armfazh/fld-ecc-vec

0.0 0.0 0.0 1.19 MB

Vectorized implementation of Ed25519 and Ed448

Home Page: https://armfazh.github.io/publication/faz-lop-dah-toms-2019/

License: BSD 3-Clause "New" or "Revised" License

C++ 7.95% C 91.38% CMake 0.67%

fld-ecc-vec's Introduction

FLD ECC AVX2

This is a mathematical software library for computing the Edwards Digital Signature Algorithm (EdDSA) and the Diffie-Hellman functions X25519 and X448. The library is optimized with the Intel Advanced Vector eXtensions version 2 (AVX2) and is derived from a research project.

@article{fld_ecc_avx2,
    doi       = {10.1145/3309759},
    author    = {Armando Faz-Hern\'{a}ndez and
                 Julio L\'{o}pez and
                 Ricardo Dahab},
    title     = {High-performance Implementation of Elliptic Curve
                 Cryptography Using Vector Instructions},
    year      = {2019},
    journal   = {ACM Transactions on Mathematical Software (TOMS)},
    publisher = {ACM},
    volume    = {45},
    number    = {3},
    keywords  = {Edwards Digital Signature Algorithm, Ed25519,
                 Diffie-Hellman Protocol, AVX2 Vector Instructions,
                 Elliptic Curve Cryptography, Secure Software},
}    

Compilation

To compile use:

    $ cd fld_ecc_avx2
    $ mkdir build; cd build
    $ cmake ..
    $ make all

Benchmarks

For running the benchmark program use:

    $ ./bin/bench

The timings reported in the paper were obtained using the Clang compiler version 5.

    $ cd fld_ecc_avx2
    $ mkdir build; cd build
    $ CC=/path/to/clang cmake ..
    $ make

Tests

For running the tests program use:

    $ ./bin/tests

LICENSE

BSD 3-Clause LICENSE.txt

fld-ecc-vec's People

Contributors

armfazh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.