Each message is passphrase-gated with end to end post-quantum encryption
⚠ Highly experimental — for educational purposes only
Params & Stats
How it works
> both PASSPHRASE & IDENTIFIER are necessary to locate a
> slot in the vault and to decrypt the original MESSAGE
PASSPHRASE · IDENTIFIER
│ │
└───────┬───────┘
│ derive
▼
┌──────┴─────────────┐
│ │
▼ ▼
SLOT KEYPAIR
(location) (en/decryption key)
┌────────────────────────────────────────────────┐
│ CHAIN VAULT │
├────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │▓▓▓▓▓▓▓▓▓ │ │▓▓▓▓▓▓ │ │▓▓ │ │
│ │▓▓▓▓▓▓▓▓▓ │ │▓▓▓ │ │ │ │
│ │▓▓▓▓▓▓ │ │ │ │ │ │
│ ├──────────┤ ├──────────┤ ├──────────┤ │
│ │ 0x3f4a… │ │ 0x7c2b… │ │ 0x1a9e… │ │
│ └────[■]───┘ └────[■]───┘ └────[■]───┘ │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │▓▓▓▓▓▓▓▓▓ │ │▓▓▓▓▓▓▓▓▓ │ │▓▓▓▓▓▓▓▓▓ │ │
│ │▓▓▓▓▓▓▓▓▓ │ │▓▓▓▓▓▓▓▓▓ │ │▓▓▓▓▓▓ │ │
│ │▓▓▓▓▓▓▓▓▓ │ │▓▓▓▓▓ │ │▓▓▓ │ │
│ ├──────────┤ ├──────────┤ ├──────────┤ │
│ │ 0xd5f1… │ │ 0x8e3c… │ │ 0xa2f7… │ │
│ └────[■]───┘ └────[■]───┘ └────[■]───┘ │
│ │
│ ▓ = encrypted message [■] on-chain slot │
└────────────────────────────────────────────────┘
> each combination of PASSPHRASE & IDENTIFIER yields a unique
> SLOT for storing the encrypted message in the vault
> STORE MESSAGE ─► encrypt ─► (chain[SLOT]: encrypted message)
> FETCH (chain[SLOT]: encrypted message) ─► decrypt ─► MESSAGE
https://github.com/adizere/dead-drop