Most algorithm crates will require access to an RNG. #43 means that this can be any RNG instance provided by the user.
But we still want the default implementations to just silently use the library's internal RNG, which means the algorithm crates will have a cargo dependency on the bouncycastle-rng crate.
We should figure out if it's possible to create a cargo feature #[cfg(feature='rng')] (which is on by default (default = ["rng"]) that we use to gate any function that will use the default RNG, and thus each crate can be compiled without requiring building bouncycastle-rng.
Most algorithm crates will require access to an RNG. #43 means that this can be any RNG instance provided by the user.
But we still want the default implementations to just silently use the library's internal RNG, which means the algorithm crates will have a cargo dependency on the
bouncycastle-rngcrate.We should figure out if it's possible to create a cargo feature
#[cfg(feature='rng')](which is on by default (default = ["rng"]) that we use to gate any function that will use the default RNG, and thus each crate can be compiled without requiring buildingbouncycastle-rng.