Struct iop_keyvault::secp256k1::Secp256k1 [−][src]
This elliptic curve cryptography implements both the AsymmetricCrypto and KeyDerivationCrypto traits so for BTC, ETH and IOP as examples.
Trait Implementations
impl AsymmetricCrypto for Secp256k1
[src]
type KeyId = SecpKeyId
The ID (also called fingerprint or address in some literature) of the public key. See
PublicKey::key_id
for more details. Read more
type PublicKey = SecpPublicKey
type PrivateKey = SecpPrivateKey
See PrivateKey
for more details. Read more
type Signature = SecpSignature
The signature of a given message with a given private key. Its size and representation is up to the implementation. Read more
impl Clone for Secp256k1
[src]
impl Debug for Secp256k1
[src]
impl ExtendedPrivateKey<Secp256k1> for SecpExtPrivateKey
[src]
fn derive_normal_child(&self, idx: i32) -> Result<SecpExtPrivateKey>
[src]
fn derive_hardened_child(&self, idx: i32) -> Result<SecpExtPrivateKey>
[src]
fn neuter(&self) -> SecpExtPublicKey
[src]
fn private_key(&self) -> SecpPrivateKey
[src]
impl ExtendedPublicKey<Secp256k1> for SecpExtPublicKey
[src]
fn derive_normal_child(&self, idx: i32) -> Result<SecpExtPublicKey>
[src]
fn public_key(&self) -> SecpPublicKey
[src]
impl KeyDerivationCrypto for Secp256k1
[src]
type ExtendedPrivateKey = SecpExtPrivateKey
See ExtendedPrivateKey
for more details. Read more
type ExtendedPublicKey = SecpExtPublicKey
See ExtendedPublicKey
for more details. Read more
fn master(seed: &Seed) -> SecpExtPrivateKey
[src]
impl PrivateKey<Secp256k1> for SecpPrivateKey
[src]
fn public_key(&self) -> SecpPublicKey
[src]
fn sign<D: AsRef<[u8]>>(&self, data: D) -> SecpSignature
[src]
Panics
There is a 2^-256 chance this message cannot be signed by this key. The C implementation in bitcoin does not fail, but this pure rust version does. Then we panic.
impl PublicKey<Secp256k1> for SecpPublicKey
[src]
Auto Trait Implementations
impl RefUnwindSafe for Secp256k1
impl Send for Secp256k1
impl Sync for Secp256k1
impl Unpin for Secp256k1
impl UnwindSafe for Secp256k1
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>,