在我们的乱码电路系列的第 1 部分中,我们找到了拯救遇难朋友的特定问题解决方案。但是,该解决方案没有提供私下计算函数的通用方法(不透露其输入)。构建用于评估特定函数f(x)的通用解决方案的一种方法是设计一个电路,将可能的输入x映射到可能的输出f(x)。例如,考虑一个nand门:
门将其输入导线 ({0,1}, {0,1}) 的所有可能值映射到其输出导线 {0,1} 的值。但是,为了找到输出导线的值,评估器必须知道输入导线的值。我们的目标问题要求输入线保持私有,因此我们需要修改这种方法。
乱码电路
一般的解决方案是由图灵奖获得者andrew yao在1986年给出的[1]。令人难以置信的是,yao证明了任何多项式时间函数都可以通过“乱码”规则电路在多项式时间内安全地计算(不泄露玩家的输入)。在本介绍中,我们将考虑最简单的情况,即只有两个参与者,爱丽丝和鲍勃。每个都有一个不应透露给对方的专用输入位,并且每个都想了解nand(alice input,bob input)的结果。由于任何函数都可以从nand门构造,因此仅显示如何乱码就足够了。我们将让 alice 生成(构建)乱码电路,bob 将评估乱码电路以恢复结果。
发电机步骤(爱丽丝)
生成器的第一步是将导线输入 {0,1} 替换为独立且相同分布 (i.i.d.) 随机值 k。这些随机值将用作对称密码(如 aes)的加密密钥。在我们的表示法中,k 映射到的二进制值 {0,1} 是上标,而 k 对应的输入线 {1,2} 是下标。在我们的示例中,alice 将向导线 1 提供输入,bob 将向导线 2 提供输入。
由于 alice(电线 1)知道她的输入位 b,她只需删除与 1-b 对应的另一个键。但是,alice 将如何向 bob 发送与他的输入位对应的密钥?
显而易见的解决方案存在问题:
如果鲍勃向爱丽丝索要与他的位b相对应的密钥,那么他已经透露了他的私人输入。
如果 alice 向 bob 发送 b 和 1-b 的两个键,那么 bob 可以在两个输入上评估 f(x),而不仅仅是一个输入。这揭示了其他信息,可能包括爱丽丝的私人输入。
若要理解为什么发送两个密钥都会显示其他信息,请考虑一个示例,其中 alice 的输入位为 0,bob 的输入位为 0。nand(0,0) 的输出为 1。如果 bob 只知道他的输入位是 0 并且结果是 0,那么 alice 的输入位可能是 0 或 1。但是,如果 bob 能够同时评估 0 和 1 上的门,他会发现 nand(a,0)=1 和 nand(a,1)=1,这表明 alice 的输入位必须是 0。这是对爱丽丝私人输入位的不必要披露。
由于 bob 无法要求他的输入密钥,而 alice 无法同时给他两个可能的密钥,因此我们需要一个解决方案,其中 bob 只接收其输入位的密钥,而 alice 不知道她发送给 bob 的密钥。不可能的?
物联网发展要走出“碎片化”
Infinera扩展GX系列解决方案,可满足5G和云网络带来的无线带宽需求
德州仪器第一季净利润2.65亿美元同比下滑60%
艾德克斯闪耀光伏测试解决方案领域
三星4K Micro LED模块化电视将在9月开始量产,明年将推更薄版本
乱码电路第2部分:通用解决方案
锂电池不够小不够强的问题,借助3D打印来解决
爆炸阴影仍在 三星S8或取消这技术
一文看懂ir2110自举电容的选择
青创未来携手欧拉开源社区搭建一体化综合服务平台
后SATA时代的固态硬盘接口介绍:SAS、M.2、U.3
TCL全球首最薄直下式发Mini-LED笔电显示屏展示,拥有1000nit亮度
库卡被美的收购后由量向质转变
工信部闻库:全国已建成5G基站超过48万个
中航建设与甘肃水务成功签约5万个物联网水表订购合同
数字技术将会给触控屏带来什么新趋势
采用台积电7nm工艺 华为麒麟980进入试产前的验证期
让机器学会推理,怎么才能做到这一点呢?
如何使用M5Stamp PICO和Qubitro构建物联网门锁监控系统
三星首款游戏本评测 三星貌似留一手设计需要更大胆