Ask HN: Cryptographic salary negotiation protocol?
If possible, this would be a useful first filter to check for employment compatibility, without leaking information for the actual salary negotiations.
More formally, if interviewer Alice has a secret number X (the maximum salary that she is willing to pay), and interviewee Bob has a secret number Y (the minimum salary that he is prepared to accept), is there an exchange of information that allows both parties to establish if X >= Y without revealing Y to Alice or X to Bob? Given that Alice already knows X, and Bob already knows Y, it should not be possible to determine the difference between X and Y from the exchange of information.
This is obviously trivial to solve with the use of a trusted third party. Is it possible to solve without the use of a trusted third party?
6 comments
[ 3.5 ms ] story [ 33.3 ms ] thread[1]: http://en.wikipedia.org/wiki/Millionaire%27s_Problem
Preventing multiple attempts would be the challenge with this approach. Alternatively, the "you're hired" message could itself be encrypted such that the applicant could send it back to the offeror to be decrypted. The challenge there is verifying the offeror didn't encode "$50,000" instead of "pay within range". The offeror encoding "no" and "yes" values and sending those two values (but not saying which is which) ahead of time would mitigate that problem, but again not if the applicant is able to run multiple numbers through the system (noting at which point the value changes).
The best solution would be an algorithmic third party search engine which doesn't even mention the job or candidate to each other if there's no overlap in salary, taking less tangible things like years of work experience, education into account.
http://code.google.com/p/tastyproject/
"Hi, I am happy to attend an intervjuv but before I do I need to make sure you can pay with in my range. Please go to www.dowefitinsaleryterms.com/X12xs2 ho is a third party. " Would that work?