[−][src]Struct hypercore::PublicKey
An ed25519 public key.
Methods
impl PublicKey
[src]
pub fn to_bytes(&self) -> [u8; 32]
[src]
Convert this public key to a byte array.
pub fn as_bytes(&'a self) -> &'a [u8; 32]
[src]
View this public key as a byte array.
pub fn from_bytes(bytes: &[u8]) -> Result<PublicKey, SignatureError>
[src]
Construct a PublicKey
from a slice of bytes.
Warning
The caller is responsible for ensuring that the bytes passed into this
method actually represent a curve25519_dalek::curve::CompressedEdwardsY
and that said compressed point is actually a point on the curve.
Example
use ed25519_dalek::PublicKey; use ed25519_dalek::PUBLIC_KEY_LENGTH; use ed25519_dalek::SignatureError; let public_key_bytes: [u8; PUBLIC_KEY_LENGTH] = [ 215, 90, 152, 1, 130, 177, 10, 183, 213, 75, 254, 211, 201, 100, 7, 58, 14, 225, 114, 243, 218, 166, 35, 37, 175, 2, 26, 104, 247, 7, 81, 26]; let public_key = PublicKey::from_bytes(&public_key_bytes)?;
Returns
A Result
whose okay value is an EdDSA PublicKey
or whose error value
is an SignatureError
describing the error that occurred.
pub fn from_secret<D>(secret_key: &SecretKey) -> PublicKey where
D: Digest<OutputSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>> + Default,
[src]
D: Digest<OutputSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>> + Default,
Derive this public key from its corresponding SecretKey
.
pub fn from_expanded_secret(
expanded_secret_key: &ExpandedSecretKey
) -> PublicKey
[src]
expanded_secret_key: &ExpandedSecretKey
) -> PublicKey
Derive this public key from its corresponding ExpandedSecretKey
.
pub fn verify<D>(
&self,
message: &[u8],
signature: &Signature
) -> Result<(), SignatureError> where
D: Digest<OutputSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>> + Default,
[src]
&self,
message: &[u8],
signature: &Signature
) -> Result<(), SignatureError> where
D: Digest<OutputSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>> + Default,
Verify a signature on a message with this keypair's public key.
Return
Returns Ok(())
if the signature is valid, and Err
otherwise.
pub fn verify_prehashed<D>(
&self,
prehashed_message: D,
context: Option<&[u8]>,
signature: &Signature
) -> Result<(), SignatureError> where
D: Digest<OutputSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>> + Default,
[src]
&self,
prehashed_message: D,
context: Option<&[u8]>,
signature: &Signature
) -> Result<(), SignatureError> where
D: Digest<OutputSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>> + Default,
Verify a signature
on a prehashed_message
using the Ed25519ph algorithm.
Inputs
prehashed_message
is an instantiated hash digest with 512-bits of output which has had the message to be signed previously fed into its state.context
is an optional context string, up to 255 bytes inclusive, which may be used to provide additional domain separation. If not set, this will default to an empty string.signature
is a purported Ed25519phSignature
on theprehashed_message
.
Returns
Returns true
if the signature
was a valid signature created by this
Keypair
on the prehashed_message
.
Trait Implementations
impl Clone for PublicKey
[src]
impl Copy for PublicKey
[src]
impl Debug for PublicKey
[src]
impl Default for PublicKey
[src]
impl Eq for PublicKey
[src]
impl From<ExpandedSecretKey> for PublicKey
[src]
fn from(source: ExpandedSecretKey) -> PublicKey
[src]
impl PartialEq<PublicKey> for PublicKey
[src]
impl StructuralEq for PublicKey
[src]
impl StructuralPartialEq for PublicKey
[src]
Auto Trait Implementations
impl RefUnwindSafe for PublicKey
impl Send for PublicKey
impl Sync for PublicKey
impl Unpin for PublicKey
impl UnwindSafe for PublicKey
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> Clear for T where
T: InitializableFromZeroed + ?Sized,
T: InitializableFromZeroed + ?Sized,
fn clear(&mut self)
impl<T> From<T> for T
[src]
impl<T> InitializableFromZeroed for T where
T: Default,
T: Default,
unsafe fn initialize(place: *mut T)
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.
fn to_owned(&self) -> T
[src]
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.
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>,