Client Blinds a Random Secret Locally
Your device generates a fresh 32-byte random token and multiplies it by a cryptographic blinding factor r^e mod n before sending it to the Control API. The server verifies your account tier (Free 6h or Pro 24h) and signs the blinded payload.
blinded_msg = H(token) · r^e mod N ──► sig' = (blinded_msg)^d mod N- Raw random token: 0x9f4a…8c21 (never leaves RAM)
- Blinding factor r: ephemeral 4096-bit secret
- Public metadata: tier=pro, expires=24h
- Account entitlement status (Free or Pro)
- Opaque blinded integer: 0x71e0…3b9a (mathematically random)
- ZERO knowledge of your future WireGuard public key or token