From cc45f06fcc6f6551a7f87995e3336b0597bd3697 Mon Sep 17 00:00:00 2001 From: Sean Watters Date: Mon, 26 Feb 2024 20:58:34 -0800 Subject: [PATCH] speeds up dh multi encrypt by using chunks_exact --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/crypto/modes/dh.rs | 4 ++-- src/crypto/modes/kem.rs | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7ed4de2..e7546bc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -680,7 +680,7 @@ checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "rgp" -version = "0.3.1" +version = "0.3.2" dependencies = [ "blake2", "chacha20", diff --git a/Cargo.toml b/Cargo.toml index 1ba2866..4a5499b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ license = "MIT" name = "rgp" readme = "README.md" repository = "https://github.com/seanwatters/rgp" -version = "0.3.1" +version = "0.3.2" [dependencies] blake2 = "0.10.6" diff --git a/src/crypto/modes/dh.rs b/src/crypto/modes/dh.rs index 6d136cc..3fe7d5f 100644 --- a/src/crypto/modes/dh.rs +++ b/src/crypto/modes/dh.rs @@ -115,9 +115,9 @@ fn dh_encrypt_keys( let mut keys = vec![0u8; KEY_SIZE * keys_count]; #[cfg(feature = "multi-thread")] - let chunks = keys.par_chunks_mut(KEY_SIZE); + let chunks = keys.par_chunks_exact_mut(KEY_SIZE); #[cfg(not(feature = "multi-thread"))] - let chunks = keys.chunks_mut(KEY_SIZE); + let chunks = keys.chunks_exact_mut(KEY_SIZE); chunks.enumerate().for_each(|(i, chunk)| { let mut key = GenericArray::from(priv_key.diffie_hellman(&pub_keys[i].into()).to_bytes()); diff --git a/src/crypto/modes/kem.rs b/src/crypto/modes/kem.rs index c8eff3c..d2940fc 100644 --- a/src/crypto/modes/kem.rs +++ b/src/crypto/modes/kem.rs @@ -107,7 +107,7 @@ pub fn generate_kem_keys() -> ([u8; KEM_SECRET_KEY_SIZE], [u8; KEM_PUB_KEY_SIZE] (*secret_key.as_array(), *pub_key.as_array()) } -/// for reading a large volume of McEliece public keys +/// for reading a large volume of Classic McEliece public keys pub struct KemKeyReader { pub reader: BufReader,