[−][src]Struct ciph::salsa::Connector
Take a Psk
and Randomness
and apply over an S: AsyncRead + AsyncWrite
type
prodcuing a SalsaStream
.
Connecting is done by producing a new write key for the server end of the connection
and transmitting it along with the check value in the Psk
. Initial encryption is done
by the WrapKey
in the Psk
. On return the server should transmit it's generated
write key. The sent write key becomes the SalsaStream
read key and the received
write key is the SalsaStream
write key.
The current unix timestamp is used for nonce on the initial Salsa20 cipher. Server and client must have their time synchronized.
Implementations
impl Connector
[src]
pub fn new(psk: Psk, randomness: Randomness) -> Self
[src]
pub async fn connect<S>(&self, stream: S) -> Result<SalsaStream<S>> where
S: AsyncRead + AsyncWrite + Unpin,
[src]
S: AsyncRead + AsyncWrite + Unpin,
Apply Salsa20 encryption over the inputted stream
.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Connector
[src]
impl Send for Connector
[src]
impl Sync for Connector
[src]
impl Unpin for Connector
[src]
impl UnwindSafe for Connector
[src]
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,
pub 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
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
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.
pub 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.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,