kmb-crypto: Cryptographic primitives for Kimberlite
This crate provides the cryptographic foundation for Kimberlite's
tamper-evident append-only log.
Modules
| Module | Purpose | Status |
|---|---|---|
[chain] |
Hash chains for tamper evidence (SHA-256) | ✅ Ready |
[hash] |
Dual-hash abstraction (SHA-256/BLAKE3) | ✅ Ready |
[signature] |
Ed25519 signatures for non-repudiation | ✅ Ready |
[encryption] |
AES-256-GCM encryption and key wrapping | ✅ Ready |
Quick Start
use ;
use ;
// Build a tamper-evident chain of records (SHA-256 for compliance)
let hash0 = chain_hash;
let hash1 = chain_hash;
// Fast internal hash (BLAKE3) for deduplication
let fingerprint = internal_hash;
// Sign records for non-repudiation
let signing_key = generate;
let signature = signing_key.sign;
// Verify the signature
let verifying_key = signing_key.verifying_key;
assert!;
// Wrap a key for secure storage (key hierarchy)
let kek = generate;
let dek = generate;
let wrapped = new;
let unwrapped = wrapped.unwrap_key.unwrap;
assert_eq!;