News for hackers. Stuff that matters.
Re:Never accept a counter-offer by signa11 on Sunday October 02, 2016 @11:20PM (#12625385)
> ... some companies threaten to terminate anyone who reveals his or her salary to another employee.

after this, i was wondering if there is a way to get the average salary of a group without revealing / knowing actual numbers ?

edit-001: ok, one thing that i can think of:

1. take a big number, and add your salary to it. this becomes the 'token' for the next guy.

2. he adds his salary to the number. etc. etc.

once you have the final number, remove the original number, and divide by number of folks. since this scheme appears to be so trivial, i am now wondering what i did wrong ?

Re:Never accept a counter-offer by bzbarsky on Monday October 03, 2016 @12:12AM (#12625483)
What threat model are you defending against?

Because the people at positions N and N+2 in your scheme can collude to determine the salary of the person at position N+1 without even having to reveal their own salaries in the process...

Re:Never accept a counter-offer by signa11 on Monday October 03, 2016 @02:04AM (#12625707)
> What threat model are you defending against?

umm, not really trying to prevent from folks actively sabotage the whole thing, but just seeing if it actually works i.e gives the correct average salary...

but yes, as you have pointed out, people at N and N+2 can collude to get the original salary (for N+1).

Re:Never accept a counter-offer by graywh on Monday October 03, 2016 @12:37PM (#12628941)
Have a third party generate a set of tokens, one per person, recording only their sum, and randomly distribute them to the group. Then you don't need to pass the cumulative sum from person to person.

Edit: I guess it doesn't even have to be a third party as long as everyone trusts the randomization (e.g., pulling identical pieces of folded paper from a hat).

Re:Never accept a counter-offer by kabouseng on Friday October 14, 2016 @07:00AM (#12707271)
Yes but you still need to trust the central authority then, meaning one person will know everyone's salary (he who generates all the tokens).

If you really want a cryptographic secure process, the key word to begin your journey would be "secure multiparty computation", and a very appropriate example in the book modern cryptography[1]:

[1] https://cs.stanford.edu/people/eroberts/courses/soco/project...

Basically your first solution but encrypt the communication between parties to prevent the n+1 - n attack.

edit - Only say infinite8s reply now, which is almost verbatim my reply including the same link.

Re:Never accept a counter-offer by signa11 on Tuesday October 04, 2016 @03:01AM (#12633762)
> Have a third party generate a set of tokens, one per person, recording only their sum, and randomly distribute them to the group

oooh :) this is pretty cool. thank you !

Re:Never accept a counter-offer by infinite8s on Monday October 03, 2016 @08:54PM (#12632598)
There is a cryptographic subfield called secure multiparty computation that lets you compute something like this (an average where nobody finds out the inputs of others) - https://cs.stanford.edu/people/eroberts/courses/soco/project...