[−][src]Trait vru_sphinx::Sphinx
Associated Types
type KeyLength: ArrayLength<u8>
type MacLength: ArrayLength<u8>
type AsymmetricKey: Curve
type Stream: KeyStream + SeekableKeyStream
type Collector
Required methods
fn mu(shared: &SharedSecret<Self::AsymmetricKey>) -> Self::Collector
fn chain<T>(collector: Self::Collector, data: T) -> Self::Collector where
T: AsRef<[u8]>,
T: AsRef<[u8]>,
fn output(collector: Self::Collector) -> GenericArray<u8, Self::MacLength>
fn rho(shared: &SharedSecret<Self::AsymmetricKey>) -> Self::Stream
fn pi(shared: &SharedSecret<Self::AsymmetricKey>) -> Self::Stream
fn tau(public_key: Self::AsymmetricKey) -> SharedSecret<Self::AsymmetricKey>
fn blinding(
public_key: &Self::AsymmetricKey,
shared: &SharedSecret<Self::AsymmetricKey>
) -> SharedSecret<Self::AsymmetricKey>
public_key: &Self::AsymmetricKey,
shared: &SharedSecret<Self::AsymmetricKey>
) -> SharedSecret<Self::AsymmetricKey>
Implementations on Foreign Types
impl<A, C, D, S> Sphinx for (A, C, D, S) where
A: Curve,
C: Mac + NewMac,
D: Default + Update + FixedOutput<OutputSize = <<A as Curve>::Scalar as LineValid>::Length>,
S: PseudoRandomStream<C::OutputSize> + SeekableKeyStream,
[src]
A: Curve,
C: Mac + NewMac,
D: Default + Update + FixedOutput<OutputSize = <<A as Curve>::Scalar as LineValid>::Length>,
S: PseudoRandomStream<C::OutputSize> + SeekableKeyStream,
type KeyLength = C::KeySize
type MacLength = C::OutputSize
type AsymmetricKey = A
type Stream = S
type Collector = C
fn mu(shared: &SharedSecret<Self::AsymmetricKey>) -> Self::Collector
[src]
fn chain<T>(collector: Self::Collector, data: T) -> Self::Collector where
T: AsRef<[u8]>,
[src]
T: AsRef<[u8]>,
fn output(collector: Self::Collector) -> GenericArray<u8, Self::MacLength>
[src]
fn rho(shared: &SharedSecret<Self::AsymmetricKey>) -> Self::Stream
[src]
fn pi(shared: &SharedSecret<Self::AsymmetricKey>) -> Self::Stream
[src]
fn tau(public_key: Self::AsymmetricKey) -> SharedSecret<Self::AsymmetricKey>
[src]
fn blinding(
public_key: &Self::AsymmetricKey,
shared: &SharedSecret<Self::AsymmetricKey>
) -> SharedSecret<Self::AsymmetricKey>
[src]
public_key: &Self::AsymmetricKey,
shared: &SharedSecret<Self::AsymmetricKey>
) -> SharedSecret<Self::AsymmetricKey>