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
].
toml
[dependencies]
elabs-crypto = "0.1"
```rust use elabs_crypto::*;
fn main() { let msg = b"hello world"; let hash = keccak256(msg); let sk = PrivateKey::random(); let pk = sk.topublic().unwrap(); let sig = sign(msg, sk).unwrap(); let (recid, bsig) = sig.serializecompact(); let pk2 = ecrecover(&hash, &bsig, recid.toi32() as u8).unwrap(); asserteq!(pk, pk2); } ```