Jason Goertzen 71b570c59c
Adding arm64_v8 optimized versions of saber. (#1131)
* Added aarch64 optimized version of saber, lightsaber, and firesaber from pqclean

* Updated to latest commit of pqclean which fixes saber aarch64.

* Updated saber docs as per @dstebila's comment

* Removed duplicate lines from README.md

* Fixed local issue for duplicate lines in README.md. This is the output of the update docs script after fixing my local issue
2021-11-27 15:24:05 -05:00

6.2 KiB

SABER

Parameter set summary

Parameter set Security model Claimed NIST Level Public key size (bytes) Secret key size (bytes) Ciphertext size (bytes) Shared secret size (bytes)
LightSaber-KEM IND-CCA2 1 672 1568 736 32
Saber-KEM IND-CCA2 3 992 2304 1088 32
FireSaber-KEM IND-CCA2 5 1312 3040 1472 32

LightSaber-KEM implementation characteristics

Implementation source Identifier in upstream Supported architecture(s) Supported operating system(s) CPU extension(s) used No branching-on-secrets claimed? No branching-on-secrets checked by valgrind? Large stack usage?‡
Primary Source clean All All None True True False
Primary Source avx2 x86_64 Linux,Darwin AVX2 False True False
Primary Source aarch64 ARM64_V8 Linux,Darwin None False False False

Are implementations chosen based on runtime CPU feature detection? Yes.

‡For an explanation of what this denotes, consult the Explanation of Terms section at the end of this file.

Saber-KEM implementation characteristics

Implementation source Identifier in upstream Supported architecture(s) Supported operating system(s) CPU extension(s) used No branching-on-secrets claimed? No branching-on-secrets checked by valgrind? Large stack usage?
Primary Source clean All All None True True False
Primary Source avx2 x86_64 Linux,Darwin AVX2 False True False
Primary Source aarch64 ARM64_V8 Linux,Darwin None False False False

Are implementations chosen based on runtime CPU feature detection? Yes.

FireSaber-KEM implementation characteristics

Implementation source Identifier in upstream Supported architecture(s) Supported operating system(s) CPU extension(s) used No branching-on-secrets claimed? No branching-on-secrets checked by valgrind? Large stack usage?
Primary Source clean All All None True True False
Primary Source avx2 x86_64 Linux,Darwin AVX2 False True False
Primary Source aarch64 ARM64_V8 Linux,Darwin None False False False

Are implementations chosen based on runtime CPU feature detection? Yes.

Explanation of Terms

  • Large Stack Usage: Implementations identified as having such may cause failures when running in threads or in constrained environments.