Random Oracle (随机预言机)
表结构
重要的安全性特征
如果x未曾记录在表里,则RO相当于一个完全随机的函数
1、RO自己都不知道x会被映射到哪个值 2、任何询问RO的人,即使拿到了除了x之外所有的RO的输出,也无法确定x会被映射到哪个值
x是什么值的概率
一个未曾记录在表里的新元素x映射到目标集合里特定元素E的概率 即把任意长度的01字符串映射到一个256位的01字符串上的Hash 即映射到k位的01字符串上
Yao’s Garbled Circuits Protocol(姚氏混淆电路)
混淆电路就是通过加密和扰乱这些电路的值来掩盖信息的 加密和扰乱是以门为单位的 每个门都有一张真值表
与门的真值表
整体思路
Step 1: Alice 生成混淆电路 Step 2: Alice 和 Bob 进行通信 Step 3: Bob evaluate 生成的混淆电路 Step 4: 分享结果
Step 1: Alice 生成混淆电路
第一步
Alice 对电路中的每一线路(Wire)进行标注
模块输入输出 Wa0,Wb0,Wc0,Wc1 模块中间结果 Wd,We,Wf 对于每条线路Wi Alice生成长度为k的字符串
这2个字符串分别对应逻辑上的0和1 这些生成的标注会在Step2 有选择的发送给Bob 但Bob并不知道这两个字符串对应的逻辑值
第二步
Alice对电路中的每一个逻辑门的Truth Table用
进行替换 由
替换成0