Implementing the Exponential Mechanism with Base-2 Differential Privacy

Despite excellent theoretical support, Differential Privacy (DP) can still be a challenge to implement in practice. In part, this challenge is due to the concerns associated with translating arbitrary- or infinite-precision theoretical mechanisms to the reality of floating point or fixed-precision. Beginning with the troubling result of Mironov demonstrating the security issues of using floating point for implementing the Laplace mechanism, there have been many reasonable questions raised concerning the vulnerabilities of real-world implementations of DP. In this work, we examine the practicalities of implementing the exponential mechanism of McSherry and Talwar. We demonstrate that naive or malicious implementations can result in catastrophic privacy failures. To address these problems, we show that the mechanism can be implemented exactly for a rich set of values of the privacy parameter and utility functions with limited practical overhead in running time and minimal code complexity. How do we achieve this result? We employ a simple trick of switching from base to base , allowing us to perform precise base arithmetic. A short, precise expression is always available for , and the only approximation error we incur is the conversion of the base-2 privacy parameter back to base for reporting purposes. The core base arithmetic of the mechanism can be simply and efficiently implemented using open-source high precision arithmetic libraries. Furthermore, the exact nature of the implementation lends itself to simple monitoring of correctness and proofs of privacy.
View on arXiv