Module keys

Module keys 

Source
Expand description

Provide wrappers around public keys, private keys and signatures.

  • Keys can be converted to/from Base58 string format.
  • Signatures can be converted to/from Base64 string format.

§Generate and use ed25519 key-pair

use dup_crypto::keys::{KeyPair, PublicKey, Signator, Signature};
use dup_crypto::keys::ed25519::{KeyPairFromSaltedPasswordGenerator, SaltedPassword};

let generator = KeyPairFromSaltedPasswordGenerator::generate;

let keypair = generator.generate(SaltedPassword::new(
    "salt".to_owned(),
    "password".to_owned(),
));

let signator = keypair.generate_signator();

let message = "Hello, world!";

let signature = signator.sign(&message.as_bytes());

assert!(keypair.public_key().verify(&message.as_bytes(), &signature).is_ok());

§Format

  • Base58 use the following alphabet : 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
  • Base64 use the following alphabet : ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ with = as padding character.

Re-exports§

pub use crate::seeds::Seed32;

Modules§

bin_signable
Generic code for signing data in binary format
ed25519
Provide wrappers around ed25519 keys and signatures
text_signable
Generic code for signing data in text format

Enums§

KeyPairEnum
Store a cryptographic key pair.
KeysAlgo
Cryptographic keys algorithms list
PubKeyEnum
Store a cryptographic public key.
PubKeyFromBytesError
Error when parsing pubkey bytes
Sig
Store a cryptographic signature.
SigError
Errors enumeration for signature verification.
SignError
SignError
SignatorEnum
Store a cryptographic signator.

Traits§

GetKeysAlgo
Get the cryptographic algorithm.
KeyPair
Define the operations that can be performed on a cryptographic key pair.
PublicKey
Define the operations that can be performed on a cryptographic public key.
Signator
Define the operations that can be performed on a cryptographic signator.
Signature
Define the operations that can be performed on a cryptographic signature.