4.3.2 Differential Privacy

The flowchart includes steps such as data handling, noise injection, and publishing the final results.

Code example:

import numpy as np

def laplace_mechanism(data, sensitivity, epsilon):
    """
    Inject noise using the Laplace mechanism
    :param data: Raw Data
    :param sensitivity: Sensitivity (A constant, representing the sensitivity to changes for each individual)
    :param epsilon: Privacy Parameter
    :return: Result after injecting noise
    """
    noise = np.random.laplace(loc=0, scale=sensitivity/epsilon)
    return data + noise

# Sample Data
original_data = 100
# Sensitivity, e.g., for a count query, is 1.
sensitivity = 1
# Privacy Parameter
epsilon = 0.1

# Inject noise using the Laplace mechanism
noisy_result = laplace_mechanism(original_data, sensitivity, epsilon)

print("Original Data:", original_data)
print("Noisy Result:", noisy_result)

Last updated