Skip to content

A latency/throughput-optimized SIKE library using AVX-512.

License

Notifications You must be signed in to change notification settings

ulhaocheng/avxsike

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AVXSIKE

AVXSIKE is a software library of AVX-512 implementations (using AVX-512IFMA extension) of Supersingular Isogeny Key Encapsulation (SIKE).

It contains the low-latency implementation AVXSIKE-LL and the high-throughput implementation AVXSIKE-HT.

The Structure of AVXSIKE Software Library

 AVXSIKE
      ├── HT (High-Throughput) 
      |      ├── SIKEp434 
      |      ├── SIKEp503     
      |      ├── SIKEp610     
      |      └── SIKEp751         
      |
      └── LL (Low-Latency) 
             ├── SIKEp434 
             ├── SIKEp503     
             ├── SIKEp610     
             └── SIKEp751  

Usage

Compile the AVXSIKE implementation (need Intel Cannon Lake, Ice Lake or Tiger Lake machine!)

    $ cd AVXSIKE/AVXSIKE-[HT/LL]/SIKEp[434/503/610/751] 
    $ make 
    $ ./sike

KAT test to verify the correctness of AVXSIKE-LL

    $ cd AVXSIKE/AVXSIKE-LL/SIKEp[434/503/610/751] 
    $ make kat
    $ ./kat

Paper

A paper describing the various implementations in library has been published in IACR Transactions on Cryptographic Hardware and Embedded Systems, 2022(2), 41-68.

The paper online link is here.

Software Author

Hao Cheng (University of Luxembourg).

Copyright

Copyright (C) 2021-2022 by University of Luxembourg.

LICENSE

GPLv3 (see details in LICENSE file).

About

A latency/throughput-optimized SIKE library using AVX-512.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published