Dead Drop

A protocol for dropping & retrieving secret messages with no intermediaries
v0.1

Each message is passphrase-gated with end to end post-quantum encryption
⚠ Highly experimental — for educational purposes only


Params & Stats
Network ................. Arc Testnet (5042002)
Protocol ................ ML-KEM-768 + AES-256-GCM
Contract ................ 0x…
Recent messages stored ..
Repository .............. github.com:adizere/dead-drop

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