一个基于RSA盲签名的高效公平电子交换协议
几种数字签名方案简介

几种数字签名方案简介1、RSA数字签名方案RSA是最早公钥密码算法之一,由Ron Rivest、Adi Shamir和Leonard Adleman于1978年发明。
RSA数字签名方案基于大数分解难题,其安全性与RSA问题紧密相关。
在RSA数字签名方案中,发送方使用私钥对消息进行签名,接收方使用公钥验证签名。
2、DSA数字签名方案DSA数字签名算法由美国国家标准与技术研究院(NIST)提出,并被采纳为联邦数据处理标准(FIPS)。
DSA数字签名方案基于离散对数难题,其安全性主要依赖于有限域上的离散对数问题。
DSA算法相较于RSA 算法,具有签名长度短、速度快以及抗量子攻击等优点。
3、ECDSA数字签名方案ECDSA是椭圆曲线数字签名算法,其基于椭圆曲线密码学,是在有限域上的椭圆曲线离散对数问题的基础上构建的。
ECDSA数字签名方案相较于RSA和DSA算法,具有更高的安全性和更低的计算开销。
因为椭圆曲线密码学具有较高的安全性和较低的计算复杂性,所以ECDSA 被广泛应用于比特币等加密货币中。
4、EdDSA数字签名方案EdDSA数字签名算法是对标DSA的抗量子攻击算法,由欧洲电信标准化协会(ETSI)提出。
EdDSA使用的是Schnorr签名算法的一种变体,具有较高的安全性和抗量子攻击能力。
此外,EdDSA算法还具有速度快、签名长度短等优点。
以上几种数字签名方案都是目前广泛应用的算法,每种方案都有其特定的应用场景和优缺点。
在实际应用中,我们需要根据具体需求选择合适的数字签名算法以保证信息的安全性和完整性。
随着互联网的快速发展,数字签名方案在信息安全领域变得越来越重要。
数字签名方案用于验证信息的完整性、真实性和不可抵赖性,广泛应用于电子政务、电子商务和网络安全等领域。
无证书数字签名方案作为一种新兴的数字签名技术,因无需证书颁发机构颁发证书,具有降低成本、提高效率等优点,逐渐受到广泛。
本文将对几种无证书数字签名方案进行介绍,并对其安全性进行分析及改进。
隐私集合求交算法的对比分析

第31卷第2期北京电子科技学院学报2023年6月Vol.31No.2JournalofBeijingElectronicScienceandTechnologyInstituteJun.2023隐私集合求交算法的对比分析∗田文亮㊀王志强㊀张艳硕北京电子科技学院,北京市㊀100070摘㊀要:隐私集合求交(PrivateSetIntersection,PSI)属于隐私计算领域的特定应用问题,包括秘密共享㊁同态加密㊁不经意传输㊁混淆电路和Hash技术等基础知识,其兼具重要的理论意义与极强的现实应用价值㊂随着用户数据的隐私保护需求的日益提升,PSI可以在满足依赖个人信息的业务的便利性的同时最大程度保护个人信息私密性需求㊂本文首先介绍了隐私集合求交的研究现状,其次按照底层密码技术对PSI进行分类并对比分析了它们的复杂度,对其优缺点进行对比分析,同时对比分析了基于不同密码技术的PSI的使用场景,最后指出其发展方向并得出结论㊂关键词:隐私集合求交;秘密共享;同态加密;不经意传输;混淆电路;Hash技术中图分类号:TP312㊀㊀㊀文献标识码:A文章编号:1672-464X(2023)2-98-112∗㊀基金项目:2022年基本科研业务费优硕培养项目 HTTP协议的流量拟态技术研究 (项目编号:328202280); 信息安全 国家级一流本科专业建设点和2020年教育部新工科项目 新工科背景下数学课程群的教学改革与实践∗∗㊀作者简介:田文亮(1996-),男,研究生在读,计算机技术专业㊂E⁃mail:1070274287@qq.com王志强(1985-),男,副教授,博士,硕导㊂E⁃mail:wangzq@besti.edu.cn张艳硕(1979-),男,通信作者,副教授,博士,硕导,从事密码理论及其应用研究㊂E⁃mail:zhang_yanshuo@163.com1㊀引言㊀㊀隐私数据保护最早源于安全多方计算(securemultipartycomputation,MPC),由姚期智[1]借百万富翁问题提出,指各计算参与方无法得到除计算结果外的任何其他信息,解决互不信任的数据持有者如何对隐私数据进行计算的问题㊂隐私集合交集是安全多方计算中的热点问题,允许在分布式场景下各自持有隐私集合的参与方联合计算出集合交集而不泄露除交集以外的任何隐私信息㊂在隐私保护的场景中,PSI协议具有重要意义,如新冠接触者追踪[2]㊁隐私通讯录查找[3]㊁在线广告实际效果计算[4]㊁基因序列匹配检测[5]等㊂传统的PSI协议针对2个参与方设计,Meadows[6]基于公钥加密和利用Diffie⁃Hellman密钥交换的乘法同态性质提出了第1个PSI协议㊂随后,由Huberman等人[7]对Meadows[6]的方案做出了完整描述㊂2004年由Freedman等人[8]借助不经意多项式求值和同态加密构造了第1个安全PSI协议㊂2017年申立艳等人[9]对安全多方计算框架下的PSI协议进行了简要总结㊂之后涌现了大量PSI的研究成果,一大批新技术手段和构造框架被提出㊂除了传统的安全多方计算理论中的混淆电路(garbledcircuit,GC)㊁不经意传输(oblivioustransfer,OT)㊁秘密共享(secretsharing,SS)㊁同态加密(homo⁃第31卷隐私集合求交算法的对比分析㊀morphicencryption,HE)等技术外,不经意伪随机函数(obliviouspseudo⁃randomfunction,OPRF)㊁经意多项式求值(obliviouspolynomialevaluation,OPE)㊁布隆过滤器(Bloomfilter,BF)等集合元素比较技术的应用,使得PSI的效率得到了很大的提高㊂现有PSI已经非常高效,但现有很多实际应用中仍然以使用高效但存在安全隐患的解决方案为主,了解现有基于不同密码原语构建的PSI及其特定适用场景,对促进实际场景中使用安全的方案替换存在隐患的方案有很大帮助㊂在敌手模型方面,研究人员从诚实且好奇的安全模型出发,开始考虑在恶意模型下安全的PSI协议㊂随着研究人员对隐私集合交集协议的深入研究,除了传统两方PSI协议之外,已衍生出了云辅助PSI㊁阈值PSI(thresholdPSI,TPSI)㊁不平衡PSI(unbalancedPSI,UPSI)和多方PSI新型应用场景㊂本文全面的介绍了PSI研究现状,对基于不同底层密码技术的PSI算法进行了较为详尽的描述,对不同的PSI协议原理进行对比分析,同时对PSI协议的复杂度以及PSI协议的优缺点进行了对比分析,得出了基于不经意传输的PSI协议目前具有更高效率的结果㊂最后针对当前存在的问题,指出PSI协议的发展方向以及结论㊂2㊀隐私集合求交的研究现状㊀㊀隐私集合求交(PSI)协议有很多分类方法,按照底层依赖的密码技术分类主要包括:基于公钥密码的PSI方案,包括:基于密钥交换(DH:Diffie⁃Hellman)的PSI方案和RSA盲签名的PSI方案;基于不经意传输的PSI方案;基于通用MPC的PSI方案,例如基于混淆电路的PSI方案;基于同态加密的PSI方案;基于以上密码技术同时对多方PSI进行描述㊂2 1㊀基于公钥密码的PSI方案1986年,Meadows[6]提出了基于Diffie⁃Hellman问题的PSI协议,该协议类似于Diffie⁃Hellman密钥协商协议㊂双方以各自的输入集合中的元素作为Diffie⁃Hellman密钥协商中选择出的 随机数 角色,将集合元素映射到随机 会话密钥 空间,接收方在 会话密钥 空间中进行匹配,并获取到最终的交集元素;可以看出,该方案需要双方执行多次的模指数运算(这种代价很高的计算),因此所得的PSI方案效率并不高㊂与基于杂凑函数的算法类似,同样可以在签名空间进行比对㊂例如基于盲签名,发起方盲化本方输入的每个元素,向响应方的请求盲签名,获得结果并去盲后得到响应方私钥的签名㊂同时,响应方签名本方的每个元素,并将结果发送给发起方;发起方比对双方的签名结果,获得交集结果㊂DeCristofaro与Tsudik[17]在2010年提出了基于RSA盲签名的PSI协议㊂在该协议中,响应方随机产生RSA密钥;发起方对本方的每一个输入元素进行随机盲化,将结果发送给响应方;响应方使用RSA私钥对盲化结果进行签名并发送给发起方,同时将本方的输入元素用本方私钥进行签名,将结果发送给发起方;发起方对盲化的签名进行去盲,与响应方的签名进行比对,得出交集结果㊂基于公钥体制的方案除了转换匹配空间之外,将参与方输入的集合元素看作是多项式的根,多项式可以与输入集合建立映射关系,对于多项式的某些操作可以转换为集合的某些操作㊂2022年AranhaDF[35]提出了一种新的两方简洁PSI协议,该协议从理论和实践两个方面都以最小化发送方的开销为目标㊂该协议在概念上非常简单,这使得在实践中实现它不易出错:在协议执行期间,只发送两条消息,一条消息从接收方发送到发送方,另一条消息返回㊂接收者的消息的大小是单个组元素(独立于接收者的㊃99㊃北京电子科技学院学报2023年输入集合的大小),而发送者的消息大小与发送者的输入集合大小成线性关系㊂发送方的计算复杂度与接收方输入集的大小无关㊂该协议为了证明新假设的合理性,证明了它在一般群体模型中是成立的㊂还讨论了在主动攻击存在的情况下保证隐私的简单对策,并提出了一个协议,该协议提供了完全基于模拟的安全性来对抗主动攻击㊂2 2㊀基于不经意多项式计算的PSI方案不经意多项式计算的PSI协议主要是将参与方集合元素表示为多项式的根,利用多项式的数学性质来计算交集,并采用同态加密算法加密交互过程中的信息来保证协议的隐私㊂最早由Freedman等人在2004年提出的PSI协议[8]就是不经意多项式计算的PSI协议㊂其协议的主要过程为:客户端生成同态加密密钥对(pk,sk)并发送公钥给服务器端,将输入集X={x1,x2, ,xv}表示为多项式P的根P(z)=(x1-z)(x2-z) (xv-z)=ðvu=0auzu,利用插值法求得多项式系数{a1,a, ,av},将多项式系数用Paillier[13]或EIGamal[15]同态加密算法加密发送给服务器端;服务器端输入集合为Y={y1,y2, ,yw}对集合中的每一个元素y,利用同态加密性质计算Enc(r.P(y)+y),并将计算的密文混淆发送给客户端;客户端解密所有的密文,依次判断解密的结果是否和输入集合X中的某一元素x相等,相等则说明x属于集合交集㊂该协议中,多项式的次数过高,会导致同态加密运算中指数的计算代价太大㊂因此作者又采用Hash函数将集合中元素映射到B个桶中,每个桶最多M个元素,在客户端生成M个低次多项式,服务器端采用同样的Hash函数将元素进行映射,客户端将相对应的桶里的元素和多项式进行集合交集判断;为了减小M的值,作者采用了负载均衡Hash[21]方法㊂2014年Freedman等人进一步在文献[8]的基础上改进PSI协议[31],客户端和服务器端分别采用不同的Hash函数将集合元素进行映射来减少协议的计算复杂度,并将随机Hash㊁负载均衡Hash㊁布谷鸟散列[22]进行实验对比,其中应用负载均衡Hash㊁布谷鸟散列进行集合元素计算的复杂度较低㊂以上协议被证明在标准模型下对半诚实敌手是安全的㊂2 3㊀基于不经意传输的PSI方案不经意传输是密码协议体系中的一个基础协议,由Rabin于1981年提出[23]㊂与最原始的概念相比,在更标准化的定义中,发送方拥有若干个输入,接收方输入一个索引下标,该索引下标表示接收方想要得到的结果,在协议过程中这一指标并不会泄露给发送方㊂最基础的OT协议是2选1OT㊂基于OT的PSI协议需要使用的OT运行实例的数量与PSI双方输入的集合大小有关系,因此OT协议成为大集合PSI方案的主要瓶颈㊂OT扩展协议的出现[13],使得大集合PSI方案的落地成为现实㊂所谓OT扩展协议是指,OT协议在并行数量方面的扩展㊂具体来说,是用少量的OT协议实例来构造较为大数量的OT协议实例㊂文献[14-16]给出了OT扩展的相关理论结果与实现改进㊂2013年,Dong等人在文献[24]中第一次将布隆过滤器引入到PSI中,并与OT扩展结合,使得PSI协议能处理的集合数量首次突破了亿级别㊂此后,对于布隆过滤器的改进也成为优化PSI协议的一个重要方向㊂通过改进布隆过滤器,Rindal和Rosulek给出了第一个恶意模型下的PSI协议[25],这一方案也在200s时间内完成了两方百万数据量的安全求交㊂2016年,在文献[26]中,Kolesnikov等人使用OT扩展来实现不经意伪随机函数,并且将此概念运用到PSI中,这也成为后续基于不经意传输的PSI协议的主要方向㊂以上所有PSI协议的实现几乎都是在两个参与方的场景㊂对于多个参与方的场景,文献[27]中Kolesnikov等人引入㊃001㊃第31卷隐私集合求交算法的对比分析㊀了不经意的可编程伪随机函数的概念(Program⁃mableObliviousPseudorandomFunctions,OP⁃PRF),并且基于插值多项式㊁布隆过滤器等技术实现OPPRF㊂OPPRF要求只对发送者编程进去的集合元素,接收者才可以进行不经意地函数取值,未编程进去的元素,接收者返回随机值㊂各个参与方之间顺次循环扮演发送方和接收方角色,最终完成交集的结果㊂2022年,李顺[48]提出了一种基于并行化OPPRF的隐私集合交集协议㊂2022年,魏立斐等人[49]提出了基一种于云服务器的公平多方隐私集合交集协议,该协议基于该不经意伪随机函数构建了半可信云服务器辅助的隐私集合交集计算协议,将主要计算量外包给云服务器,允许半可信的云服务器参与相等性测试,又不泄露参与方任何集合信息㊂2 4㊀基于同态加密的PSI方案PSI根据参与者的数量可分为两方和多方,下面均以两方为例㊂假设参与PSI的两方为发送方S(Sender)和接受方R(Receiver),分别持有数据集X和Y㊂根据两方数据集大小的不同,分为平衡场景和非平衡场景㊂在平衡场景下,双方样本数量相差不大,适用于双方客群有较多重叠的场景,如集团子部门之间的安全求交场景;在非平衡场景下,双方样本数量相差非常大,如营销场景中筛选本机构种子用户与外部数据方海量用户群中的共有用户群,实现目标客群筛选㊂在平衡场景中,PSI的实现方式目前较为成熟的有基于RSA㊁基于Diffie⁃Hellman(DH)和基于不经意传输等㊂综合安全性㊁效率和通信量考虑,基于OT以及OTExtension[41]系列的对齐方案被广泛使用㊂在非平衡场景中,可在基于OT的PSI方案基础上,将同态加密技术结合特定的优化方法,实现高效的PSI㊂下面介绍两种高效的基于同态加密的非平衡PSI方案㊂2017年,Chen等[46]在CCS2017中将同态加密应用到非平衡PSI中,综合使用了Cuckoohash㊁Partition㊁Window和ModulusSwitch技术㊂实验表明,在数据量为NX=5000,NY=1600万时,Chen在CCS2017[28]中提出的方案的通信量为12 5MB,求交时间为36s㊂2018年,Chen等[46]改进了CCS2017方案,提出了一个能抵抗恶意攻击的非平衡PSI方案(CCS2018[29])㊂与CCS2017[28]方案相比,该方案支持更高位(512位和1024位)的Item(CCS2017方案支持32位),改进了SIMD编码,在不增加加密参数的前提下,提升了效率和安全性㊂该方案较CCS2017方案在性能上做出很大改进,在数据量为NX=224和NY=5535时,CCS2017方案需要20MB的通信量和40s的在线计算时间,CCS2018通信量为16MB,在线计算时间为22s(单线程),运行时间几乎缩短2倍和通信量节约27%㊂此外,当接受方R的数据集更小时,CCS2018方案的同态加密的参数会更小,能进行更少的密文计算,当接受方R的数据量为512或1024时,该方案运行时间分别只需9 1s和17 7s,以及8 2MB的通信量,较CCS2017方案快2 4倍,发送的数据量降低一半,同时支持任意长度的Item㊂2 5㊀其他根据底层密码学技术对传统多方PSI进行梳理,主要分为基于公钥的多方PSI和基于OT的多方PSI,由于混淆电路在预计算阶段构造复杂,且内存占用较高,并没有基于混淆电路的传统多方PSI协议的研究,但又鉴于混淆电路可以方便地计算任何功能函数的特性,其更适用于构造门限等特殊场景下的多方PSI协议㊂基于公钥的多方PSI方案主要采用同态加密技术㊂第1个基于同态加密技术的多方PSI协议方案由Freedman等人[8]提出,首先使用加法同态加密实现的OPE技术,将集合元素表示为多项式的根从而代替集合进行运算,实现了在半诚实敌手模型下的两方PSI,其次提出了针对恶意的客户端㊁恶意的服务端㊁恶意的两方以及多方的情况下的PSI协议的构造思路㊂在半诚㊃101㊃北京电子科技学院学报2023年实敌手模型中,Kissner等人[19]在2005年对加法同态加密的私钥进行秘密共享,协议的计算复杂度和通信复杂度是集合大小和参与方数目的2次方㊂2017年,Hazay等人[44]使用星型通信模型将多方PSI协议的通信轮数从O(n)降低为O(1),且加解密的操作数与参与方集合大小呈线性关系㊂其中,星型通信结构是最直观的多方通信结构,多个参与方与同一个中心参与方进行交互,此结构对中心参与方的带宽和计算能力要求较高㊂基于OT协议的多方PSI协议主要分为两种,一是使用OT协议构造OPRF㊁OPPRF㊁多点OPRF等一系列协议,而后基于OPRF系列协议构造多方PSI协议;二是多方直接使用OT协议进行数据传输㊂基于OPRF的多方PSI协议中最经典的同时也是首篇将多方PSI进行代码实现的协议为Kolesnikov等人[42]在2017年提出的方案㊂该文献首次提出了使用OPRF构造OPPRF的概念,旨在使用发送方的输入来对OPRF的密钥进行编程,其与单点OPRF的区别在于OPPRF中密钥与发送方的私有集合元素相关㊂在直接使用OT协议作为数据传输协议方面,2018年,Inbar等人[45]在半诚实敌手模型和增强的半诚实敌手模型中分别提出了两种多方PSI协议,是对Dong等人[24]两方PSI协议的扩展㊂Inbar等人的协议[45]与Kolesnikov等人的协议[42]相比的优势在于随着参与方数目的增多,协议消耗时间增长缓慢,与参与方数目呈次线性关系;而Kolesnikov等人的协议[42]的最后一个步骤中需要多次计算和比较,计算开销较大㊂由于混淆电路具有计算任何功能函数的特性,可以方便地设计多功能的安全计算协议,因此基于混淆电路的门限多方PSI也是研究方向之一㊂2021年,Chandran等人[46]提出了半诚实敌手模型下的多方PSI协议,并设计了两种变体协议,门限多方PSI便在其研究范围中㊂协议主要分两部分,首先选择一个特定参与方与其他所有参与方两两交互进行元素相等性判断,此后所有参与方交互通过电路计算结果㊂近年来涌现了很多基于云辅助器的PSI协议[49-52],由于在日常生活中数据量庞大,因此借助云辅助器的方案可能是我们以后研究的重点㊂本文对以上基于不同密码技术的PSI协议现状进行了总结,不仅对每一种PSI协议的历史发展进行描述,而且说明其特点及基本使用场景㊂3㊀PSI算法原理的对比分析㊀㊀PSI算法既可以有两方参与,又可以有多方参与,以下分别对两方㊁多方以及不经意伪随机函数等PSI原理进行对比分析㊂3 1㊀两方PSI基本原理算法参与方包括Server和Client,假设sever和client输入元素个数分别为ks和kc,server方输入元素记为yi,iɪ[1,ks],client方输入元素记为xi,iɪ[1,kc];2)基于公钥加密技术的加法同态加密算法Enc(x)㊁Dec(c)满足Enc(m1+m2)=Enc(m1)+Enc(m2)(km)=k(m)1)client方针对全部输入元素利用插值法构造如下多项式P(y)=ðkci=1(y-xi),显然该多项式的最高次数为kc,用系数表示为P(y)=ðkci=0(aiyi)㊂然后将全部系数进行加密后发送给server;2)server针对每一个yi进行如下计算:选择随机数ri计算Ci=Enc(riP(yi)+yi,并将Ci发送给client;3)client进行如下验证:对Ci进行解密得到mi=riP(yi)+yi㊂如果yi和某个xi相等,则riP(yi)为0,解密结果mi必定等于该xi,即为PSI结果之一,如果yi不等于任一xi,则解密结果mi是一个随机数㊂3 2㊀多方PSI基本原理在2方PSI算法基础上可以扩展到多方㊃201㊃第31卷隐私集合求交算法的对比分析㊀PSI㊂具体原理如下:1)假定n+1个参与方,记为Ll,lɪ[1,n+1],第Ln+1为leader;2)对前面n个参与方Ll,lɪ[1,n],生成各自的同态加密算法公私钥公钥pkl和私钥skl,公开公钥pkl;3)对前面n个参与方Ll,lɪ[1,n],针对已方全部元素xli生成自己的多项式Pl(y),并将多项式参数进行加密(使用公钥pkl)后发送给leader;4)Leader针对己方每个元素yi进行如下操作:生成n个随机数slj,lɪ[1,n],确保 ni=1slj=yj,然后针对n个参与方Ll的每一方计算密文Clj=Enc(rljP(yj)+yj),然后将全部Clj发送给Ll;5)对前面n个参与方LL,lɪ[1,n],解密Clj得到mlj,并将已方解密出来的mlj全部公开:6)对前面n个参与方Ll,针对收到的全部mlj进行计算yj= nl=1mlj,如果yj等于已方的某个元素xlj相等则表明该元素是多方交集元素㊂3 3㊀基于不经意伪随机函数的PSIPSI算法参与方包括server和client,假设sever和client输入元素个数都为n㊂OPRFPSI算法的基本思想是利用PRG函数对双方明文元素进行加密,然后server方和client方对加密后元素进行逐一比对找出共同交集元素,PRG函数设置加密密钥时通过OT协议交互使得该密钥能够确保相同交集元素的密文相同且不泄露明文元素的信息㊂OPRFPSI算法相对其他PSI算法的优势是计算量和通信量都比较小,而且对于client方来说安全性很高,能够确保server方无论是半诚实还是恶意模型下的client方安全性,这样通过OPRFPSI算法构建隐查询PIR时能够保证查询方的绝对安全性㊂(1)基本原理1)OPRF函数记为OPRFk(x)=H(q [F(x)㊃s]),㊃表示位与操作,⊕表示位异或操作,F(x)表示x作为种子的随机数生成器,H表示Hash摘要函数(具有randomoracle特性)㊂q,sɪ{0,1}λ,λ表示安全参数;2)client对己方输入元素x:先采样随机字符串r0ѳƔ{0,1}n,计算r1=r0 F(x);3)server端先采样随机字符串sѳƔ{0,1}n;4)client和server运行λ次OT协议:client发送方输入r0[i]和r1[i],server端输入选择比特s[i]㊂server通过λ次OT协议获取到的λ比特随机字符串q=rs[1][1] rs[2][2]... rs[λ][λ];5)server端设置OPRFkeyk=(q,s),对己方输入元素y计算OPRF值OPRFk(y)=H(q [F(y)㊃s]),并将改值发送给client;6)client检验:当OPRFk(y)=H(r0)时表明y=x㊂(2)OPRF算法协议公共函数及参数约定如下:λ表示计算安全参数,统计安全参数σ,协议参数m,w,l1,l2,Hash函数H1:{0,1}∗ң{0,1}l1和H2:{0,1}wң{0,1}l2,伪随机函数F:{0,1}Aˑ{0,1}lң[m]w;具体协议过程如下:1)阶段1:预处理server端采样随机字符串sѳƔ{0,1}w;client端执行:初始化个mˑω二进制矩阵D为全1,Dj表示D第j列,D1=D2= =Ds=1m;采样随机字符串kѳƔ{0,1}λ作为PRF函数F密钥;对于client端的每个元素y:计算v=Fk(H1(y)),vɪ[m]w,对矩阵D的每一列设置Di[v[i]]=0,iɪ[w]㊂2)阶段2ʒ0T传输㊃301㊃北京电子科技学院学报2023年client端随机产生一个mˑω二进制矩阵Aѳ${0,1}mˑw,计算B=A⊕D;client和server运行w次OT协议,client作为发送方,server作为接收方,每次OT,client输入消息{Ai,Bi},iɪ[w],server输入si进行选择㊂OT协议结束后server获得w㊀个m比特字符串,然后作为ω列得到一个mˑω二进制矩阵C㊂3)阶段3:OPRF值验证client端将PRF函数F密钥发送给server;server端针对每个元素xi:计算vj=Fk(H1(yj)),计算OPRF值Vi=H2(C1[vi[1]]) Cw[vi[w]);server将所有:发送给clientclient端针对己方每个元素yi:计算vj=Fk(H1(yj)),计算OPF值中,㊀ϕj=H2(A1[vj[1]] Aw[vi[w]]),然后逐个比较中ϕj和ψi,当且仅当ϕj=ψi时,㊀yj=xi㊂3 4㊀不经意的可编程伪随机函数的PSIPRF函数F跟OPRF中的定义一致㊂OPPRF协议的参与方包括Sender(记为S)和Receiver(记为R)两方㊂协议运行过程如下:1)约定安全参数Κ,公开参数PRF函数F:2)S方输入{(x1,y1),(x2,y2) (xn,yn)},xi不相等,协议生成F加密密钥k和公共参数hint;3)R方进行公q次查询,每次查询输入x,协议返回y=F(x,k,hint)㊂S方的输入可以理解为一些点坐标,协议对S方输入进行加密计算得到公共参数hint,PRF函数F加密密钥k㊂R方的输入为x,协议返回一个随机值y,当x与S方某个输入x相等时,R方获得输出即为y=yi㊂协议的安全性要求S方无法获知R方输入的查询信息,R方无法获知查询输出是否匹配到了S方的某个输入㊂也就是说R方每次查询中无论输入值是否匹配到S方的某个输入xi,输出y相对R方都是一个随机均匀分布㊂OPPRF基于多项式的实现:假设S方输入{(x1,y1),(x2,y2) (xn,yn)},令yᶄi=yi F(k,xi),S方通过对{(x1,yᶄ1),(x2,yᶄ2) (xn,yᶄn)}进行拉格朗日插值得到多项式如下:P(x)=ðni=1yᶄi(ᵑ1ɤjɤnjʂix-xjxi-xj)记上述多项式系数为hint,记R方查询输入为q,则查询输出为:F(q,k,hint)=F(k,q) P(q)正确性验证:当R查询输入q=x时,查询输出为yiF(k,xi) P(xi)=F(k,xi) yᶄi=F(k,xi) yi F(k,xi)=yi当输入q不等于任一xi时,查询输出是随机均匀分布的㊂因为yi随机均匀分布,因此P(x)系数也是随机均匀分布的㊂3 5㊀MultiPSI算法原理:算法关键是利用秘密分享技术,通过2次OPPRF找出共同元素㊂1)第一次OPPRF:step1中各参与方对本方的每个元素和其他各参与方生成多份秘密分享值si,jk,然后step2中各参与方运行OPPRF,此时如果有相同元素进行查询则会获取到对方相同元素的某一份秘密分享值㊂如果是不相同元素的查询则是获得一个随机值;2)第二次OPPRF:step3中各参与方通过本方所有秘密分享值计算一个映射Si(xik),然后step4中P1作为协议中leader(负责最终交集元素的输出),和各参与方运行第二次OPPRF.每个参与方的Si(xik)值包含了单个元素在各个参与方对应的秘密分享值㊂Step5中P1对各个参与方S(x)进行XOR计算,此时如果是该元素在㊃401㊃第31卷隐私集合求交算法的对比分析㊀各个参与方都有,则 iɪ[n]yik包含了所有参与方关于xik元素的全部秘密分享值,因此 iɪ[n]yik=0意味着元素xik在各个参与方输入中都存在㊂4㊀PSI算法复杂度的对比分析㊀㊀不同PSI协议的计算复杂度和通信复杂度在表2中有所示㊂表1为符号说明,表2中的计算复杂度是通过非对称或是对称密码原语的使用次数衡量的,通信复杂度是通过在信道上传输的比特数衡量的㊂这里的假设是每完成一次OT协议花费3次对称密码操作(对于使用布隆过滤器的花费2 5次对称密码操作)㊂计算姚氏电路中的与门使用4次对称密码操作,计算GMW电路中的与门使用6次对称加密操作㊂在同一类别中的PSI方案大多数拥有类似的复杂度㊂朴素哈希方法与服务器辅助的方法需要对每一个元素执行一次对称加密操作(哈希),基于公钥的协议需要对每一个元素执行两次公钥操作,并且需要发送两个密文和一个哈希值㊂基于电路的方法的计算复杂度与电路中与门的数量成正比,在基于布隆过滤器的协议中,计算复杂度与布隆过滤器的大小成正比㊂在基于OT的协议中,基于布隆过滤器的协议[24],通信复杂度是与安全参数κ的平方成正比的,但是在[34]中的协议,通信复杂度是与κ呈线性关系㊂表1㊀符号说明符号说明S服务端或是发送端R客户端或是接收端X,Y发送端和接收端的集合NX,NY发送端和接收端集合的大小m哈希表的大小v消息编码的长度σ集合元素的长度κ,λ计算意义的安全参数和统计意义的安全参数ρ,ϕ非对称安全参数与椭圆曲线的规模表2㊀不同PSI协议复杂度比较分类协议计算复杂度(对称或非对称密码原语的次数)通信复杂度(比特)基于公钥体系的基于有限域DH的[6]2tpktρ+NXv基于椭圆曲线上DH的[6]2tpktϕ+NXv基于RSA的[30]2tpktρ+NXv基于电路的姚氏电路使用SCS12mσlogm+3mσsym6mΚσlogm+3mσGMW使用SCS18mσlogmsym6m(Κ+2)σlogm姚氏电路使用PWCσ(4 NYmaxb+4sNX+3 NY)sym2 NYΚmaxbσ+3sNXΚσ+2 NYσGMW使用PWC6σ( NYmaxb+sNX)sym2(Κ+2)σ( NYmaxb+sNX)姚氏电路使用OPRF21760NY+3σNYsym10880NYΚ+2NYΚσ+NXvGMW使用OPRF32640NYsym10880NY(Κ+2)+NXvCiampi等人的方案M(4σlogm+3σ)symm(2σ+1)mΚ基于OT协议的使用布隆过滤器[24]3 6mΚsym1 44mΚ(Κ+λ)使用哈希表[20]3 NY+(k+s)NXsym512 NY+(k+s)NXv使用哈希表[26](s+3)m+( m+s)sym4( m+s)k+(s+3)mv使用哈希表[31]∗-6Κn+βnlogm基于FHE的[46]--1 5CσNYlog2Nx㊀㊀注:其中sym和pk分别表示对称与非对称操作的统计,t=NX+NY,m=max(NX,NY),βʈλ+2logn-1, ,k,s,maxb是哈希函数用到的参数,v是在OT扩展协议中,使用的哈希函数的输出长度,C是一个常数,表示[26]的同态操作产生的密文扩展㊂标有∗的是在恶意模型下安全的协议㊂5㊀PSI性能的对比分析㊀㊀基于公钥密码的PSI方案中,一些协议公钥加解密操作的次数与集合大小成线性关系㊂因此虽然通信复杂度是最小的,但是计算开销远不及后面叙述的基于不经意传输扩展协议的PSI㊂使用公钥加密体系的PSI有另一个优点,就是在双方集合大小相差很大的情况下,花销很大的公钥加密操作可以集中在一方进行㊂结合这种方案通信复杂度低的优点,Chen等人在文献[28]㊁㊃501㊃。
RSA加密算法原理及RES签名算法简介

RSA加密算法原理及RES签名算法简介第⼀部分:RSA原理与加密解密⼀、RSA加密过程简述A和B进⾏加密通信时,B⾸先要⽣成⼀对密钥。
⼀个是公钥,给A,B⾃⼰持有私钥。
A使⽤B的公钥加密要加密发送的内容,然后B在通过⾃⼰的私钥解密内容。
⼆、RSA加密算法基础整个RSA加密算法的安全性基于⼤数不能分解质因数。
三、数学原理(⼀) 互质关系:两个数a和b没有除1外的其他公约数,则a与b互质1. 任意两个质数构成互质关系2. 两个数中,如果⼤数为质数,则两数必定互质3. 1和任意整数互质4. 当p>1时,p与p-1互质(相邻两数互质)5. 当p=2n+1(n>0且n为整数)时,p与p+2互质(相连的两个奇数互质)(⼆) 求欧拉函数:定义:与正整数n互质且⼩于正整数n的正整数的个数。
通常使⽤ψ(n)表⽰。
求取与正整数n互质的正整数的个数ψ(n),且ψ(n)满⾜ψ(n)∈(2,n)1. 如果n=1,则ψ(n)=12. 如果n是质数,则ψ(n)=n-13. 如果n是质数p的次⽅,则:ψ(p^k)=p^k-p^(k-1) = p^k*(1-1/p)4. 若p1和p2互质,n=p1*p2,则ψ(n)= ψ(p1*p2)= ψ(p1) ψ(p2)5. 任意⼀个⼤于1的正整数都可以写成⼀系列质数的积6. 根据定理5,推导欧拉定理:因为n = (p1^k1)* (p2^k2)*……(pr^kr) (p1~pr都是质数)所以ψ(n)= ψ((p1^k1)) ψ(p2^k2) ……ψ(pr^kr) 定理4ψ(n)= (p1^k1)*(1-1/p1) * (p2^k2)(1-1/p2)……(pr^kr)*(1-1/pr) 定理3ψ(n)= (p1^k1)* (p2^k2)*……(pr^kr) * (1-1/p1) (1-1/p2)…… (1-1/pr)ψ(n)=n (1-1/p1) (1-1/p2)…… (1-1/pr)(三) 欧拉定理:正整数a与n互质,则下式恒成⽴a^ψ(n) ≡1(mod n)即:a的ψ(n)次幂除以n,余数恒为1(四) 模反元素如果两个正整数a和n互质,则必定存在整数b使得a*b-1被n除余数为1ab ≡1(mod n)其中b被称为a的模反元素四、RSA算法详解:假设A和B要通信(⼀) ⽣成密钥1. 公钥1) 随机⽣成两个不相等的质数p和q(质数越⼤越安全)2) 计算n,n=p*q 则n的⼆进制位数就是密钥的长度。
rsa 签名和验签的原理

rsa 签名和验签的原理RSA签名和验签的原理基于RSA算法的数学特性。
1. RSA签名原理:(1)假设Alice想要对一条消息进行签名,她首先选择一对RSA公钥和私钥。
公钥包括两个参数:RSA模数n和公钥指数e;私钥包括两个参数:RSA模数n和私钥指数d。
公钥(n,e)会公开给其他人,而私钥(n,d)会保密。
(2)Alice使用私钥(n,d)对消息进行加密,得到签名s。
加密过程为s = m^d mod n,其中m是消息的表示,^表示乘方,mod表示取模运算。
(3)Alice将消息m和签名s一起发送给Bob。
(4)Bob使用Alice的公钥(n,e)对签名s进行解密,得到消息m'。
解密过程为m' = s^e mod n。
(5)Bob计算收到的消息m'的表示,与实际收到的消息m进行比较。
如果相等,则说明签名是有效的,否则签名是无效的。
2. RSA验签原理:(1)Alice生成一对RSA公钥和私钥,公钥(n,e)公开给Bob,私钥(n,d)保密。
(2)Bob收到Alice发送的消息m和签名s。
(3)Bob使用公钥(n,e)对签名s进行解密,得到消息m'。
解密过程为m' = s^e mod n。
(4)Bob计算收到的消息m'的表示,与实际收到的消息m进行比较。
如果相等,则说明签名是有效的,否则签名是无效的。
通过RSA的数学特性,只有私钥的持有者才能对消息进行加密,从而生成唯一有效的签名。
而公钥的持有者只能使用公钥进行验证签名的有效性,无法生成有效的签名。
这样就能确保签名的有效性和身份认证。
密钥交换(密钥协商)算法及其原理

密钥交换(密钥协商)算法及其原理密钥交换(密钥协商)算法是指双方在不安全的通信信道中协商出一个共享密钥的过程。
这个共享密钥被用于加密和解密通信中的数据,以确保通信的机密性和完整性。
在密码学中,有许多经典的密钥交换算法,如Diffie-Hellman密钥交换算法、RSA算法和ECC算法等。
Diffie-Hellman是一种最早的密钥交换算法,它利用了离散对数的难题。
该算法的原理如下:1.首先,双方共享一个公开的素数p和一个基数g。
这些参数可以在双方事先约定好,也可以通过其他安全的通信方式传递。
这些参数可以在不同的会话中重复使用。
2.然后,每个参与者选择一个私密的数值作为私钥。
这个私钥只有自己知道。
3.接下来,参与者通过计算公式计算出一个公钥,并将其发送给对方。
公钥的计算公式为:公钥=g的私钥次方对p取模。
4.接收方也进行相同的操作,计算出自己的公钥。
5.双方互相交换公钥信息。
6.然后,双方使用对方的公钥和自己的私钥进行计算,得到一个相同的共享密钥。
计算公式为:共享密钥=公钥的私钥次方对p取模。
7.最后,双方得到的共享密钥可以用于对后续的通信进行加密和解密。
RSA算法是一种公钥密码体制,也可以用于密钥交换。
其原理如下:1.首先,每个参与者生成一对密钥,即一个公钥和一个私钥。
私钥只有自己知道,公钥可以公开。
2.接着,参与者将自己的公钥发送给对方。
3.对方使用收到的公钥对数据进行加密,并将加密后的数据发送给发送方。
4.发送方使用自己的私钥对收到的数据进行解密。
5.最后,双方可以使用解密后的数据进行通信。
ECC(椭圆曲线密码学)算法是基于椭圆曲线离散对数问题的一种密钥协商算法。
其原理如下:1.首先,双方事先约定一个椭圆曲线和一个基点,这些参数可以公开。
2.每个参与者选择一个私密的数值作为私钥。
这个私钥只有自己知道。
3.接下来,每个参与者使用私钥和基点进行一系列的点乘运算,得到一个公钥。
4.然后,双方互相交换公钥信息。
一个新的基于RSA的广播多重盲签名方案

密信 道发 送给 用户 , 主要 分为 如下几 个 阶段 :
收 稿 日期 :0 2 0 — 0 2 1 - 2 1
基 金 项 目 : 江 省 教 育 厅 科 研 项 目 ( 0 0 6 9 ) 浙 江 省 自 然 科 学 基 金 项 目 ( 10 8 ) 浙 Y2 1 1 4 7 ; Y6 17 2 ;杭 州 市 高 校 重 点 实 验 室 科 技 创 新 项 目
现 实生 活 中 , 往往 需要参 与 的各方对 某 一重要 的文 件进 行 签 字或 表 决 , 比如 合 同的签 订 、 司文 件 的 公
发布 等. 申到 数字签 名领 域 , 就是 要求 多个签 名 者对 同一个 消息 进行签 名认 证 , 引 也 即多重 数字 签名. 9 3 1 8
年 , o d首 次提 出 了多重数 字签 名 的概 念 , By 此后 , 大量 的基 于不 同数学 难题 和密码 体 制 的多 重 数字 签名 方
案口 ] 运而 生. 应 目前 , 多重数 字签 名经过 发展 和交 叉 , 生 了许多分 支 , 产 比如顺 序 多重数 字签 名 、 播 多重 广
数字 签名 、 理 多重签 名 、 代 多重盲 签名 等等 . 广播 多重 数字 签 名是 指签 名 发起 人 将 消息 发 送 给每 一个 签 名
者 , 名者 的签 名不分 先后 顺序 , 签 但要 求有 一个签 名 收集者 , 名者签 名后 将签 名发送 到签 名收 集者 , 签 由收
集者 来进行 整理 , 产生 对 消息 的签名 .
20 0 3年 , 张键 红等 提 出 了一 个基 于 RS 的多 重数 字 签 名方 案 , 文 着重 分 析 了这个 方案 , 出其 A 本 指 中的安全漏 洞 , 提 出新 的改进 方案 . 并 新方 案通过 加人 对 消息 签 名 收集 者 和签 名者 的分别 认 证 , 以抵 御 可 假 冒攻击 , 并能 有效地 鉴别 出不 诚实 的签 名者 , 而 提高安 全性 . 从
现代密码学 学习心得

混合离散对数及安全认证摘要:近二十年来,电子认证成为一个重要的研究领域。
其第一个应用就是对数字文档进行数字签名,其后Chaum希望利用银行认证和用户的匿名性这一性质产生电子货币,于是他提出盲签名的概念。
对于所有的这些问题以及其他的在线认证,零知识证明理论成为一个非常强有力的工具。
虽然其具有很高的安全性,却导致高负荷运算。
最近发现信息不可分辨性是一个可以兼顾安全和效率的性质。
本文研究混合系数的离散对数问题,也即信息不可识别性。
我们提供一种新的认证,这种认证比因式分解有更好的安全性,而且从证明者角度看来有更高的效率。
我们也降低了对Schnorr方案变形的实际安全参数的Girault的证明的花销。
最后,基于信息不可识别性,我们得到一个安全性与因式分解相同的盲签名。
1.概述在密码学中,可证明为安全的方案是一直以来都在追求的一个重要目标。
然而,效率一直就是一个难以实现的属性。
即使在现在对于认证已经进行了广泛的研究,还是很少有方案能兼顾效率和安全性。
其原因就是零知识协议的广泛应用。
身份识别:关于识别方案的第一篇理论性的论文就是关于零知识的,零知识理论使得不用泄漏关于消息的任何信息,就可以证明自己知道这个消息。
然而这样一种能够抵抗主动攻击的属性,通常需要许多次迭代来得到较高的安全性,从而使得协议或者在计算方面,或者在通信量方面或者在两个方面效率都十分低下。
最近,poupard和stern提出了一个比较高效的方案,其安全性等价于离散对数问题。
然而,其约减的代价太高,使得其不适用于现实中的问题。
几年以前,fiege和shamir就定义了比零知识更弱的属性,即“信息隐藏”和“信息不可分辨”属性,它们对于安全的识别协议来说已经够用了。
说它们比零知识更弱是指它们可能会泄漏秘密消息的某些信息,但是还不足以找到消息。
具体一点来说,对于“信息隐藏”属性,如果一个攻击者能够通过一个一次主动攻击发现秘密消息,她不是通过与证明者的交互来发现它的。
rsa密钥交换算法

rsa密钥交换算法RSA密钥交换算法RSA(Rivest-Shamir-Adleman)密钥交换算法是一种非对称加密算法,可用于在不安全的网络环境中进行安全的数据传输。
该算法是由Ron Rivest、Adi Shamir和Leonard Adleman于1977年共同提出的,是目前应用最广泛的公钥加密算法之一。
RSA算法的基本原理是利用大素数的因子分解问题的困难性来保证数据传输的安全性。
在RSA算法中,每个参与者(通常是客户端和服务器)都拥有一对密钥,分别为公钥和私钥。
公钥可以公开给其他参与者,而私钥则必须严格保密。
公钥用于加密数据,私钥用于解密数据。
RSA密钥交换算法的过程如下:1. 生成密钥对:首先,参与者需要生成一对密钥,这对密钥是通过选择两个大素数p和q,并计算出相应的公钥和私钥得到的。
其中,p和q是保密的,而公钥和私钥可以公开和保密。
2. 加密数据:发送方使用接收方的公钥对数据进行加密。
具体而言,发送方将明文数据转换为一个数值,并使用接收方的公钥对该数值进行幂模运算,得到密文数据。
这样,即使敌方截获了密文数据,也无法解密得到原始数据。
3. 解密数据:接收方使用自己的私钥对密文数据进行解密。
具体而言,接收方使用私钥对密文数据进行幂模运算,得到原始数据的数值表示。
然后,接收方将该数值转换为原始数据。
4. 完成数据传输:接收方成功解密密文数据后,即可获得原始数据。
这样,通过RSA密钥交换算法,参与者可以在不安全的网络环境中安全地进行数据传输。
RSA算法的安全性基于两个数的大数分解问题的困难性。
即使在现代计算机中,对于大素数的因子分解问题也是非常耗时的。
因此,通过选择足够大的素数,RSA算法可以提供足够强的安全性。
然而,RSA算法也存在一些安全性问题。
首先,如果生成密钥对的过程中选择的素数不够随机或不够大,可能会导致密钥的安全性降低。
其次,如果私钥泄露,攻击者可以使用私钥对密文数据进行解密,从而获取原始数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘 要: 由于电子商务的广泛使用和普及, 使得互不信任的两方或多方要依赖 I n t e r n e t 传递信息. 公平 交换协议作为电子商务的关键密码技术, 至关重要. 通过对现有的公平交换协议进行研究与分类, 发现部 在R S A盲签名的基础上, 提出了一种安全、 高效、 可实际操作的 分现有的公平交换协议需要第三方介入. 无可信第三方参与的公平电子交换协议, 为构造公平电子支付协议及公平电子合同签署协议提供了有效 的密码工具. 关键词: 电子商务; 公平交换协议; R S A盲签名 中图分类号: T P 3 0 9 文献标识码: A 文章编号: 1 0 0 8- 4 6 8 1 ( 2 0 1 5 ) 0 5- 0 0 4 0- 0 2 由于计算机网络的普及使用, 越来越多的电子商务、 电 n t e r n e t 进行. 而参与信息交换的双方或多方未 子政务依赖 I 曾谋面, 信任度非常低. 仅靠 I n t e r n e t 网络连接起来, 互换信 息. 设计安全、 高效的电子交换协议也就变得越来越重要. 公平电子交换协议在很多文献中都有记载. 这些协议可 1 ) 使用可信第三方的方案, 此类方案明显存在 划分为两类: (
p k d k p ( mm o d n ) m o d n=h m o d n p k d p k d 右边 =S I G ( E ( m ) ) =( m m o d n ) =( h )m o d n= p k p k d h m o d n
以后的协议不断减少第三方的参与使 为计算和执行的瓶颈. ( 2 ) 参与的双方直接进行数 用离线或半可信第三方的协议.
7 - 9 ] 字签名信息的交换 [ . 而用 R S A体制设计的方案很少, 且 1 0 ] 效率不高 [ . 为了保护用户的隐私, 本文采用 R S A盲签名体
所以, 上式成立.
2 协议
协议所用符号: A , B分别表示参与交换的发起方和接收 方 d-A , e -A表示签名私钥和公钥 私钥 s k-A , p k-A表示 A的加密过程中公钥 / 同理 d-B , e -B表示 B的签名私钥、公钥 私钥 s k-B , p k-B表示 A的加密过程中公钥 / t : 提交信息的最后期限 : 随机数分别为 B l , k , A随机选取的随机秘密数. 拥有的待签名的消息, m , m A A 分别参与方 A与 B 协议设计过程如下:
基金项目: 春晖计划(批准号: 教外司留[ 2 0 1 4 ] 1 3 1 0号) 资助项目; 青海省科技创新能力促进计划项目( 批准号: 2 0 1 5- Z J - 7 2 4 ) . 王云( 1 9 6 7 —) , 女, 陕西西安人, 青海大学基础部副教授, 硕士. 研究方向: 密码学与信息安全. 作者简介:
总第 1 2 7期
王 云, 芦殿军: 一个基于 R S A盲签名的高效公平电子交换协议
4 1
计算, , 同时对 M S I G ( m )=( S I G ( M) / k ) m o d n B A B 1签名并加 密, 随后将 E ( 否则, A什么也不 ( S I G ( M ) ) ,发送给 B p k - B A 1 . B做相似的验证去消盲因子得 S 做, 协议结束) I G ( m )= A B . ( S I G ( M ) / l ) m o d n A 1 结论: 该协议是公平的. 验证不正确则结束该 证明: 若 A收到 E ( S I G ( M) ), p k - A B 协议的执行, 此时 A 、 B什么也没有得到, 公平性得以保证. 若 A发送的 E 则 B终止协议的执行, ( S I G ( M ) )不正确. p k - B A 1 仍然什么也得不 此时 A有的只是盲化后的消息 M 的签名, 到. 如果双方都是诚实的, 则 A与 B分别得到各自所要的签 名, 公平性仍然成立.
e 计算 t=m , 然后将 t 发送给 B . m , k m o d n d e d d ( 2 ) B对 t 签名, S=t m o d n=( m k )m o d n=m k m o d n , [ 9 ]
E A→ B , ( S I G ( M ) ) , t p k - B A 1 协议的执行: A首先将待签消息 m B收到 A 盲化得到 M ,
然后 B将 S 发送给 A . ( 3 ) A计算 s=S / k m o d n=m m o d n . ( 4 ) A验证 s≡ m 若等式成立, 则记录 m o d n是否成立. ( s , m ) . 否则, 数据有假或不正确.
收稿日期: 2 0 1 5- 0 5- 1 公钥加密得 E ( S I G ( M) ) , p k - A B A收到这两个数据后, 先用自己的私钥 并盲化 m B 得到 M 1, 得到 S 若正确, 验证 S s k I G ( M), I G ( M)是否正确. A 解密, B B
第2 9卷 第 5期 2015年 0 9月
长 沙 大 学 学 报 J O U R N A LO FC H A N G S H AU N I V E R S I T Y
V o l . 2 9 N o . 5 S e p . 2015
一个基于 R S A盲签名的高效公平电子交换协议
王 云1, 芦殿军2
e - B M =k A→ B , m , t A e - A E B→ A , ( S I G ( M) ) , M p k - A B 1 =l m B
取消第三方的参与, 即参与信息交换的双方互相交换签 制. 该方案的提出为构造公平电子支付协议及公平电子 名信息. 合同签署协议提供了有效的密码工具.
1 - 6 ] 不足 [ . 因为第三方的加入使得运行的负担比较重且易成 d
加密 方 案: 加密方案中的公/ 私钥分别为 s k , p k满 足 对消息 m利用上述签名和加密后, s k k m o d ( ( n ) ), p ≡1 φ 有定理 E ( S I G ( m ) ) =S I G ( E ( m ) ) . p k p k 证 明:设 m = l ,左 边 为 E n+h ( S I G ( m ) ) = p k
1 知识准备
盲签名: 为了使签字者不知道所签消息的内容. 这种方 案由 c h a u m 首先提出. 设p 是两个足够大的强素数, , q n= 签名方案如下: 设签名者 B的公钥为 e , 密钥为 d 且e d p q ≡ 1 m o d ( n ). φ ( 1 ) 若 A要对消息 m进行盲签名, 可随机选取 1 k