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

Implementation of the Saber post-quantum key-encapsulation mechanism

License

Notifications You must be signed in to change notification settings

dsprenkels/saber-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Implementation of the Saber post-quantum key-encapsulation mechanism

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages