diff options
Diffstat (limited to 'rand/rand_hc')
-rw-r--r-- | rand/rand_hc/CHANGELOG.md | 8 | ||||
-rw-r--r-- | rand/rand_hc/Cargo.toml | 9 | ||||
-rw-r--r-- | rand/rand_hc/README.md | 4 | ||||
-rw-r--r-- | rand/rand_hc/src/hc128.rs | 12 | ||||
-rw-r--r-- | rand/rand_hc/src/lib.rs | 2 |
5 files changed, 22 insertions, 13 deletions
diff --git a/rand/rand_hc/CHANGELOG.md b/rand/rand_hc/CHANGELOG.md index d0c4a2f..a629d7d 100644 --- a/rand/rand_hc/CHANGELOG.md +++ b/rand/rand_hc/CHANGELOG.md @@ -4,5 +4,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.0] - 2019-06-12 +- Bump minor crate version since rand_core bump is a breaking change +- Switch to Edition 2018 + +## [0.1.1] - 2019-06-06 - yanked +- Bump `rand_core` version +- Adjust usage of `#[inline]` + ## [0.1.0] - 2018-10-17 - Pulled out of the Rand crate diff --git a/rand/rand_hc/Cargo.toml b/rand/rand_hc/Cargo.toml index ed5dd5b..40cea06 100644 --- a/rand/rand_hc/Cargo.toml +++ b/rand/rand_hc/Cargo.toml @@ -1,21 +1,22 @@ [package] name = "rand_hc" -version = "0.1.0" +version = "0.2.0" authors = ["The Rand Project Developers"] -license = "MIT/Apache-2.0" +license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/rust-random/rand" -documentation = "https://rust-random.github.io/rand/rand_hc" +documentation = "https://rust-random.github.io/rand/rand_hc/" homepage = "https://crates.io/crates/rand_hc" description = """ HC128 random number generator """ keywords = ["random", "rng", "hc128"] categories = ["algorithms", "no-std"] +edition = "2018" [badges] travis-ci = { repository = "rust-random/rand" } appveyor = { repository = "rust-random/rand" } [dependencies] -rand_core = { path = "../rand_core", version = ">=0.2, <0.4", default-features=false } +rand_core = { path = "../rand_core", version = "0.5" } diff --git a/rand/rand_hc/README.md b/rand/rand_hc/README.md index 178548a..36449c0 100644 --- a/rand/rand_hc/README.md +++ b/rand/rand_hc/README.md @@ -6,7 +6,7 @@ [[![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/) [![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_hc) [![API](https://docs.rs/rand_hc/badge.svg)](https://docs.rs/rand_hc) -[![Minimum rustc version](https://img.shields.io/badge/rustc-1.22+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements) +[![Minimum rustc version](https://img.shields.io/badge/rustc-1.32+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements) A cryptographically secure random number generator that uses the HC-128 algorithm. @@ -19,7 +19,7 @@ Links: - [API documentation (master)](https://rust-random.github.io/rand/rand_hc) - [API documentation (docs.rs)](https://docs.rs/rand_hc) -- [Changelog](CHANGELOG.md) +- [Changelog](https://github.com/rust-random/rand/blob/master/rand_hc/CHANGELOG.md) [rand]: https://crates.io/crates/rand [^1]: Hongjun Wu (2008). ["The Stream Cipher HC-128"]( diff --git a/rand/rand_hc/src/hc128.rs b/rand/rand_hc/src/hc128.rs index d1dadcc..a320f48 100644 --- a/rand/rand_hc/src/hc128.rs +++ b/rand/rand_hc/src/hc128.rs @@ -63,27 +63,26 @@ const SEED_WORDS: usize = 8; // 128 bit key followed by 128 bit iv /// /// [^5]: Internet Engineering Task Force (February 2015), /// ["Prohibiting RC4 Cipher Suites"](https://tools.ietf.org/html/rfc7465). -/// -/// [`BlockRng`]: ../rand_core/block/struct.BlockRng.html -/// [`RngCore`]: ../rand_core/trait.RngCore.html #[derive(Clone, Debug)] pub struct Hc128Rng(BlockRng<Hc128Core>); impl RngCore for Hc128Rng { - #[inline(always)] + #[inline] fn next_u32(&mut self) -> u32 { self.0.next_u32() } - #[inline(always)] + #[inline] fn next_u64(&mut self) -> u64 { self.0.next_u64() } + #[inline] fn fill_bytes(&mut self, dest: &mut [u8]) { self.0.fill_bytes(dest) } + #[inline] fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error> { self.0.try_fill_bytes(dest) } @@ -92,10 +91,12 @@ impl RngCore for Hc128Rng { impl SeedableRng for Hc128Rng { type Seed = <Hc128Core as SeedableRng>::Seed; + #[inline] fn from_seed(seed: Self::Seed) -> Self { Hc128Rng(BlockRng::<Hc128Core>::from_seed(seed)) } + #[inline] fn from_rng<R: RngCore>(rng: R) -> Result<Self, Error> { BlockRng::<Hc128Core>::from_rng(rng).map(Hc128Rng) } @@ -271,6 +272,7 @@ impl Hc128Core { // Initialize an HC-128 random number generator. The seed has to be // 256 bits in length (`[u32; 8]`), matching the 128 bit `key` followed by // 128 bit `iv` when HC-128 where to be used as a stream cipher. + #[inline(always)] // single use: SeedableRng::from_seed fn init(seed: [u32; SEED_WORDS]) -> Self { #[inline] fn f1(x: u32) -> u32 { diff --git a/rand/rand_hc/src/lib.rs b/rand/rand_hc/src/lib.rs index 10466cf..c1ae665 100644 --- a/rand/rand_hc/src/lib.rs +++ b/rand/rand_hc/src/lib.rs @@ -18,8 +18,6 @@ #![no_std] -pub extern crate rand_core; - mod hc128; pub use hc128::{Hc128Rng, Hc128Core}; |