[−][src]Struct schnorrkel::context::SigningTranscriptWithRng
Schnorr signing transcript with the default ThreadRng replaced
by an arbitrary CryptoRng.
If ThreadRng breaks on your platform, or merely if your paranoid,
then you might "upgrade" from ThreadRng to OsRng by using calls
like keypair.sign( attach_rng(t,OSRng::new()) ).
We recommend instead simply fixing ThreadRng for your platform
however.
There are also derandomization tricks like
attach_rng(t,ChaChaRng::from_seed([0u8; 32]))
for deterministic signing in tests too. Although derandomization
produces secure signatures, we recommend against doing this in
production because we implement protocols like multi-signatures
which likely become vulnerabile when derandomized.
Trait Implementations
impl<T, R> SigningTranscript for SigningTranscriptWithRng<T, R> where
T: SigningTranscript,
R: RngCore + CryptoRng, [src]
T: SigningTranscript,
R: RngCore + CryptoRng,
fn commit_bytes(&mut self, label: &'static [u8], bytes: &[u8])[src]
fn challenge_bytes(&mut self, label: &'static [u8], dest: &mut [u8])[src]
fn witness_bytes(
&self,
label: &'static [u8],
dest: &mut [u8],
nonce_seeds: &[&[u8]]
)[src]
&self,
label: &'static [u8],
dest: &mut [u8],
nonce_seeds: &[&[u8]]
)
fn witness_bytes_rng<RR>(
&self,
label: &'static [u8],
dest: &mut [u8],
nonce_seeds: &[&[u8]],
rng: RR
) where
RR: RngCore + CryptoRng, [src]
&self,
label: &'static [u8],
dest: &mut [u8],
nonce_seeds: &[&[u8]],
rng: RR
) where
RR: RngCore + CryptoRng,
fn proto_name(&mut self, label: &'static [u8])[src]
fn commit_point(
&mut self,
label: &'static [u8],
compressed: &CompressedRistretto
)[src]
&mut self,
label: &'static [u8],
compressed: &CompressedRistretto
)
fn challenge_scalar(&mut self, label: &'static [u8]) -> Scalar[src]
fn witness_scalar(&self, label: &'static [u8], nonce_seeds: &[&[u8]]) -> Scalar[src]
Auto Trait Implementations
impl<T, R> !RefUnwindSafe for SigningTranscriptWithRng<T, R>
impl<T, R> Send for SigningTranscriptWithRng<T, R> where
R: Send,
T: Send,
R: Send,
T: Send,
impl<T, R> !Sync for SigningTranscriptWithRng<T, R>
impl<T, R> Unpin for SigningTranscriptWithRng<T, R> where
R: Unpin,
T: Unpin,
R: Unpin,
T: Unpin,
impl<T, R> UnwindSafe for SigningTranscriptWithRng<T, R> where
R: UnwindSafe,
T: UnwindSafe,
R: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> Same<T> for T[src]
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> VRFSigningTranscript for T where
T: SigningTranscript, [src]
T: SigningTranscript,
type T = T
Real underlying SigningTranscript