可视秘密共享与加法方案
探索基于 XOR 的加法共享和视觉密码方案
可视秘密共享与加法方案 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。
可视密码学概述
可视秘密共享(Naor 与 Shamir,1994 年)将图像拆分为 n 张透明片,使得叠加 k 张透明片即可显示秘密图像,而少于 k 张时什么也无法显示——即使面对计算能力不受限的攻击者也是如此。
2-of-2 可视化方案
秘密图像中的每个像素都会扩展为一个 2x2 的方块。对于黑色像素:两个份额分别获得互补图案(叠加后全部为黑色)。对于白色像素:两个份额获得相同图案(叠加后黑色占 50%,呈灰色)。人眼可以感知其中的差异。
基于 XOR 的加法共享
对于比特串:生成随机值 R_1、R_2、...、R_{n-1} 来共享秘密值 S。设置 R_n = S XOR R_1 XOR ... XOR R_{n-1}。将全部 n 个份额进行 XOR 运算后得到 S。任意 n-1 个份额的子集都服从均匀随机分布——不会泄露关于 S 的任何信息。
加法共享与 Shamir 方案的比较
XOR/加法共享是 n-of-n 方案(需要全部份额)。Shamir SSS 是 k-of-n 方案(任意 k 个份额即可)。加法共享更简单、更快速;Shamir 可以处理任意阈值。MPC 协议通常使用加法共享来执行算术运算。
整数上的秘密共享
对于整数秘密值:将 S 共享为 S = s_1 + s_2 + ... + s_n (mod p)。每个 s_i 都是 Z_p 中的随机元素。要将两个共享值 A+B 相加,每个参与者在本地将自己的份额相加:(a_i + b_i) mod p。执行加法不需要通信。
加法共享中的乘法
对共享的秘密值进行乘法需要交互。经典的 Beaver 三元组方法是:预先计算共享的随机值 (a, b, c=ab)。要计算 x*y:向所有参与者公开 (x-a) 和 (y-b)(这些值不会泄露关于 x、y 的任何信息),然后使用该三元组计算 x*y。
线性秘密共享方案
线性秘密共享方案(LSSS)可以实现任意单调访问结构。Shamir 方案是一种 LSSS。LSSS 是基于属性的加密(ABE)和多授权机构访问控制系统的构建模块。
打包式秘密共享
打包式 Shamir 方案在一个多项式中共享多个秘密:将 k 个秘密编码为一个 n-k 次多项式的系数。当 MPC 协议需要同时共享许多值时,这种方法可以分摊通信成本。
欺骗检测
基本共享方案无法防止恶意参与者提交无效份额。可验证秘密共享(VSS)加入了承诺;鲁棒秘密共享加入了纠错功能,因此即使存在 t 个错误份额,也能成功完成重构。
应用
可视密码学:印刷文档认证、安全投票选票。加法共享:SPDZ MPC、联邦学习中的安全聚合(Google)。阈值方案:硬件钱包种子备份、企业密钥管理。
斜坡方案
(k,n) 斜坡方案的安全性较弱:少于 k-d 个份额时会泄露部分信息(d 个保密级别)。当不要求部分份额具备完美保密性、但存储效率至关重要时,可以使用这种方案。它所需的份额比 Shamir 方案更短。
快速检查
在基于 XOR 的加法 n-of-n 共享中,重构秘密需要多少个份额?
总结
可视密码学将图像拆分为透明片;加法共享使用 XOR 实现 n-of-n 方案;Shamir 方案处理 k-of-n。MPC 使用带有 Beaver 三元组的加法共享来执行乘法。下一节:阈值签名及其现实应用。
常见问题解答
「可视秘密共享与加法方案」课时是免费的吗?
是的 — 「可视秘密共享与加法方案」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。
「可视秘密共享与加法方案」这节课中我会学到什么?
探索基于 XOR 的加法共享和视觉密码方案 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cryptology Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「可视秘密共享与加法方案」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cryptology Academy 课中编写并运行代码吗?
能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 秘密共享问题
- Shamir 秘密共享:多项式数学
- 可视秘密共享与加法方案
- 门限签名与现实应用场景