tree 76795a0c02bd8f602829033ea3467eaf8616637c
parent ec0b439933cd00a11e98ed1ef4bef1fde96c39f4
author Miraç Vuslat Başaran <miracvbasaran@gmail.com> 1644244768 +0100
committer GitHub <noreply@github.com> 1644244768 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJiAS8gCRBK7hj4Ov3rIwAAnIkIAJMy4a3rgin96XQ4Dgjndfj1
 fhP0pj4ZiNfNPIew1WuobwhGZ3Rs4n/EAcbZbrdSUPQ63W1SC0L4CNBotLBiUT3B
 5doLgsxxaf98vsPbtGl3j68CpPgGTs5FkcmJZb4di9GtikTqyXEAtf11SQ2bZ/QB
 +xepHeZawdlHWg4cF//meG4VFIhDrkKLPHI8rvdExkyXBd71l4i4Bu1R698OUP5S
 q+tBfrAh+tq9DgwZbpWvKeDZHwa/OWhQsBywpz1taEJjYMcsFkVgO102e+8nIfy2
 D68yKGtaJSbHZz/i7lLOUiSStG8oJwIHNzMbbWI43nriFrSgqTnJvBcNtHTHnZ0=
 =WPv0
 -----END PGP SIGNATURE-----
 

Fix a privacy-impacting bug in ThresholdedResult() function of dpagg.Count (#101)

Fix a privacy-impacting bug in ThresholdedResult() function of dpagg.Count that leads to slightly higher than intended delta. The bug is a result of converting floating-point threshold to an integer. Consider the following to see how the bug would occur:

Assume the noisy count is 37 and the threshold computed from noise parameters & threshold delta is 37.3. This means that we should not be returning the result. However, converting the threshold (37.3) to an int64 truncates the decimal part per go specification, making it 37. Threshold (37) is smaller than or equal to noisy result (37), so we return the result.

To fix this, we round the threshold up to the nearest integer before converting it to an int64.

Although this problem did not exist for dpagg.BoundedSumInt64, we modify the code there for consistency.