Skip to content
This repository has been archived by the owner on Sep 7, 2024. It is now read-only.

Latest commit

 

History

History
140 lines (87 loc) · 3.2 KB

README.md

File metadata and controls

140 lines (87 loc) · 3.2 KB

Compiled-Kyber Group Authenticated Group Key Exchange (GAKE)

Build

This repository contains the implementation of "Compiled Constructions towards Post-Quantum Group Key Exchange: A Design from Kyber".

What is Kyber?

Kyber is a key encapsulation mechanism (KEM) and a finalist in round 3 of the NIST PQC standardization project.

Binaries

Download the latest version from Releases.

How to build

bash build.sh

Prerequisites

  • CMake
  • OpenSSL

How to build with Docker

  1. Install Docker

  2. Build image

docker build -t kyber-gake .
  1. Run container
docker run -it kyber-gake bash

Test programs

Code contains two implementations of the GAKE: ref and avx2. Test programs are located in these folders. Each test program contains a _qrom version.

Available test programs

.
|-- avx2
|   |-- test_gake1024_avx2
|   |-- test_gake512_avx2
|   |-- test_gake768_avx2
|   |-- test_gake_qrom1024_avx2
|   |-- test_gake_qrom512_avx2
|   |-- test_gake_qrom768_avx2
|   |-- test_gake_qrom_speed1024_avx2
|   |-- test_gake_qrom_speed512_avx2
|   |-- test_gake_qrom_speed768_avx2
|   |-- test_gake_speed1024_avx2
|   |-- test_gake_speed512_avx2
|   `-- test_gake_speed768_avx2
`-- ref
    |-- test_gake1024_ref
    |-- test_gake512_ref
    |-- test_gake768_ref
    |-- test_gake_qrom1024_ref
    |-- test_gake_qrom512_ref
    |-- test_gake_qrom768_ref
    |-- test_gake_qrom_speed1024_ref
    |-- test_gake_qrom_speed512_ref
    |-- test_gake_qrom_speed768_ref
    |-- test_gake_speed1024_ref
    |-- test_gake_speed512_ref
    `-- test_gake_speed768_ref

Performance results

Latest performance results can be found on Releases under folder results.

KEM

ref

KEM ref

avx2

KEM avx2

Commitment

ref

Commitment ref

avx2

Commitment ref

2-AKE

ref

2-AKE ref

avx2

2-AKE avx2

GAKE performance

Time per number of parties

ref

GAKE parties ref

avx2

GAKE parties avx2

Time per round

ref

GAKE round ref

avx2

GAKE round avx2

References

  • Escribano Pablos, J.I.; González Vasco, M.I.; Marriaga, M.E.; Pérez del Pozo, Á.L. "Compiled Constructions towards Post-Quantum Group Key Exchange: A Design from Kyber," 2020 Mathematics, 8, 1853, doi: 10.3390/math8101853
  • Bos, J. et al., "CRYSTALS - Kyber: A CCA-Secure Module-Lattice-Based KEM," 2018 IEEE European Symposium on Security and Privacy (EuroS&P), 2018, pp. 353-367, doi: 10.1109/EuroSP.2018.00032.