Remove rng_seed's additional entropy

It was never used as we derive entropy via the other fields in the 
transcript, and explicitly add fields directly as needed for entropy.

Also drops an unused crate and corrects a bug in FROST's Schnorr 
implementation which used the Group's generator, instead of the Curve's.

Also updates the Monero crate's description.
This commit is contained in:
Luke Parker
2022-05-31 02:12:14 -04:00
parent e504266c80
commit 7b4c5dbe52
8 changed files with 11 additions and 21 deletions

View File

@@ -11,7 +11,7 @@ pub trait Transcript {
fn domain_separate(&mut self, label: &[u8]);
fn append_message(&mut self, label: &'static [u8], message: &[u8]);
fn challenge(&mut self, label: &'static [u8]) -> Vec<u8>;
fn rng_seed(&mut self, label: &'static [u8], additional_entropy: Option<[u8; 32]>) -> [u8; 32];
fn rng_seed(&mut self, label: &'static [u8]) -> [u8; 32];
}
#[derive(Clone, Debug)]
@@ -49,11 +49,7 @@ impl<D: Digest> Transcript for DigestTranscript<D> {
D::new().chain_update(&self.0).finalize().to_vec()
}
fn rng_seed(&mut self, label: &'static [u8], additional_entropy: Option<[u8; 32]>) -> [u8; 32] {
if additional_entropy.is_some() {
self.append_message(b"additional_entropy", &additional_entropy.unwrap());
}
fn rng_seed(&mut self, label: &'static [u8]) -> [u8; 32] {
let mut seed = [0; 32];
seed.copy_from_slice(&self.challenge(label)[0 .. 32]);
seed

View File

@@ -30,11 +30,7 @@ impl Transcript for MerlinTranscript {
challenge
}
fn rng_seed(&mut self, label: &'static [u8], additional_entropy: Option<[u8; 32]>) -> [u8; 32] {
if additional_entropy.is_some() {
transcript.append_message(b"additional_entropy", &additional_entropy.unwrap());
}
fn rng_seed(&mut self, label: &'static [u8]) -> [u8; 32] {
let mut seed = [0; 32];
transcript.challenge_bytes(label, &mut seed);
seed