Struct ed25519_dalek::SecretKey[][src]

#[repr(C)]
pub struct SecretKey(_);

An EdDSA secret key.

Methods

impl SecretKey
[src]

Expand this SecretKey into an ExpandedSecretKey.

Convert this secret key to a byte array.

View this secret key as a byte array.

Construct a SecretKey from a slice of bytes.

Example

use ed25519_dalek::SecretKey;
use ed25519_dalek::SECRET_KEY_LENGTH;
use ed25519_dalek::SignatureError;

let secret_key_bytes: [u8; SECRET_KEY_LENGTH] = [
   157, 097, 177, 157, 239, 253, 090, 096,
   186, 132, 074, 244, 146, 236, 044, 196,
   068, 073, 197, 105, 123, 050, 105, 025,
   112, 059, 172, 003, 028, 174, 127, 096, ];

let secret_key: SecretKey = SecretKey::from_bytes(&secret_key_bytes)?;

Returns

A Result whose okay value is an EdDSA SecretKey or whose error value is an SignatureError wrapping the internal error that occurred.

Generate a SecretKey from a csprng.

Example

extern crate rand;
extern crate sha2;
extern crate ed25519_dalek;

use rand::Rng;
use rand::OsRng;
use sha2::Sha512;
use ed25519_dalek::PublicKey;
use ed25519_dalek::SecretKey;
use ed25519_dalek::Signature;

let mut csprng: OsRng = OsRng::new().unwrap();
let secret_key: SecretKey = SecretKey::generate(&mut csprng);

Afterwards, you can generate the corresponding public—provided you also supply a hash function which implements the Digest and Default traits, and which returns 512 bits of output—via:


let public_key: PublicKey = PublicKey::from_secret::<Sha512>(&secret_key);

The standard hash function used for most ed25519 libraries is SHA-512, which is available with use sha2::Sha512 as in the example above. Other suitable hash functions include Keccak-512 and Blake2b-512.

Input

A CSPRNG with a fill_bytes() method, e.g. rand::ChaChaRng

Trait Implementations

impl Default for SecretKey
[src]

Returns the "default value" for a type. Read more

impl Debug for SecretKey
[src]

Formats the value using the given formatter. Read more

impl Drop for SecretKey
[src]

Overwrite secret key material with null bytes when it goes out of scope.

Executes the destructor for this type. Read more

Auto Trait Implementations

impl Send for SecretKey

impl Sync for SecretKey