mirror of
https://github.com/saymrwulf/curve25519-dalek-source.git
synced 2026-09-04 20:24:10 +00:00
Switch to using traits from rand_core instead of rand.
This commit is contained in:
parent
811e3abd27
commit
1aec62c6be
3 changed files with 23 additions and 23 deletions
|
|
@ -23,12 +23,13 @@ travis-ci = { repository = "dalek-cryptography/x25519-dalek", branch = "master"}
|
|||
version = "^0.18"
|
||||
default-features = false
|
||||
|
||||
[dependencies.rand]
|
||||
optional = true
|
||||
version = "^0.5"
|
||||
[dependencies.rand_core]
|
||||
default-features = false
|
||||
version = "0.2"
|
||||
|
||||
[dev-dependencies]
|
||||
criterion = "0.2"
|
||||
rand = "0.5"
|
||||
|
||||
[[bench]]
|
||||
name = "x25519"
|
||||
|
|
@ -36,7 +37,7 @@ harness = false
|
|||
|
||||
[features]
|
||||
default = ["std", "nightly", "u64_backend"]
|
||||
std = ["rand", "curve25519-dalek/std"]
|
||||
std = ["curve25519-dalek/std"]
|
||||
nightly = ["curve25519-dalek/nightly"]
|
||||
u64_backend = ["curve25519-dalek/u64_backend"]
|
||||
u32_backend = ["curve25519-dalek/u32_backend"]
|
||||
|
|
|
|||
28
src/lib.rs
28
src/lib.rs
|
|
@ -42,9 +42,9 @@
|
|||
//! # fn main() {
|
||||
//! use x25519_dalek::generate_secret;
|
||||
//! use x25519_dalek::generate_public;
|
||||
//! use rand::OsRng;
|
||||
//! use rand::thread_rng;
|
||||
//!
|
||||
//! let mut alice_csprng = OsRng::new().unwrap();
|
||||
//! let mut alice_csprng = thread_rng();
|
||||
//! let alice_secret = generate_secret(&mut alice_csprng);
|
||||
//! let alice_public = generate_public(&alice_secret);
|
||||
//! # }
|
||||
|
|
@ -59,9 +59,9 @@
|
|||
//! # fn main() {
|
||||
//! # use x25519_dalek::generate_secret;
|
||||
//! # use x25519_dalek::generate_public;
|
||||
//! # use rand::OsRng;
|
||||
//! # use rand::thread_rng;
|
||||
//! #
|
||||
//! let mut bob_csprng = OsRng::new().unwrap();
|
||||
//! let mut bob_csprng = thread_rng();
|
||||
//! let bob_secret = generate_secret(&mut bob_csprng);
|
||||
//! let bob_public = generate_public(&bob_secret);
|
||||
//! # }
|
||||
|
|
@ -78,13 +78,13 @@
|
|||
//! # fn main() {
|
||||
//! # use x25519_dalek::generate_secret;
|
||||
//! # use x25519_dalek::generate_public;
|
||||
//! # use rand::OsRng;
|
||||
//! # use rand::thread_rng;
|
||||
//! #
|
||||
//! # let mut alice_csprng = OsRng::new().unwrap();
|
||||
//! # let mut alice_csprng = thread_rng();
|
||||
//! # let alice_secret = generate_secret(&mut alice_csprng);
|
||||
//! # let alice_public = generate_public(&alice_secret);
|
||||
//! #
|
||||
//! # let mut bob_csprng = OsRng::new().unwrap();
|
||||
//! # let mut bob_csprng = thread_rng();
|
||||
//! # let bob_secret = generate_secret(&mut bob_csprng);
|
||||
//! # let bob_public = generate_public(&bob_secret);
|
||||
//! #
|
||||
|
|
@ -104,13 +104,13 @@
|
|||
//! # use x25519_dalek::diffie_hellman;
|
||||
//! # use x25519_dalek::generate_secret;
|
||||
//! # use x25519_dalek::generate_public;
|
||||
//! # use rand::OsRng;
|
||||
//! # use rand::thread_rng;
|
||||
//! #
|
||||
//! # let mut alice_csprng = OsRng::new().unwrap();
|
||||
//! # let mut alice_csprng = thread_rng();
|
||||
//! # let alice_secret = generate_secret(&mut alice_csprng);
|
||||
//! # let alice_public = generate_public(&alice_secret);
|
||||
//! #
|
||||
//! # let mut bob_csprng = OsRng::new().unwrap();
|
||||
//! # let mut bob_csprng = thread_rng();
|
||||
//! # let bob_secret = generate_secret(&mut bob_csprng);
|
||||
//! # let bob_public = generate_public(&bob_secret);
|
||||
//! #
|
||||
|
|
@ -128,13 +128,11 @@
|
|||
|
||||
extern crate curve25519_dalek;
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
extern crate rand;
|
||||
extern crate rand_core;
|
||||
|
||||
#[cfg(all(test, feature = "bench"))]
|
||||
extern crate test;
|
||||
#[cfg(test)]
|
||||
extern crate rand;
|
||||
|
||||
mod x25519;
|
||||
|
||||
#[allow(missing_docs)]
|
||||
pub use x25519::*;
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ use curve25519_dalek::constants::ED25519_BASEPOINT_TABLE;
|
|||
use curve25519_dalek::montgomery::MontgomeryPoint;
|
||||
use curve25519_dalek::scalar::Scalar;
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
use rand::Rng;
|
||||
use rand_core::RngCore;
|
||||
use rand_core::CryptoRng;
|
||||
|
||||
/// "Decode" a scalar from a 32-byte array.
|
||||
///
|
||||
|
|
@ -38,8 +38,9 @@ fn decode_scalar(scalar: &[u8; 32]) -> Scalar {
|
|||
}
|
||||
|
||||
/// Generate an x25519 secret key.
|
||||
#[cfg(feature = "std")]
|
||||
pub fn generate_secret<T: Rng>(csprng: &mut T) -> [u8; 32] {
|
||||
pub fn generate_secret<T>(csprng: &mut T) -> [u8; 32]
|
||||
where T: RngCore + CryptoRng
|
||||
{
|
||||
let mut bytes = [0u8; 32];
|
||||
csprng.fill_bytes(&mut bytes);
|
||||
bytes
|
||||
|
|
|
|||
Loading…
Reference in a new issue