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)
相关推荐
运行时异常18 小时前
【WMS 仓储系统集成 AI Agent 实战】第 8 讲(终篇):生产部署与并发安全——Semaphore 放进 Flux.defer 的坑,压测抓了一晚上
人工智能·安全
虹科网络安全18 小时前
“顶会”看安全(十八):超越越狱:揭示由能力边界模糊引发的 LLM 应用安全风险
人工智能·安全
hasty18 小时前
OAuth 登录成功,不代表邮箱可信:Flarum 账号关联漏洞的安全编码启示
安全
国科安芯20 小时前
断电也隔离、听得真:ASL3159S 单通道 SPDT 模拟开关的“断电保护 + 音频保真“账
单片机·嵌入式硬件·安全·商业航天·抗辐射
hasty20 小时前
2026软件供应链安全政策全景
安全·安全威胁分析·代码复审
小程序设计20 小时前
基于STM32的智慧厨房多参数安全监测与预警系统设计
stm32·嵌入式硬件·安全
绿蕉21 小时前
从“叠积木补安全“到“设计即安全“:EE 架构里的安全左移革命
安全·架构
hasty1 天前
01_新网络安全法下的软件漏洞治理
网络·安全·web安全
迪康Defender1 天前
内网终端打印安全:权限、审批、审计三位一体防护实践
安全
猫咪宝妖1 天前
信息安全工程师 第四级 结构化保护级
网络·数据库·安全