Identity / HMR
$ oas genesis hmr
Phase 01
ENTROPY COLLECTION
256 bits from CSPRNG

Collecting cryptographically secure entropy from the operating system. Sources: /dev/urandom, SecRandomCopyBytes, BCryptGenRandom. On hardware with a TPM, additional entropy is mixed.

Phase 02
KEY PAIR GENERATION
Ed25519 (Curve25519)
PUBLIC KEY
z6MkhaXgBZDvotDkL5257faizYqZq3wOverJMNRFz9c89LS
PRIVATE KEY
************************************************
sealed · zeroize-on-drop · constant-time

The Ed25519 key pair is generated from the seed. The private key never leaves the sealed storage boundary. All operations are constant-time. Uses ed25519-dalek with ZeroizeOnDrop.

Phase 03
DID DERIVATION
HMR
entity kind: human managed resource

The DID identifier is derived from the public key by multibase-encoding. The DID URI includes the namespace and hmr entity kind.

Phase 04
DOCUMENT CONSTRUCTION
did:oas:l1fe:hmr:z6MkhaXgBZDvotDkL5257faizYqZq3wOverJMNRFz9c89LS
method
oas
namespace
l1fe
kind
hmr
identifier
z6Mkha...

The DID document is assembled with verification method, authentication relationship, and optional service endpoints. Self-signed with JCS canonical serialization.

Phase 05
SEALED STORAGE
▸▸▸

The private key is encrypted and stored in platform-specific sealed storage. Secure Enclave on macOS/iOS. Kernel keyring on Linux. Never written to disk in plaintext. Memory zeroized on drop.

Phase 06
DHT PUBLICATION

The signed DID document is published to the Weave DHT for global resolution. Replicated across multiple nodes. Publication is optional for fully offline-verifiable identities.

Key Properties
Algorithm
Ed25519 (Curve25519)
Key Size
256-bit private / 256-bit public
Signature
64 bytes, deterministic
Encoding
Multibase (base58btc, z-prefix)
Storage
ZeroizeOnDrop, sealed at rest
Derivation
HKDF-SHA256 for child keys