张辰旭 张艳硕 张黎仙
北京电子科技学院,北京市 100070
不经意传输协议[1],是一种可保护双方隐私的通信协议,它在一个消息集合中以一种不经意的方式来“秘密”获取部分消息。
不经意传输协议保证了接收者在不知道发送者隐私的情况下获取秘密消息,同时保证了接收者自身的隐私不被发送者知道,因此不经意传输协议可以作为单独的协议应用到数字产品交易、电子选举方案等诸多信息交易中,还可以作为密码模块应用到众多安全多方计算当中。
不经意传输的概念最初由Rabin[2]在1981年提出,从此以后不经意传输协议逐渐成为了密码学的一个重要组成部分,随着学者研究的不断深入,诸多的不经意传输协议相继问世。 具体可分为以下4 类:1 选1 不经意传输协议[2-3]、2 选1 不经意传输协议[4]、n 选1 不经意传输协议[5]、n 选k 不经意传输协议[6-7]。
在Rabin 之后,Even[8]提出了一个2 选1 不经意传输协议,后来Brassard[5]将2 选1 不经意传输协议推广到了n 选1 不经意传输协议,即发送者发送n 条消息,接收者仅能获取其中的1 条消息,并且发送者不知道接收者选择的是哪条消息。 Naor 和Pinkas[9]基于Diffie-Hellman 假设提出了第一个n 选1 不经意传输协议,同时它也是一个可复用的n 选1 不经意传输协议。
在本文中,我们提出了权重型不经意传输协议的概念,并对经典的n 选1 不经意传输协议Naor 方案进行了研究分析,将接收者以固定概率接收发送者消息进行了改进,新的方案可以根据接收者的实际需求设置相应的权重进行获取。而这种形式也满足了我们在复杂网络环境中的多样化需求, 更好地适应目前复杂网络环境中不经意传输协议的信息传输需求。
不经意传输的概念由Rabin[2]在1981 年提出后,不经意传输协议逐渐成为了密码学的一个重要组成部分,随着学者研究的不断深入,诸多的不经意传输协议相继问世。 按照功能具体分为以下4 类经典不经意传输协议:1 选1 不经意传输协议[2-3]、2 选1 不经意传输协议[4]、n 选1不经意传输协议[5]、n 选k 不经意传输协议[6-7]。 具体介绍如下:
(1)1 选1 不经意传输协议:发送方将一条消息传送给接收方,接收方有1/2 的概率接收成功,而发送方不知道接收方是否接收成功;
(2)2 选1 不经意传输协议:信息的发送方持有的消息集合包含两个秘密信息,接收方可以且仅可以成功恢复其中一条秘密信息,同时发送方并不知道他成功恢复的是哪一条秘密消息;
(3)n 选1 不经意传输协议:信息的发送方持有的消息集合包含n 个秘密信息,而接收方在协议执行完毕后只能成功恢复其中一个秘密信息,同时发送方并不知道他成功恢复的是哪一条秘密消息;
(4)n 选k 不经意传输协议:信息的发送方持有的消息集合包含n 个秘密信息,而接收方在协议执行完毕后只能成功恢复其中k 个秘密信息,同时发送方并不知道他成功恢复的是哪k 条秘密消息。
对于一般性的不经意传输协议,要考虑三个性质:
(1)正确性:只要发送方和接收方均遵守协议,那么执行完协议后接收方可以得到他想要的信息;
(2)发送发的安全性:执行完协议后,接收方得不到除了他选择外的其他任何秘密消息;
(3)接收方的安全性:执行完协议后,发送方不会知道他的选择。
本节将重点介绍n 选1 不经意传输协议的发展历程和最新进展以及两个经典的n 选1 不经意传输协议方案。
我们首先介绍一般的n 选1 不经意传输协议。 Brassard[5]在2 选1 不经意传输协议的基础上推广到了n 选1 不经意传输协议,其具体概念为:发送方有n 个消息s1,s2,…,sn,接收方通过选择i∈{1,2…,n} 的值来获得消息si,但却不知道其他的秘密消息sj(j≠i),或者这些sj(j≠i) 的组合消息,同时发送方也不知道接收方具体的选择i,即获取的是哪一条消息。
在独立的n 选1 不经意传输协议被设计出来之前,要实现n 选1 不经意传输协议的功能就要通过多次执行2 选1 不经意传输协议来实现,因此这些不同形式的不经意传输协议之间是可以相互转化的,但是这样的协议构造往往会造成很高的通信代价,因此人们将研究n 选1 不经意传输协议的主要精力放在了直接设计独立的n选1 不经意传输协议。
Naor 和Pinkas[9]提出了第一个独立的n 选1 不经意传输协议,该协议是一个基于Diffie-Hellman 假设并且可复用的n 选1 不经意传输协议,大大减少了为实现n 选1 不经意传输功能而多次执行2 选1 不经意传输协议的通信代价;后来Tzeng[10]基于Diffie-Hellman 假设也提出了一个n 选1 的不经意传输协议,它没有初始化阶段, 但它的传输阶段效率还不如Naor 的协议;2006 年叶君曜[11]等人基于门限思想提出了一个可复用的n 选1 的不经意传输协议;2008 年,张京良[12]等人对Naor 方案进行了改进并应用到群签名当中;2015 年,Shin-Yan Chiou[13]等人提出了一种基于离散对数问题(DLP)的代理签名n 选1 的不经意传输方案,它结合了代理签名和不经意签名的优点,满足了两种签名的安全特性,由于该协议提供了收件人选择的模糊性,它非常适用于电子投票应用;2019 年,邱錫彦和陈俊名[14]两人首先提出了一种基于不经意传输的n 选1 不经意传输签名方案,不仅满足了完整性、不可伪造性、隐私性的安全要求,而且还满足了选择限制和非重复性的要求,使得这种方案非常适合于多选电子投票的应用,并在手机上实现了该方案,使用户能够安全、方便地进行投票;在一些车联网(VANET)技术的特征匹配中,用户的隐私泄露问题已经严重威胁到人身安全并造成了相当大的经济损失,2020 年WangXianmin[15]等人构建了一个高效的OT 协议,被采用来给出一个带有平等测试的PSI 协议,VANET 的两方可以获得他们的特征集的交集,而这种交集之外的任何信息都是不可用的。 因此,内部攻击者无法从双方的特征匹配中获得任何有用的信息,双方也无法获得对方的额外数据;2020 年3 月,Wahaballa Abubaker[16]等人提出了一个安全的n 选1 不经意传输协议,该协议具有隐藏的访问控制和基于确定性有限自动机(DFA)的功能加密的外包解密(HACOT-DFA),可以应用在车辆传感器中,传感器的数据被处理并以记录的形式存储在车载传感器数据库中,这些记录可以被其他车辆或路边单位访问和共享,目的是提高道路安全。 然而,这些记录可能包含非常敏感的信息,如车辆的识别码和位置,这些信息需要特别的保护,而该协议就确保了车辆用户的隐私和保密性;2020 年6 月,WangXiaotian[17]等人在ECDH 的假设下,设计了一种新型的n 选1 不经意传输协议。 该协议可以在恶意模式下安全实现,在n 个输入值中选择其中的1 个。 在此假设下定义了RAND 函数,并给出了安全定义,构建了发送方和接收方的安全交互模式。 最后分析了该协议的正确性,并给出了安全证明。 该协议具有常数级的交互复杂度,计算和通信复杂度只与n 线性有关;2020 年8 月,Nibedita Kundu[18]等人利用多变量公钥密码学(MPKC)的OT 协议的构造,提出了一个2 选1 的不经意传输协议,而我们可以进行n 次的复用以实现n 选1 不经意传输的功能,该方案的安全性是在多变量二次方(MQ)问题的硬度下实现的,该设计是第一个基于MPKC 的后量子OT 协议;2020 年9 月,Shanshan Zhang[19-20]利用格上不经意传输协议的特点,设计了一个使用决策性Diffie-Hellman 假设和混淆不可区分的基于LWE的n 选1 不经意传输协议,该协议主要的工具包括基于LWE 的双模式密码系统和安全的不可区分性混淆,保证了该n 选1 不经意传输协议的安全性;2021 年5 月,Saeid Esmaeilzade[21]等人采用了非对称同态加密的概念,使用了一些著名的同态加密方案(如RSA、Paillier 和NTRU)来实例化他们的结构,以获得具体的不经意传输协议,提出了一个通用的结构来建立简单而高效的n 选1 不经意传输协议,该协议的通用结构在通用可组合框架中是安全的;2021 年11 月,Wang Ping[22]等人在量子信道的帮助下,设计了一种新型的计算安全的量子n 选1 不经意传输(QOT)协议,其最低假设要求是:单向函数的存在。
独立的n 选1 不经意传输协议虽然在降低了通信代价的同时,实现了相应的通信功能,但这种功能是不完善的,因为它没有考虑到接收方的实际需求,因此我们给出了权重型n 选1 不经意传输协议的定义和性质,并在下一节提出了具体的设计方案,下面我们介绍几种经典的n 选1不经意传输协议。
本节对Naor[7]的n 选1 不经意传输协议进行描述,具体过程如下:
初始化:Alice 选择随机数C1,C2,…,CN-1和r,并计算(Ci)r和gr的值。Bob可以获得C1,C2,…,CN-1和gr的值。 其中1 ≤i≤N- 1,g为Zq的生成元。
传输阶段: Alice 的输入为 (M0,M1,…MN-1)。 Bob 的输入为σ∈{0,…N- 1} (他选择获取Mσ)。
(1)Bob 选择k∈Zq,并设置PKσ=gk。 如果σ≠0,将计算PK0=Cσ/PKσ,并向Alice 发送PK0, 并且已经可以计算解密密钥(gr)k=(PKσ)r;
(2 ) Alice 计 算 (PK0)r, (PKi)r=(Ci)r/(PK0)r,1 ≤i≤N- 1。 Alice 再选择随机字符串R,通过计算H((PKi)r,R,i) ⊕Mi来加密每个Mi, 并将这些加密数据、R发送给Bob;
(3) Bob 使 用H((PKσ)r,R,σ), 来 解 密Mσ。
正确性:主要依赖于方案中的随机预言机H(通常是一个哈希函数),只有在接受到完整的随机预言机H加密后的数据后,才可以对其进行计算解密。 对于本方案中的随机原语H加密结果H((PKi)r,R,i), 当且仅当Bob 知道正确的(PKσ)r、σ以及R才能计算正确结果获得想要的秘密信息。
安全性:在假设Diffie-Hellman 问题难解的情况下,该方案使用的随机预言机H在Diffie-Hellman 假设下可以证明其安全性。 由于Bob只能计算唯一的解密密钥(PKσ)r=(gr)k,因此也就无法获得除了自己选择的消息外的任意消息,这保证了Alice 的安全性与隐私性。
PK0信息理论上的分布是独立于C0,…,CN-1和σ的,与他们的值无关,仅与他选择的随机数k有关,而Alice 并不知道具体的随机数k的值。 因此Alice 无法依据PK0计算出相对应的Cσ值,也就无法得知Bob 想获得的秘密消息是哪一个了,这就保证了Bob 的安全性与隐私性。
不经意性:接收方发送给发送方的PK0参数仅与他选择的随机数k有关,而发送方并不知道具体的随机数k的值。 故接收方将PK0发送给发送方后,发送方无法依据PK0计算出相对应的Cσ值,也就无法得知σ,也就是接收方想获得的秘密消息是哪一个了。
本节对Tzeng[8]的n 选1 不经意传输协议进行描述,具体过程如下:
传输阶段:Alice 的输入为(M1,M2,…MN∈Gq)。 Bob 的输入为α∈{1,…N} (他选择获取Mσ)。
(1)Bob 计算y=grhα,r∈RZq,并将其发送给Alice;
(2) Alice 计算ci= (gki,Mi(y/hi)ki),ki∈RZq,1 ≤i≤N,并将其发送给Bob;
(3)设cα= (a,b),Bob 计算Mα=b/ar。
正确性:该方案基于DDH 假设,只要Alice和Bob 均遵守协议,那么执行完协议后Bob 可以得到他想要的信息。
安全性:因为DDH 假设是强于DL 假设的,因此Bob 不能计算两对不同的(r,α) 和(r′,α′)同时满足y=grhα=gr′hα′。 除非Bob 可以计算loggh= (r′-r)/(α-α′)mod q。 因此,Bob 不能得到除了他选择得到的秘密消息外的任何一个,这保证了发送方的安全性与隐私性。
Alice 无法通过y=grhα计算出σ的值,也就无法得知Bob 想获得的秘密消息是哪一个了,这保证了接收方的安全性与隐私性。
不经意性:在该方案中没有(g,h,Gq) 的初始化,而是Alice 将(g,h,Gq) 一同发送给Bob。当Bob 接收到这些系统参数后,他需要去检查一下是否q为素数、g≠1 和h≠1。 否则,如果Alice 选择了一个非素数q和非常小的g和h,他将会知道Bob 的选择σ。 当然,在Bob 检查没有问题的情况下,即使Alice 知道,Bob 的选择也是无条件安全的,Alice 也就无法知道Bob的选择了。
本节重点介绍权重型n 选1 不经意传输协议的定义、性质以及权重型n 选1 不经意传输协议方案。
n 选1 不经意传输协议同其他众多经典的不经意传输协议一样,作为通信协议可以通过不经意的方式,在保护双方隐私的情况下达成获取信息的目的,并且可以应用到数字产品交易、电子选举方案等诸多信息交易中,以及众多安全多方计算当中。 但目前为止的n 选1 不经意传输协议都是令接收者获取信息的概率为固定值,为了更好的拓展应用,我们提出了一个可以根据接收方实际需求设置相应权重的权重型n 选1 不经意传输协议。
权重型n 选1 不经意传输协议是一种在保护通信双方隐私的同时,可以让接收者以一定的权重成功从秘密消息中恢复自己想得到的消息的通信协议,但得不到任何其他的消息或者其他消息的组合形式,同时发送者也不知道接收者选择的是哪一个消息。
权重型不经意传输协议和概率型不经意传输协议[3][12]的区别在于:概率型的不经意传输协议的接收方成功获取发送方的各个消息概率之和为1,比如对于概率型2 选1 不经意传输协议来说,若接收方想以概率P获取秘密信息Mj,那么对于另一个秘密信息的获取概率为1-P;而权重型n 选1 不经意传输协议只能以1/m的权重获取所选择的消息, 而对于其他消息,由于缺少解密密钥()r, 故而无法成功解密,所有消息的获取概率之和仍为1/m。
结合一般的n 选1 不经意传输协议,权重型n 选1 不经意传输协议具有以下基本性质:
(1)协议的正确性:在协议完成后,如果发送方和接收方能够正确执行协议,那么接收方可以通过协议以一定的比重正确获得自己想要获得的秘密消息。
(2)发送方的隐私性:执行完协议后,即使是恶意的接收方不能够遵守协议内容,那么他也无法获得其余N- 1 个秘密消息。
(3)接收方的隐私性:执行完协议后,发送方无法以任何方式得知接收方恢复的是哪一条秘密消息。
权重型n 选1 不经意传输协议可以根据接收者的实际需求设置相应的权重进行获取,而这种形式的通信代价并不会因此而提高,相反还会优于许多一般的n 选1 不经意传输协议,因此它能够在保证自身通信代价的同时,满足了我们在复杂的网络环境中多样化的需求。
表1 符号说明
设q是一个大素数,所有的数据操作都在一个以g为生成元的循环群Zq上进行,符合Diffie-Hellman 假设,此外,还假设存在一个随机预言机H(通常是一个哈希函数)。 方案框架如图1。
图1 权重型n 选1 不经意传输协议框架
初始化:Alice 选择N- 1 个随机常量C1,C2,…,CN-1(满足公式PK0·PKi=Ci)。 他还选择了一个随机数r并计算gr。C1,…,CN-1和gr的值均被发送给Bob。 所有传输都将使用相同的值。 (Alice 可预计算1 ≤i≤N-1 每个(Ci)r的值)。
(1)Bob 选择m个随机数kj(j= 1,2,…,m),并设置相应的m个=gkj(j= 1,2,…,m)。 如果σ≠0, 他将计算m个=Cσ/(j= 1,2,…,m),并将这些值和m一同发送给Alice,并且已经可以计算解密密钥(gr)kj= ()r。
然后Alice 随机选择m- 1 种j∈{1,2,…,m} ,对其对应的(m- 1)×N种()r利用其自身的公钥pj一一进行加密。 没有被选择到的唯一一个j记为j*。 并对自身持有的i 个消息(0 ≤i≤N- 1) 进行j 次的复制(1 ≤j≤m),以形成的消息矩阵,以便后续的加密操作。Alice 选择随机字符串R。 然后,他通过计算H(()r,R,i,j) ⊕来加密每个,并将这些加密数据和R发送给Bob。
(3) Bob 使用H(()r,R,σ,j) 来解密。但由于其中的()r有(m-1)×N种都被公钥加密后的数据替代,也就是说当j取值到Alice 随机选择的m-1 种j∈{1,2,…,m} 中的任意一种都不能成功获取秘密消息。 只有当j取值为没有被Alice 选取到的唯一值j*时,才能成功获取秘密消息。 也就是权重为1/m。
图2 加密消息分布
该权重型n 选1 不经意传输协议方案与一般的n 选1 不经意传输协议相比,初始化阶段并没有改动,而是通过接收者设置的权重将之前单一的加密消息变成m×N的加密矩阵的形式,再通过发送方持有公钥对部分加密参数进行再加密,接收方通过新增加密参数j进而实现了以一定权重恢复选择的秘密消息的功能。
在本节重点介绍权重型n 选1 不经意传输协议的正确性分析、安全性分析以及对比分析。
对于权重型n 选1 不经意传输协议来说,其正确性主要依赖于方案中的随机预言机H(通常是一个哈希函数),只有在接受到完整的随机预言机H加密后的数据后,才可以对其进行计算解密。
定理1:对于H(()r,R,σ,j) 来说,当且仅当知道正确的()r、σ以及j才能计算正确结果。
证明:对于本方案中的随机原语H加密结果H(()r,R,σ,j),当且仅当接收者知道正确的()r、σ以及j*才能计算正确结果获得想要的秘密信息。 接收者在收到m×N个加密结果后,根据自己事先选择的消息序号σ,以及预先计算好的解密密钥()r= (gr)kj, 随机选择j∈{1,2,…,m},将计算结果H(()r,R,σ,j) 与该j相对应的加密结果进行模加,如果该j =j*,则可以成功以1/m的权重获取该秘密消息。
对于第三方来说,由于本方案中的随机原语H(通常是一个哈希函数)的存在,所以即使在传输过程当中有第三方成功截获了密文消息,那么也是难以恢复出秘密信息的。
发送方的安全性:在假设Diffie-Hellman 问题难解的情况下,该方案使用的随机预言机H在Diffie-Hellman 假设下可以证明其安全性。 由于接收方只能计算唯一的解密密钥()r=(gr)kj,从而无法得知其余的N- 1 个解密密钥,因此也就无法获得除了自己选择的消息外的任意消息,这保证了发送方的安全性与隐私性。
要注意的第一点是,如果接收方知道了一个以上的公共加密参数PK(例如PKi1和PKi2)的值(PKi1)r和 (PKi2)r, 那么就可以得出(PKi1)r/(PKi2)r=(Ci1/Ci2)r。 这反过来可以用来推导随机数C和随机数gr的Diffie-Hellman值:给定输入A=ga和B=gb(其中目标是计算gab),模拟器A 通过生成一个随机数ri和gr=gb的常量Ci=Ari来模拟A。 如果A 在i1和i2上成功,则(Ci1/Ci2)r=gabri1/gabri2, 将后者提高到1/(ri1-ri2) 次幂就可以得到gab。
由于我们在协议过程中使用了相同的C1,C2,…,CN-1和gr对Naor 方案进行了m次复用生成了加密矩阵,我们应该使用模拟器A′对控制了某些用户子集的对手的操作进行描述。 因此,随机预言机H的输入包含一个随机元素R,它确保协议的不同调用中的输入将不同。 与之前一样,目标是生成模拟器A 感兴趣的值(并在理想模型中获取它们)。 A′ 随机选择C1,C2,…,CL-1以及gr。 当模拟器A 发送第m个消息时,A′ 以(α0,α2,…,αN-1) 随机进行响应,用于加密Mi和随机字符串Rm。 每当A 在点(x,R′,σ,m) 上查询H时,A′都会检查对于某些m是否满足R′=Rm。 如果没有,则给出一个随机的答案,如果R′=Rm并且x=()r,则A′在理想模型中询问与σ对应的值,并得到Mσ。 然后,它必须适当地设置H(()r,Rm,σ,m)=ασ⊕。 模拟的A 看到的分布和真实的分布之间的唯一区别发生在:
(2)提前查询其中一个H(x,Rm,σ,m), 但对于每个查询,这种情况发生的可能性很低。
需要注意的第二点是,如果该协议使用普通的ElGamal 加密而不是随机的预言机,那么该协议将是不安全的:假设转移的形式为()r·,()r·。 然后,如果接收者事先知道其中一个传输的元素(例如,), 即使他知道另一个元素的私钥,他也可以从加密的消息中计算出相应的加密密钥()r。 因此,他可以计算()r和()r,将它们相乘并得到(Ci)r。此值使他能够在每次其他传输中解密这两个元素。
定理2:不经意性也指一种模糊化的方式,具体是指发送方在整个协议的执行过程中不会知道接收方具体选择的是哪一个秘密消息。
Naor[9]方案是一个基于Diffie-Hellman 假设的,并可复用的n 选1 不经意传输协议,也是第一个真正意义上的n 选1 不经意传输协议。 我们的方案就是基于Naor 方案进行设计的,理论上对Naor 方案进行了m次的复用并加以改进,但我们的初始化次数与传输阶段只执行一次,因此整个传输过程仅需进行两次信息的传递,而不是2m次,同时也避免了多次的初始化,增加计算量与通信负担,使其不较为刻板。
在Naor 提出他的n 选1 不经意传输协议之后,Tzeng[10]也提出了一个方案基于Diffie-Hellman 假设的n 选1 不经意传输协议,但他省去了初始化阶段,相反地导致他的传输阶段效率大大降低,比Naor 的还要低,同理在一定的条件下也要低于我们的权重型n 选1 不经意传输协议。
叶君曜等人[11]提出了可复用的基于门限思想的n 选1 不经意传输协议,同样仅仅进行一次初始化即可完成多次的复用,他的安全性来自于shamir 门限方案的安全性。 在方案的效率通用性上,我们对其的传输阶段轮数、是否初始化、安全性基础以及相应功能做了简单的对比,见表2。
表2 权重型方案与其他方案的对比
接下来我们将对我们的权重型n 选1 不经意传输协议、Naor 方案、Tzeng 方案以及叶君曜方案在协议的计算量与通信量上进行对比分析。表3 给出了初始化阶段的各方案在计算量和通信量上的对比、表4 给出了传输阶段的各方案在计算量和通信量上的对比。
表3 初始化阶段
表4 传输阶段
由此可见,我们的权重型n 选1 不经意传输协议初始化阶段的计算量和通信量并没有变化,并且小于叶君曜方案。
由此可见,传输阶段即使因为实现以可变化的权重获取信息的功能而增加了通信量,但是在一定的条件下,即素数q p的情况下,我们的协议在传输阶段的通信量是明显小于叶君曜和Tzeng 方案的,因此我们的协议效率也是明显要高于他们的。
在本节中,将用一个例子来解释权重型n 选1 不经意传输协议。
例:假设Alice 有9 个秘密消息(M0,M1,…,M8),Bob 想以1/3 的权重获得第7 个消息M6。
初始化:Alice 选择8 个随机常量C1,…,C8,随机数r,并计算gr,(Ci)r,1 ≤i≤8。 将C1,…,C8和gr发送给Bob;
传输阶段:
(1)Bob 选择3 个随机数k1,k2,k3, 并计算以及与之相对应的
图3 3 × 9 的加密参数矩阵
Alice 选择随机字符串R, 计算H(()r,R,i,j)⊕生成3× 9 的加密消息矩阵,将其和R发送给Bob;加密消息矩阵如图4。
图4 3 × 9 的加密消息矩阵
(3) Bobs 选择j= 2, 又已知()r=(gr)k2、R、i= 6,因为j=j*。 因此成功以1/3的权重解密第7 个消息M6。
通过举例,我们可以总结出:本协议通过灵活的变形成功实现了以一定权重成功获取秘密消息的功能,以此我们可以推广应用到现实生活的多个场景,如不经意的网上订购,消费者可能不愿意暴露其购买的某些商品( 如某些药品) ;线上线下购物平台中,商家设置奖品抽奖环节,可以根据奖品等级高低固定相应权重的数值,等级越高权重越低,等级越低权重越高,同时为了保护中奖顾客的隐私,该协议可保证商家无法得知几号顾客中了几号奖品。
本节是对前文权重型n 选1 不经意传输协议的设计实现,介绍了基于权重型n 选1 不经意传输协议的编程实现,主要包括开发工具、运行环境介绍和权重型n 选1 不经意传输协议的功能实现。
本协议的实现采用IntelliJ IDEA Community Edition 2020.3.1 x64 作为技术平台与开发工具。
本程序在jdk1.8.0_131 版本、Windows 环境下运行。
本小节主要介绍权重型n 选1 不经意传输协议实现的各功能模块和相关的功能测试。
8.2.1 测试功能模块
我们Alice 的消息合集和Bob 的选择以及权重等参数的设置均是在次模块进行。 如图5所示,我们的消息合集为{2018,2019,2020,2021,2022},也就是n=5,Bob 的选择σ=5,权重的设置为1/m= 1/2,选择j= 2。
图5 测试功能的参数设置
8.2.2 发送方功能模块
我们通过for 循环生成了随机常量C1,C2,…,CN-1和gr,如图6 所示。
图6 初始化随机常量的生成
如图7 所示,该部分完成了发送方的系列加密。 具体加密细节请见4.4 中传输阶段的第2步。 最终发送方通过计算H(()r,R,i,j) ⊕来加密每个。
图7 发送方进行加密
8.2.3 接收方功能模块
如图8 所示,该部分完成了接收方m个随机数kj(j=1,2,…,m)和相应的m个=gkj(j= 1,2,…,m)的设置。 具体细节请见章节4.4中传输阶段的第1 步。
图8 接收方对 = gkj 的准备
如图9 所示,该部分完成了接收方计算解密 密钥(gr)kj= ()r。
图9 接收方计算解密密钥(gr)kj = ()r
如图10 所示,该部分通过对H(()r,R,σ,j) 的计算完成了对秘密消息的解密。 具体细节请见章节4.4 中传输阶段的第3 步。
图10 接收方对自己的选择进行解密
Alice 持有消息集 {2018,2019,2020,2021},共有4 个秘密消息,也就是n= 4。
Bob 的选择σ= 2,也就是他的选择是m2={2019}。
接下来Bob 设置权重为1/m= 1/3,同时选择j= 1。
根据协议等价于Bob 通过计算H(()r,R,2,1) ⊕来进行解密。 解密结果如图11 所示,成功以1/3 的权重恢复该秘密消息。
图11 Bob 成功恢复秘密信息
此时Bob 设置同样权重为1/m= 1/3,但选择j= 2。
根据协议等价于Bob 通过计算H(()r,R,2,2) ⊕来进行解密。 解密结果如图12 所示,未通过1/3 的权重成功恢复该秘密消息。
图12 Bob 未成功恢复秘密信息
Alice 持有消息集{2018,2019,2020,2021,2022},共有5 个秘密消息,也就是n= 5。
Bob 的选择σ= 5,也就是他的选择是m5={2022}。
接下来Bob 设置权重为1/m= 1/2,同时选择j= 1。
根据协议等价于Bob通过计算H((r,R,5,1) ⊕来进行解密。 解密结果如图13 所示,成功以1/2 的权重恢复该秘密消息。
图13 Bob 成功恢复秘密信息
此时Bob 设置同样权重为1/m= 1/2,但选择j= 2。
根据协议等价于Bob 通过计算H(()r,R,5,2) ⊕来进行解密。 解密结果如图14 所示,未通过1/2 的权重成功恢复该秘密消息。
图14 Bob 未成功恢复秘密信息
通过对已有的不经意传输协议概念的研究,提出了权重型的不经意传输协议,使接收方可以选择一定的权重获得自己需要的秘密消息,并对Naor 的n 选1 不经意传输协议进行研究,给出了具体的权重型n 选1 不经意传输协议设计方案及分析,包括正确性、安全性、不经意性分析和对比分析,满足了我们在复杂的网络中根据实际需要灵活变化和调整, 更好地适应目前复杂网络环境中不经意传输协议的信息传输需求。 最后,我们还进行了权重型n 选1 不经意传输方案的编程实现和相关测试,证明了权重型n 选1 不经意传输在未来应用方面的可能性。