Imagine a hospital wants to share patient records with researchers. It strips out names and social-security numbers — the obvious identifiers. But the dataset still contains age, ZIP code, and sex. In a landmark 1997 study, Latanya Sweeney showed that those three fields alone could re-identify 87% of the US population from public voter rolls.
The insight behind k-anonymity (formalized by Sweeney and Pierangela Samarati in 1998) is elegantly simple: before releasing a table, generalize the quasi-identifiers — the fields that are not identifiers on their own but become one in combination — until every row is shared by at least k people. With , knowing someone's age, ZIP, and sex narrows the field to at least three records, so you cannot point to a single person.
The transformation tools are generalization (replace a specific value with a broader category, e.g., age 34 → age range 30–39) and suppression (remove a row or value entirely when it cannot be merged). The goal is to minimize information loss while guaranteeing that no equivalence class — a group sharing the same generalized quasi-identifiers — drops below members.
That trade-off between utility and privacy turns out to be computationally hard, and understanding why is a journey straight into P vs NP.
Comments
Loading comments...