- Secure 2-Party Computation
- Secure Multi-Party Computation
A and B want to perform a fucntion f on their data. And they don't want others to know their data.
- General-purpose, e.g. Hash
- Special-purpose, e.g. FHE
Most general-purpose solutions are based on
- Full Homomorphic Encryption
- Circuit Based Solutions
Equality-revealing and Order-revealing
Predicate-revealing symmetric encryption, a type of symmetric encryption where a certain predicate of encrypted plaintext(s) is revealed (even without the key)
GC + OT
If you want to know more about Yao's solution, just have a try to implement it:)
This project also includes implementation of 2-Party GMW (X-Version).
n parties have inputs
- Double auction
- Statistics about compensation
- Advertising conversion
- MPC for cryptographic key protection
- Government collaboration
- Privacy-preserving analytics
Informal Definition:
n parties want to share a secret and only a subset of these n parties could recover it.
we have n
parties and we need t+1
parties to recover the secret s
.
- t=0
- Everyone's share is
s
- Everyone's share is
- t=n-1
- generate
n-1
random numbers${r_1,r_2,...,r_{n-1}}$ - the last share =
$r_1 \oplus r_2 \oplus ... r_{n-1}\oplus s$
- generate
- n-1>t>0
- Shamir's Schem
- only T+1 shares could confirm a unique T-degree polynomial
- I don't understand the details and don't want to understand!
That's a interesting topic, it tries to convert original representation algorithm to an intermediate representation. (Boolean circuit)
This part is an unfinished part of my SMC project. If I have enough time, I want to have a try!
More info: https://marsella.github.io/static/mpcsok.pdf