# Cryptographic Utils

### Derive an address from a Private Key

```rust
use onemoney_protocol::crypto;

// Derive address from private key
let address = crypto::private_key_to_address(private_key)?;
```

### Sign a message

```rust
// Sign a message
let signature = crypto::sign_message(&payload, private_key)?;
```

### Verify a message

```rust
// Verify signature
let is_valid = crypto::verify_signature(&payload, &signature, signer_address)?;
```
