Crate laron_crypto
source · [−]Expand description
Laron Crypto
Laron Crypto is a library for signing and verifying messages using Secp256k1 elliptic curve algorithm.
This library is a wrapper for k256 crate. This library also provides a simple way to generate a private key and a public key. and also a valid ethereum address.
Example
use laron_crypto::{keys::*, common::*};
// Generate a new private key and a public key
let sk = PrivateKey::new();
let pk = sk.public();
// Generate a valid ethereum address from the public key
let addr = Address::from_public(&pk);
// Sign a message
let msg = b"Hello World!";
let sig = sk.sign(msg);
assert!(pk.verify(msg, &sig));
// or use other way
let sig = signer::sign(msg, &sk);
assert!(signer::verify(msg, &sig, &pk));
// Recover the public key from the signature
let recovered_pk = signer::recover(msg, &sig).unwrap();
assert_eq!(pk, recovered_pk);