# Elabs Crypto. This crate provides a set of cryptographic helper functions. It provide `secp256k1` PublicKey, PrivateKey, signer, and `hash` functions. This crate is based on [`secp256k1`] and [`tiny-keccak`]. ## Usage ```toml [dependencies] elabs-crypto = "0.1" ``` ## Example ```rust use elabs_crypto::*; fn main() { let msg = b"hello world"; let hash = keccak256(msg); let sk = PrivateKey::random(); let pk = sk.to_public().unwrap(); let sig = sign(msg, sk).unwrap(); let (recid, bsig) = sig.serialize_compact(); let pk2 = ecrecover(&hash, &bsig, recid.to_i32() as u8).unwrap(); assert_eq!(pk, pk2); } ```