Differential privacy using a multibit histogram
First Claim
Patent Images
1. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors of a computing device, cause the computing device to perform operations comprising:
- selecting a value of user data to transmit to a server from a set of user data values collected on a client device;
encoding the selected value using a Hadamard matrix, wherein the encoding flips a sign of an element of the Hadamard matrix, and wherein the element is selected based on the value of user data and a random integer;
privatizing the element by selectively flipping, in accordance with a predefined probability, a sign of the element of the Hadamard matrix; and
transmitting the privatized element and the random integer to the server, wherein the server performs a summation operation with the privatized element to estimate a frequency of the value of user data amongst a set of different client devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments described herein ensure differential privacy when transmitting data to a server that estimates a frequency of such data amongst a set of client devices. The differential privacy mechanism may provide a predictable degree of variance for frequency estimations of data. The system may use a multibit histogram model or Hadamard multibit model for the differential privacy mechanism, both of which provide a predictable degree of accuracy of frequency estimations while still providing mathematically provable levels of privacy.
-
Citations
21 Claims
-
1. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors of a computing device, cause the computing device to perform operations comprising:
-
selecting a value of user data to transmit to a server from a set of user data values collected on a client device; encoding the selected value using a Hadamard matrix, wherein the encoding flips a sign of an element of the Hadamard matrix, and wherein the element is selected based on the value of user data and a random integer; privatizing the element by selectively flipping, in accordance with a predefined probability, a sign of the element of the Hadamard matrix; and transmitting the privatized element and the random integer to the server, wherein the server performs a summation operation with the privatized element to estimate a frequency of the value of user data amongst a set of different client devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A device, comprising:
-
a processor; and a memory coupled to the processor, the memory storing instructions, which when executed by the processor, cause the processor to perform operations to; select a value of user data to transmit to a server from a set of user data values collected on a client device; encode the selected value using a Hadamard matrix, wherein the encoding flips a sign of an element of the Hadamard matrix, and wherein the element is selected based on the value of user data and a random integer; privatize the element by selectively flipping, in accordance with a predefined probability, a sign of the element of the Hadamard matrix; and transmit the privatized element and the random integer to the server, wherein the server performs a summation operation with the privatized element to estimate a frequency of the value of user data amongst a set of different client devices. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method, the method comprising:
-
selecting a value of user data to transmit to a server from a set of user data values collected on a client device; encoding the selected value using a Hadamard matrix, wherein the encoding flips a sign of an element of the Hadamard matrix, and wherein the element is selected based on the value of user data and a random integer; privatizing the element by selectively flipping, in accordance with a predefined probability, a sign of the element of the Hadamard matrix; and transmitting the privatized element and the random integer to the server, wherein the server performs a summation operation with the privatized element to estimate a frequency of the value of user data amongst a set of different client devices. - View Dependent Claims (18, 19, 20, 21)
-
Specification