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);

Modules

Common module for laron-crypto
Keys