14 releases
Uses new Rust 2024
new 0.2.2 | Apr 11, 2025 |
---|---|
0.1.5 | Jul 23, 2024 |
0.1.1 | Mar 22, 2024 |
0.0.2 | Aug 10, 2023 |
#915 in Cryptography
445 downloads per month
Used in esdm-tool
22KB
434 lines
rand-esdm
About
A small library for interfacing Rust with the ESDM user-space random server.
It currently provides the minimal amount of bindings necessary to use ESDM together with the rand crate.
Usage Example
Add rand-esdm to your Cargo.toml
rand-esdm = "0.2.1"
Generate Random Numbers with rand crate
Choose type of rng:
- Only usable when fully seeded:
let mut rng = EsdmRng::new(EsdmRngType::FullySeeded);
- Only usable with fresh entropy:
let mut rng = EsdmRng::new(EsdmRngType::PredictionResistant);
Include Rng utility trait from rand:
use rand::Rng;
Draw random numbers as needed, e.g.:
let rnd: u64 = rng.random();
Complete toy example can be found in examples/readme.rs
:
use rand::{Rng, TryRngCore};
use rand_esdm::{EsdmRng, EsdmRngType};
fn main() {
let mut rng = EsdmRng::new(EsdmRngType::FullySeeded).unwrap_err();
let rnd: u32 = rng.random();
println!("{rnd:X}");
}
Dependencies
~2.3–5MB
~95K SLoC