
🔐 Matching in the Dark: Zero‑Knowledge Filtering Using 32‑Bit Bitmasks
In my previous article — Building a Zero-Knowledge Dating Platform for HIV-Positive Communities — I explained why the server in this system cannot see any plaintext user data. Not names. Not photos. Not health status. Not location. Not lifestyle. Not even "Man seeking Woman." Everything is encrypted client-side using TweetNaCl before it ever touches the backend. But that leaves a huge question: If the server is completely blind, how does it know who to match you with? This article explains the first half of that solution: blind bitmask search using 32-bit integers. This is the "hard filter" layer — gender, marital status, region, and other categorical attributes. The next article will cover the "soft filter" layer — embeddings + Hamming distance. ☕ Why Bitmasks? The server cannot read strings like: "Woman" "Single" "East" "Espresso lover" It cannot store them. It cannot index them. It cannot search them. But the server can compare integers . A 32-bit integer is just 32 switches . The f
Continue reading on Dev.to
Opens in a new tab


