安全多方计算(Secure Multi-party Computa-tion,sMPC)是分布式密码学的理论基础,也是分布式计算研究的一个基本问题,最早由姚期智于1982年通过姚氏百万富翁问题提出。
简单的说,安全多方计算是指一组人,比如 ,共同安全的计算函数 。函数的n个输入分别由n个参与者秘密掌握,设 的秘密输入是 ,并且在计算结束后, 得到输出 。这里的安全性是要求即使在某些参与者有欺骗行为的情况下保证计算结果的正确性,即计算结束后每个诚实的参与者 都能得到正确的输出 ,同时还要求保证每个参与者输入的保密性,即每个参与者 除了 外,得不到任何其他信息。
sMPC的两个主要属性是正确性和隐私性:
- 正确性:算法产生的输出正确(符合预期)。
- 隐私:一方拥有的秘密输入数据不会泄露给另一方。