A total of 5 employees are working at an office, Alice, Bob, Carol, David and Eve. Each employee knows their own salary, but not anyone else's.
Now, they want to compute the average of their salaries in such a way that they learn no information about any individual's salary. To do so they propose the following strategy:
Step 1:
Alice chooses a random number, writes it on a piece of paper, and hands it over to Bob.
Step 2:
Bob takes a new piece of paper and adds his own salary to Alice's number, and hands it over to Carol.
Step 3:
Carol writes down the total of his salary and the current number, and hands it over to David.
Step 4:
David writes down the total of his salary and the current number, and hands it over to Eve.
Step 5:
Eve writes down the total of his salary and the current number, and hands it over to Alice.
Step 6:
Alice adds her salary, subtracts off the random number, divides by
, and announces the result.
The boss, Julian pointed out that there is a certain problem with this protocol: If Carol and Eve collaborate, they could easily figure out David's salary.
Is this true?
This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try
refreshing the page, (b) enabling javascript if it is disabled on your browser and,
finally, (c)
loading the
non-javascript version of this page
. We're sorry about the hassle.
Number got by Eve minus number written by Carol is David's salary.