Resolve #268 by adding a Zeroize to DigestTranscript which writes a full block

This is a 'better-than-nothing' attempt to invalidate its state.

Also replaces black_box features with usage of the rustversion crate.
This commit is contained in:
Luke Parker
2023-03-28 04:43:10 -04:00
parent 79aff5d4c8
commit 47be373eb0
12 changed files with 108 additions and 56 deletions

View File

@@ -12,6 +12,8 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
rustversion = "1"
thiserror = { version = "1", optional = true }
rand_core = "0.6"
@@ -41,7 +43,6 @@ std = []
serialize = ["std"]
# Needed for cross-group DLEqs
black_box = []
secure_capacity_difference = []
experimental = ["std", "thiserror", "multiexp"]

View File

@@ -30,14 +30,11 @@ pub(crate) mod aos;
mod bits;
use bits::{BitSignature, Bits};
// Feature gated due to MSRV requirements
#[cfg(feature = "black_box")]
pub(crate) fn black_box<T>(val: T) -> T {
core::hint::black_box(val)
}
#[cfg(not(feature = "black_box"))]
pub(crate) fn black_box<T>(val: T) -> T {
// Use black_box when possible
#[rustversion::since(1.66)]
use core::hint::black_box;
#[rustversion::before(1.66)]
fn black_box<T>(val: T) -> T {
val
}