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

Latest commit

 

History

History
48 lines (31 loc) · 1.72 KB

README.md

File metadata and controls

48 lines (31 loc) · 1.72 KB

Saber-rust

Build Status

An implementation of the Saber post-quantum key-encapsulation mechanism in Rust.

Saber is a post-quantum cryptographic key-encapsulation mechanism. It has been devised by:

  • Jan-Pieter D'Anvers, KU Leuven, imec-COSIC
  • Angshuman Karmakar, KU Leuven, imec-COSIC
  • Sujoy Sinha Roy, KU Leuven, imec-COSIC
  • Frederik Vercauteren, KU Leuven, imec-COSIC

Like many others, it is one of the round-2 candidates of the NIST Post-Quantum Cryptography "competition".

Documentation

You can find the documentation for this crate at https://dsprenkels.github.io/saber-rust/saber.

Getting started

Install this crate using Cargo by adding it to your dependencies:

[dependencies]
saber = { git = "https://github.com/dsprenkels/saber-rust" }

Security and side-channel resistance

This crate contains academic code. That is, while I expect it to implement the Saber scheme correctly, it has not ben independently audited in any way. This is exactly the reason why this crate should not be pubished to crates.io.

Moreover, although this crate uses the secret-integers crate to ensure that the implementation is constant time on the type-level, LLVM (and as such the Rust compiler) is known to introduce branches and other nasty side-channel bits.

Questions

Feel free to send me an email on my Github associated e-mail address.