MCP(多方安全计算)

一. Shamir秘密分享方案

参见:

安全多方计算 - Shamir秘密分享方案-CSDN博客

二. 不经意传输方案

不经意传输(Oblivious Transfer, OT) ,它主要用于让双方在不泄露多余信息的情况下传递数据。

最经典的是 1-out-of-2 OT:发送方有两个消息 m0​,m1​,接收方只能选择拿到其中一个;同时:

  • 发送方不知道接收方选了哪一个;
  • 接收方也无法知道另一个没选的消息。

以经典的RSA型OT为例来说明该方案的完整流程:

设:

  • 发送方 Alice 有两个秘密消息:
  • 接收方 Bob 想得到其中一个:
  • Alice 不应该知道 Bob 选择的是 0 还是 1。
  • Bob 不应该知道另一个 。

1. Alice 生成 RSA 参数

Alice 首先生成 RSA 密钥:

选择公钥指数 e,计算私钥指数 d,满足

ed≡1(mod φ(N))

于是有 RSA 性质:

Alice 公开:

(N,e)

但保留:

d

然后 Alice 随机生成两个数:

把

发送给 Bob。


2. Bob 秘密选择一个消息

Bob 想选择:

b∈{0,1}

例如,他想要 m1​,那么:

b=1

但他不能直接把 b 告诉 Alice。

Bob 随机选择:

然后利用 Alice 的 RSA 公钥计算:

再计算:

然后 Bob 只发送:

v

给 Alice。

注意 Alice看到的只是一个随机模 N 的值 v。

她不知道它究竟是:

还是:

所以她不知道 Bob 选的是哪个。


3. Alice 分别尝试两个可能

Alice 收到:

v

由于她不知道 Bob 选择了哪个,于是她分别计算:

以及

这里就出现了整个 OT 最重要的地方。

假设 Bob 实际选择:

b=1

那么 Bob 发送的是:

所以:

于是 Alice 计算:

根据 RSA:

所以:

也就是说,Bob 和 Alice 对第 1 个消息拥有相同的密钥。


但是看看另一个:根据同样计算方法得到的则与k无关系

因此 Bob 只知道:

不知道:


4. Alice 用两个密钥加密两个消息

Alice现在得到:

实际系统中通常不会直接拿它们当密钥,而是通过哈希/KDF:

然后分别加密:

Alice把:

全部发送给 Bob。

注意:

两个密文都发送。


5. Bob 解密自己选择的消息

Bob自己一开始知道随机数:

k

假设他选择:

b=1

那么我们前面已经知道:

因此:

Bob可以计算:

成功得到:


但是对于:

Bob需要:

而 Bob不知道 k0​。

想获得它,就需要计算:

但 Bob没有 RSA 私钥:

d

所以在 RSA 安全假设下,他无法有效计算 k0​。

因此无法解密:

最终: Bob 只能得到 m1​​

整个流程图如下:

复制代码
Alice                                         Bob
有 m0,m1                                      选择 b

生成 RSA:
(N,e,d)

随机:
x0,x1

          N,e,x0,x1
--------------------------------------------->

                                               随机 k

                                               计算
                                               v = xb + k^e mod N

                    v
<---------------------------------------------

计算:

k0 = (v-x0)^d mod N
k1 = (v-x1)^d mod N

K0 = H(k0)
K1 = H(k1)

c0 = Enc(K0,m0)
c1 = Enc(K1,m1)

                   c0,c1
--------------------------------------------->

                                               Kb = H(k)

                                               mb =
                                               Dec(Kb,cb)
相关推荐
Yuzhiyuxia1 小时前
【AI Agent面试系列】AI Agent可观测、评测、安全相关的知识点
人工智能·安全·面试
QXWZ_IA5 小时前
测绘单位采购RTK:设备价格、账号年费、售后,用时间轴分权重
网络·人工智能·安全
IT大白鼠6 小时前
GitLab 未认证 RCE 应急实战CVE-2026-97229(CVSS 10.0)
网络·安全·gitlab
进击的荆棘6 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
KCENN7 小时前
安全地毯压敏传感防护在工业流水线与机器人作业区的耐腐蚀材质及紧急停机机制
安全
北城笑笑7 小时前
Vue 109 ,从零搭建 Vue3 + Electron 工程:生态、安全桥接与打包选型( Vue + Electron )
前端·javascript·vue.js·安全·electron·vue
山东科恩光电20 小时前
安全触边在协作机器人工作站防碰撞防护中的安装方案与性能优化
安全
山东科恩光电1 天前
安全地毯压力感应防护在工厂自动化区域的实时监测与停机联动应用
安全
Flynt2 天前
日涨4000星的OSINT工具,我拿Linus的用户名和一个随机字符串实测了一遍
python·安全
国科安芯2 天前
人在回路中的总线:商业空间站环境控制与生命保障系统CANFD网络的可靠性与功能安全
网络·嵌入式硬件·安全·架构·php·抗辐射