|Aspect|First‑principles view|
|---|---|
|**Goal**|Compute any agreed function on private inputs held by several players so that: • Output is correct. • Nobody learns anything beyond that output.|
|**Actors**|_n_ parties, some may collude.|
|**Game**|Protocol with message rounds. Parties finish with their share of the result or the whole result.|
|**Security pillars**|1. **Correctness**: Output equals the true function value. 2. **Privacy**: Colluding subset learns nothing more than what the function value already reveals. 3. **Robustness / Fairness**: Optional guarantees against aborts or garbage outputs.|
|**Building blocks**|Secret sharing, oblivious transfer, homomorphic encryption, garbled circuits.|
|**Typical flow (secret‑sharing style)**|1. Split each input into random shares across players. 2. Run a share‑by‑share computation (addition is free, multiplication needs interaction). 3. Reconstruct the final value or keep it shared.|
|**Variations**|Honest‑majority vs dishonest‑majority, semi‑honest vs malicious security, asynchronous vs synchronous networks.|