3.6.7 Seal IetfTranscript

This commit is contained in:
Luke Parker
2023-03-01 00:42:01 -05:00
parent 5a3406bb5f
commit a42a84e1e8

View File

@@ -87,11 +87,14 @@ pub trait Algorithm<C: Curve>: Clone {
) -> Result<Vec<(C::F, C::G)>, ()>; ) -> Result<Vec<(C::F, C::G)>, ()>;
} }
/// IETF-compliant transcript. This is incredibly naive and should not be used within larger mod sealed {
/// protocols. pub use super::*;
#[derive(Clone, Debug)]
pub struct IetfTranscript(Vec<u8>); /// IETF-compliant transcript. This is incredibly naive and should not be used within larger
impl Transcript for IetfTranscript { /// protocols.
#[derive(Clone, Debug)]
pub struct IetfTranscript(pub(crate) Vec<u8>);
impl Transcript for IetfTranscript {
type Challenge = Vec<u8>; type Challenge = Vec<u8>;
fn new(_: &'static [u8]) -> IetfTranscript { fn new(_: &'static [u8]) -> IetfTranscript {
@@ -112,7 +115,9 @@ impl Transcript for IetfTranscript {
fn rng_seed(&mut self, _: &'static [u8]) -> [u8; 32] { fn rng_seed(&mut self, _: &'static [u8]) -> [u8; 32] {
unimplemented!() unimplemented!()
} }
}
} }
pub(crate) use sealed::IetfTranscript;
/// HRAm usable by the included Schnorr signature algorithm to generate challenges. /// HRAm usable by the included Schnorr signature algorithm to generate challenges.
pub trait Hram<C: Curve>: Clone { pub trait Hram<C: Curve>: Clone {