pub struct Signature(pub [u8; 64]);Expand description
The raw bytes of a signature.
Tuple Fields§
§0: [u8; 64]Trait Implementations§
Source§impl AsRef<Signature> for VerifySignature
impl AsRef<Signature> for VerifySignature
Source§impl Debug for Signature
Available on non-crate feature full only.The only meaningful debug information for a cryptograhpic secret is the literal bytes.
Also, encodings like base64 are not constant time so debugging could open some weird
side channel issue trying to be ‘human friendly’.
It seems better to never try to encode secrets.
impl Debug for Signature
full only.The only meaningful debug information for a cryptograhpic secret is the literal bytes. Also, encodings like base64 are not constant time so debugging could open some weird side channel issue trying to be ‘human friendly’. It seems better to never try to encode secrets.
Note that when using this crate with feature “subtle-encoding”, a hex representation will be used.
Source§impl<'de> Deserialize<'de> for Signature
impl<'de> Deserialize<'de> for Signature
Source§fn deserialize<D>(
deserializer: D,
) -> Result<Signature, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<Signature, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl From<[u8; 64]> for Signature
Trivial new type derivation.
Secrets should have private interiors and be constructed directly from fixed length
arrays of known length.
impl From<[u8; 64]> for Signature
Trivial new type derivation. Secrets should have private interiors and be constructed directly from fixed length arrays of known length.
Source§impl Ord for Signature
impl Ord for Signature
Source§impl PartialEq for Signature
Constant time equality check.
This mitigates timing attacks where a remote agent can reverse engineer data by
measuring tiny changes in latency associated with optimised equality checks.
More matching bytes = more latency = vulnerability.
This type of attack has been successfully demonstrated over a network despite varied latencies.
impl PartialEq for Signature
Constant time equality check. This mitigates timing attacks where a remote agent can reverse engineer data by measuring tiny changes in latency associated with optimised equality checks. More matching bytes = more latency = vulnerability. This type of attack has been successfully demonstrated over a network despite varied latencies.
Source§impl PartialOrd for Signature
impl PartialOrd for Signature
Source§impl Serialize for Signature
impl Serialize for Signature
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl Eq for Signature
Auto Trait Implementations§
impl Freeze for Signature
impl RefUnwindSafe for Signature
impl Send for Signature
impl Sync for Signature
impl Unpin for Signature
impl UnsafeUnpin for Signature
impl UnwindSafe for Signature
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.