Secure Salary Averaging: Private Numbers, Public Mean
Eight quantitative analysts want to know the average of their salaries, but with a strict condition:
No one is willing to reveal their individual salary to anyone else.
How can they collaboratively compute the average while keeping each person’s salary strictly private?
The Goal
Let each person \( Q_1, Q_2, \ldots, Q_8 \) have a private salary \( s_1, s_2, \ldots, s_8 \).
They want to compute:
\[ \text{Average} = \frac{s_1 + s_2 + \cdots + s_8}{8} \]
without revealing any \( s_i \).
The Protocol: Secure Sum via Random Offsets
This method uses secure masking with random numbers.
Step-by-Step:
-
Q1 picks a random number \( r \) and adds it to their salary: \[ T_1 = s_1 + r \]
-
Q1 sends \( T_1 \) to Q2.
-
Each subsequent analyst \( Q_i \) (for \( i = 2 \) to \( 8 \)):
-
Adds their own salary \( s_i \) to the total they received: \[ T_i = T_{i-1} + s_i \]
-
Then passes \( T_i \) to the next person.
-
-
Q8 returns the final sum \( T_8 \) to Q1.
-
Q1 subtracts their random number \( r \): \[ \text{Total Sum} = T_8 - r = s_1 + s_2 + \cdots + s_8 \]
-
The group divides by 8 to compute the average salary.
Why It Works
- Only Q1 knows the random \( r \), which protects their salary.
- Every participant only sees a masked partial sum.
- No one learns any individual salary.
- Only the total sum is ever revealed (to Q1), and then the average is shared.
Final Answer
Yes, the quant team can compute the average securely.
Use a chained sum protocol with a random offset to mask individual values—revealing only the final average.