Secure Function Evaluation (SFE)Secure Function Evaluation (SFE) can be used to verify a value, without releasing the original data. For example if we have a voting competition with Bob, Alice and Carol. Bob, Alice and Carol vote, and they want to keep their votes secret, but they need to calculate the overall total. Typically an independent person would tally up the votes, but what if they do not trust anyone. This is where SFE comes in, where they can calculate the total with knowing the votes from the others. For example, press the first button to generate some votes:
Next Bob creates three random values which give a sum of (his vote+100) to give:
Next Alice creates three random values which give a sum of (her vote+100) to give:
Next Carol creates three random values which give a sum of (her vote+100) to give:
Bob gets Alice's second value, and Carol's second value, and adds it to his first value and calculates the sum as: Alice gets Bob's second value, and Carol's third value, and adds it to her first value and calculates the sum as: Carol gets Alice's third value, and Bob's third value, and adds it to her first value and calculates the sum as: Finally Bob, Alice and Carol announce their calculations, and it is added up to: which taken with modulo 100 gives: which should be the total of the votes!!!!! Check the original votes for Bob, Alice and Carol and make sure that it totals this value. So ... Bob, Alice and Carol know the total, but not any of votes of the others. |