开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第32天 点击查看活动详情
安全多方计算(SMPC)
定义
解决互相不信任且各自持有秘密数据的参与方,协同计算一个既定函数的问题。保证参与方只能得到计算结果,不能得到其他参与方的输入数据
模型
当前存在多种维度来评价安全多方计算方案安全性,其中最主要的是行为模型和安全门限。
行为模型
- 半诚实敌手模型:各参与方严格执行协议步骤,但会尽可能从数据中获取其他参与方的隐私信息。也就是说,半诚实模型的敌手行为是被动的,它只是进行收集一些信息,但是后续可能私自对信息进行分析以得到私有信息。
- 恶意敌手模型:恶意方通过改变协议获取其他参与方的隐私,恶意敌手模型更具有主动性,可以拒绝协议执行,也可以在任意时间终止执行,也可以用任意值替换它的输入。
安全门限
- 假设一个SMPC协议的总参与方数目为n,根据安全多方计算参与方是否有合谋可能,可将安全多方计算的安全门限分为诚实大多数和不诚实大多数。
- 诚实大多数:可能合谋的人数小于n/2。
- 不诚实大多数:可能合谋的人数大于等于n/2
关键技术
秘密共享
- 将秘密信息分成若干份发送给多人保管
- 包括秘密分割算法(秘密分发者)和秘密重组算法(秘密接收者)
不经意传输
- 对于发来的秘密信息,接收者只能选择并且只能恢复其中的一个秘密信息,也不能得知其他秘密信息的任何信息,所以接收方也不知道自己接收的是哪个消息。