afDursun / Saber-PAKE-C

SABER is the 3rd round lattice-based candidate algorithm in the standardization process initiated for NIST public-key cryptosystems. This repository is the PAKE version of Saber.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Saber-PAKE-C

SABER is the 3rd round lattice-based candidate algorithm in the standardization process initiated for NIST (National Institute of Standards and Technology) public-key cryptosystems. This repository is the PAKE (password authentication key exchange) version of Saber.

Saber-PAKE's Performance Data


cycles/ticks data of Saber-PAKE parameter sets:
Algorithm LightSaber Saber FireSaber
Process Median Average Median Average Median Average
c0 83 991 105 451 146 118 162 673 232 836 232 836
s0 94 458 100 739 162 489 170 159 255 237 278 094
c1 138 936 145 535 243 192 250 179 348 654 371 197
s1 41 802 44 412 59 391 63 862 80 820 86 409

The average time data (µs) of Saber-PAKE parameter sets:
Process LightSaber Saber FireSaber
c0 44.039 67.939 102.735
s0 42.077 71.068 116.139
c1 60.785 104.488 155.021
s1 18.555 26.690 36.093

How to run Saber-PAKE

Saber provides 3 different security categories. (LightSaber 128-bit; Saber 192-bit; FireSaber 256-bit). These security levels are provided by the SABER_L variable in the "SABER_params.h" file.

#define SABER_L 2 /* LightSaber */
#define SABER_L 3 /* Saber */
#define SABER_L 4 /* FireSaber */

Test

make saber_pake_test

Speed-Test

make saber_pake_speed

Acknowledgment

  • This research was partially supported by TUBITAK under Grant No. 121R006

About

SABER is the 3rd round lattice-based candidate algorithm in the standardization process initiated for NIST public-key cryptosystems. This repository is the PAKE version of Saber.


Languages

Language:C 98.6%Language:Makefile 1.4%