Differential Privacy (DP) relies on random numbers to preserve privacy, typically utilising Pseudorandom Number Generators (PRNGs) as a source of randomness. In order to allow for consistent reproducibility, testing and bug-fixing in DP algorithms and results, it is important to allow for the seeding of the PRNGs used therein. In this work, we examine the landscape of Random Number Generators (RNGs), and the considerations software engineers should make when choosing and seeding a PRNG for DP. We hope it serves as a suitable guide for DP practitioners, and includes many lessons learned when implementing seeding for diffprivlib.
翻译:差分隐私(DP)依赖随机数来保护隐私,通常采用伪随机数生成器(PRNGs)作为随机性来源。为确保DP算法及其结果具有一致的可复现性、可测试性和可调试性,允许对其中使用的PRNGs设定种子至关重要。本研究系统梳理了随机数生成器(RNGs)的研究现状,并探讨了软件工程师在为DP选择及设定PRNG种子时应重点考量的因素。我们期望本研究能为DP实践者提供实用指导,同时总结在diffprivlib库中实现种子设定功能时积累的诸多经验教训。