pqc_kyber 0.7.0

A rust implementation of the post-quantum Kyber KEM algorithm
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use rand_core::*;
use crate::KyberError;

// Fills buffer x with len bytes, RNG must satisfy the 
// RngCore trait and CryptoRng marker trait requirements
pub fn randombytes<R>(x: &mut [u8], len: usize, rng: &mut R) -> Result<(), KyberError>
  where R: RngCore + CryptoRng,
{
  match rng.try_fill_bytes(&mut x[..len]) {
    Ok(_) => Ok(()),
    Err(_) => Err(KyberError::RandomBytesGeneration)
  }
}