k-匿名性(英语:k-anonymity)是匿名化数据的一种性质。如果一组公开的数据中,任何一个人的信息都不能和其他至少k−1。
人区分开,则称该数据满足k-匿名性。k-匿名性的概念是由拉坦亚·斯威尼和皮兰格拉·萨马拉蒂在1998年的一篇论文[1]中最先提出的,其目的是为了解决如下问题:“给定一组结构化的具体到个人的数据,能否给出一组经过处理的数据,使我们可以证明数据中涉及的个人不能被再识别,同时还要保证数据仍具有使用价值。”[2][3][4]使一组数据满足k-匿名性的过程称为k-匿名化(英语:k-anonymization)。
2018年,英国计算机科学家朱纳德·阿里使用k-匿名性及加密散列函数创建了一个通讯协议,可以供人匿名地验证密码是否已经泄露、但又不公开所涉及的密码;k-匿名性因此得到了媒体的广泛报道。[5][6]这一协议作为一个公用API部署在了托里·亨特创立的Have I Been Pwned?服务中,且被包括一些密码管理器[7][8] 和浏览器扩展[9][10]在内的程序广泛使用。随后,谷歌的密码检查功能也使用了这一方法。