Autocrypt v2
Post-Quantum Cryptography & Reliable Deletion
IETF OpenPGP designated expert
rPGP Rust maintainer
chatmail and Delta Chat
What is Autocrypt v2?
π Modern OpenPGP v6 certificate for messaging
π‘οΈ Post-quantum resistant encryption
ποΈ Reliable deletion (βforward secrecyβ)
π Designed for decentralized delay-tolerant messaging systems
Protection against βdecrypt laterβ attacks
π‘ Today: Adversaries collect in-transit encrypted messages
β months to years
ππ± Later: Obtain secret keys β decrypt deleted/collected messages
β years to decades
π₯οΈβοΈ Much later: Quantum computers β decrypt all collected messages
Autocrypt v2 protects against both decrypt-later attack scenarios
Reliable Deletion: what matters for users
π‘οΈ Deletion works against decrypt-later attacks
π Reliable in fragmented/splintering networks
π βReliable Deletionβ > βForward Secrecyβ (clearer term)
Autocrypt v2: A Simpler Path
Traditional Reliable Deletion
Network sync required π€―
Central servers needed π
Multi-device complexity π΅
Autocrypt v2 solution
β Clock-time based
πΏ Works offline
ποΈ Zero coordination
Autocrypt v1 β v2: What Changed?
v1 (Email-focused)
π§ Bound to email address
π·οΈ Email as identity layer
β
v2 (Universal)
π Transport agnostic
π Pure cryptographic identity
Same goal: Automatic, standards-based, interoperable E2E encryption
Autocrypt v2 Key Technical Features
Post-Quantum: Hybrid ML-KEM-768 + X25519
Reliable Deletion: Automatic key expiration & destruction
Compact: Fixed 2938-byte certificates
Interoperable: Standard OpenPGP v6 (RFC 9580)
Easy: See rPGP and Python examples
Autocrypt v2 Certificate (6 Packets)
π A. Primary Key (Ed25519) β’ Signing & Certification
B. Direct Key Signature (defines features, no expiry)
D. Subkey Binding (no expiry)
F. Subkey Binding (expires: max_rd=10d)
π¦ Fixed Size: 2938 bytes
Key Rotation Schedule
β±οΈ Rotating subkey: Valid for max_rd (default: 10
days)
π New generation: At min_rd before expiry
π¬ Delivery delay: 10 days assumed
ποΈ Auto-delete: After max_rd + 10 days
Autocrypt v2 Key Ratcheting Algorithm
π Deterministic key derivation from previous subkey
π Uses HKDF with SHA2-512 for cryptographic ratcheting
β±οΈ Time-based rotation synchronized across all devices
π― No network coordination needed
Key Ratcheting
prior rotating
subkey secret βββ> normalize_x25519
| |
(inputs) |
info | salt | IKM
| | | |
v v v v
βββββββββββββββββββββββββββββββββββ
β β
β HKDF (SHA2-512, L=160) β
β β
ββββββββββββββββ¬βββββββββββββββββββ
|
|
βββββββββββ΄ββββββββββ
v v
64 bytes 96 bytes
| |
| |
v v
SHA2-512 normalize_x25519
| |
| |
v v
16-byte salt next rotating
(for binding) subkey secret
Two Encryption Subkeys: Fallback vs Rotating
- Fallback Subkey: Long-term hybrid encryption key
- Used when no rotating subkey valid
- β οΈ NOT reliably deletable
- Rotating Subkey: Short-term hybrid encryption key
- Must be used if valid
- Rotates every 5 days (see
min_rdin spec) - Auto-destroyed after expiry
- β Reliably deletable messages
Peer Certificate Management
π₯ Incoming certs merged into local cache
π§Ή Pruning: Remove expired keys
π Encryption priority:
- Valid rotating subkey? β Use it
- Pick earliest expiry (faster deletion)
- Never use fallback if rotating available
Beware of coordinated deletion
π Need to delete all copies on all devices
πΎ What about backups & offline devices?
β οΈ Out of scope for Autocrypt v2
Delta Chat, Signal and other apps offer coordinated deletion.
Hybrid Cryptography Explained
- ML-KEM-768: Post-quantum algorithm (NIST standard)
- X25519: Classical elliptic curve
- Hybrid approach: Security if either algorithm is secure
- Protection against both classical and quantum attacks
- Future-proof encryption
π Autocrypt v2 = ML-KEM-768 β X25519
Autocrypt v2 Practical Benefits
ποΈ Deleted messages = gone forever
π€ Fully automatic (no user action)
π Works with existing Internet messaging infrastructure
π‘ No network sync required (fewer failures)
Comparisons with other E2EE efforts
| Feature | Autocrypt v2 | Signal | Matrix | MLS |
|---|---|---|---|---|
| Post-Quantum | β | β | π In-dev | β |
| Reliable Deletion | β | β | β + UTD | β |
| Minimal metadata | β | β οΈ Binding | β οΈ servers | β οΈ Binding |
| Decentralized | β | β | β | π in-dev |
| Formal specification | β | β | β | β |
| Simple implementation | β | β | β | β |
Autocrypt v2 status and roadmap
Q1 2026
Draft Spec
Q2 2026
Implementation
Q3 2026
Testing & Polish
Q4 2026
App Releases
See chatmail.at/clients for clients and bots that will seamlessly upgrade
Get involved: other implementers welcome!



Experienced Rust developer?
Interested in chatmail and Delta
Chat?
Talk to us :)