From 916e693ffd3e2974f36cbcdbe9bfb4700ce96be4 Mon Sep 17 00:00:00 2001 From: Paul Dicker Date: Thu, 22 Mar 2018 12:50:18 +0100 Subject: [PATCH 1/2] Implement CryptoRng for EntropyRng and StdRng --- src/entropy_rng.rs | 4 +++- src/lib.rs | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/entropy_rng.rs b/src/entropy_rng.rs index b6e19d4e4ff..67a033a9c8a 100644 --- a/src/entropy_rng.rs +++ b/src/entropy_rng.rs @@ -10,7 +10,7 @@ //! Entropy generator, or wrapper around external generators -use rand_core::{RngCore, Error, impls}; +use rand_core::{RngCore, CryptoRng, Error, impls}; use {OsRng, JitterRng}; /// An RNG provided specifically for seeding PRNGs. @@ -140,6 +140,8 @@ impl RngCore for EntropyRng { } } +impl CryptoRng for EntropyRng {} + #[cfg(test)] mod test { use super::*; diff --git a/src/lib.rs b/src/lib.rs index 651a44d2082..e07b5f79b0e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -865,6 +865,8 @@ impl SeedableRng for StdRng { } } +impl CryptoRng for StdRng {} + /// An RNG recommended when small state, cheap initialization and good /// performance are required. The PRNG algorithm in `SmallRng` is chosen to be /// efficient on the current platform, **without consideration for cryptography From 0497d3028a9cf909680ab33ddedf76b8bb678a48 Mon Sep 17 00:00:00 2001 From: Paul Dicker Date: Thu, 22 Mar 2018 13:30:21 +0100 Subject: [PATCH 2/2] Re-export BlockRngCore --- src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index e07b5f79b0e..c4e0ed22099 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -270,7 +270,7 @@ extern crate rand_core; use core::{marker, mem, slice}; // re-exports from rand-core -pub use rand_core::{RngCore, CryptoRng, SeedableRng}; +pub use rand_core::{RngCore, BlockRngCore, CryptoRng, SeedableRng}; pub use rand_core::{ErrorKind, Error}; // external rngs