关于秘密共享方案在应用Pi演算中的实现
- 格式:pdf
- 大小:433.86 KB
- 文档页数:5
秘密共享体制的发展和应用Shamir的(k,n)门限秘密共享方案——密码学概论课作业1310648 许子豪摘要:近年来,由于网络环境自身的问题,网络环境己存在严峻的安全隐患;为了避免由于网络中重要信息和秘密数据的丢失、毁灭以及被不法分子利用或恶意篡改,而无法恢复原始信息,研究者提出利用秘密共享机制对数据进行处理,从而达到保密通信中,不会因为数据的丢失、毁灭或篡改,而无法恢复原始信息的目的。
从而吸引了越来越多的科研人员对该研究内容的关注。
秘密共享体制己经成为现代密码学的一个重要的研究领域,同时,它也成为信息安全中的重要的研究内容。
关键字:信息安全;秘密共享;秘钥管理。
一、秘密共享体制研究背景及意义随着计算机和网络通信的广泛应用,人们的生活越来越依赖电子通信,使用电子方式来存储重要档案的做法也越来越普遍,随之而来产生的对各种不同档案如何管理也成了很大的问题。
秘密共享思想的最初动机是解决密钥管理的安全问题。
大多情况下,一个主密钥控制多个重要文件或多个其他密钥,一旦主密钥丢失、损坏或失窃,就可能造成多个重要文件或其他密钥不可用或被窃取。
为了解决这个问题,一种方法是创建该密钥的多个备份并将这些备份分发给不同的人或保存在不同的多个地方。
但是这种方法并不理想,原因在于创建的备份数目越多,密钥泄漏的可能就越大但如果同时创建的备份越少,密钥全部丢失的可能也就越大。
秘密共享可解决上述问题,它在不增加风险的同时提高密钥管理的可靠性。
在秘密共享方案中,将需共享的秘密分成若干秘密份额也称子密钥、碎片,并安全地分发给若干参与者掌管,同时规定哪些参与者合作可以恢复该秘密,哪些参与者合作不能得到关于该秘密的任何信息。
利用秘密共享方案保管密钥具有如下优点:(1)为密钥合理地创建了备份,克服了以往保存副本的数量越大,安全性泄露的危险越大,保存副本越小,则副本丢失的风险越大的缺点。
(2)有利于防止权力过分集中以导致被滥用的问题。
(3)攻击者必须获取足够多的子密钥才能恢复出所共享的密钥,保证了密钥的安全性和完整性。
Shamir秘密共享⽅案(Python)Shamir’s Secret Sharing scheme is an important cryptographic algorithm that allows private information— “secrets” — to be distributedsecurely amongst an untrusted network.Shamir’s method for secret sharing relies on polynomial interpolation, which is an algebraic method of estimating unknown values in a gapbetween two known data points — without needing to know anything about what is on either side of those points.SSS encodes a “secret” into a polynomial, then splits it into pieces and distributes it It’s possible to use polynomial interpolation to efficientlyreconstruct that secret without requiring every single share. Instead only the threshold is needed, which provides enough points of data tocorrectly estimate the values between gaps in the encrypted shares.Shamir秘密共享⽅案,叫做Shamir Secret Sharing, SSS。
一个改进的防欺诈多组秘密共享方案随着互联网的发展和普及,网络安全问题也逐渐引起人们的关注。
在金融、电子商务和社交网络等领域,欺诈行为成为了一个严重的问题。
为了防止这些欺诈行为的发生,许多机构都在不断改进他们的防欺诈方案。
其中一个改进的防欺诈方案就是多组秘密共享方案。
本文将深入探讨这一方案的实现原理、优势和应用前景。
一、方案实现原理多组秘密共享方案是一种基于密码学技术的方案,通过将一个秘密信息分割成多个部分,并分发给不同的实体或设备,只有当这些部分全部被收集齐后才能还原出原始的秘密信息。
这种方案主要由两个部分组成,即秘密分割算法和秘密重构算法。
秘密分割算法的主要任务是将原始的秘密信息分割成多个部分,并生成一定数量的分割密钥。
这个过程通常采用多项式插值的方法来实现,具体来说就是通过选择一个随机的多项式,并在不同点上求出多个对应的值。
然后将这些值作为分割后的秘密信息的部分,而多项式本身的系数则作为分割密钥。
二、方案的优势多组秘密共享方案相比传统的秘密共享方案具有如下优势:1. 安全性高:多组秘密共享方案采用了密码学技术,密钥的分割和重构都是基于数学算法的,因此保密性更高,难以被攻破。
2. 可靠性强:由于秘密信息被分割成多个部分,并且需要达到一定数量的部分才能进行重构,因此即使部分秘密信息泄露,也不会导致整个秘密信息的泄露。
3. 灵活性大:多组秘密共享方案可以根据实际需求调整分割部分的数量和所需的部分数,适用性更广。
4. 容错性强:即使一些分割部分丢失或损坏,也能通过其他的分割部分和分割密钥进行秘密信息的重构,具有更好的容错性。
5. 可扩展性强:多组秘密共享方案可以扩展到多个秘密信息的共享,满足不同场景的需要。
三、方案的应用前景多组秘密共享方案具有广泛的应用前景,主要包括以下几个方面:1. 金融领域:在银行、证券等金融机构中,多组秘密共享方案可以用于保护客户的隐私信息和交易安全,防止账户被盗用和欺诈行为的发生。
一个新的可验证多秘密共享方案张佳;刘焕平【摘要】提出了一个新的多秘密共享方案,该方案设计思想为简洁清晰,同时又保留了文献[9]的一些优点,所以在实际情况中可被广泛应用.【期刊名称】《哈尔滨师范大学自然科学学报》【年(卷),期】2010(026)003【总页数】3页(P34-36)【关键词】(t,n)门限方案;多秘密共享;安全信道;可验证性【作者】张佳;刘焕平【作者单位】哈尔滨师范;哈尔滨师范【正文语种】中文1979年,shamir[1]和 Blakley[2]首先提出了秘密共享这一概念.前者[1]是建立在拉格朗日差值公式基础上的方案,而后者[2]是基于多维空间点的性质而提出的.对于n 个参与者共享一个秘密S,只有参与者人数≥t时才能恢复秘密S,而参与者人数≤t-1时则不能恢复该秘密.要想再共享一个秘密,则要求秘密的分发者重新分发秘密分额给每一个参与者,在实际应用中这样做往往会带来很多的工作量,以及高的费用.于是便提出了多秘密共享方案[3~6].在多秘密共享方案中,秘密分发者只需分发一次秘密份额给参与者,就可同时恢复多个秘密.在实际情况中,有时秘密分发者或参与者不一定都是诚实的,于是就要求秘密共享方案具有可验证性.在 1995年,Harn[6]就提出可验证的多秘密共享方案.但在此方案中,为了验证秘密份额的正确,要求参与者核对 n!/((nt)!t!)个方程,并且共享秘密要被事先固定,这在实际应用中是很难满足的.2004年,C.-C. Yang,TYChang,M.S.Hwang[8]提出了一个简单有效的多秘密共享方案—YCH方案,但该方案不能检测欺骗者.2007年,J-J.Zhao,J.-J.Zhang ,R.Zhao[9]在文[8]的基础上,利用三次传输协议[10],给出了一个可验证多秘密共享方案—ZZZ方案,该方案克服了 YCH方案的不足,并且每个参与者的影子可自行选取,避免了使用安全信道.在该文中,笔者对文献[9]的方案做了一些修改,给出了一个新的秘密共享方案,该方案在设计思想上更为简洁清晰,除了计算量需要较大的开销外,该方案保留了文献[9]其他优点.2.1 三次传送协议Alice想通过一个公共信道发送一个密钥 K给BOb.首先,Alice选取一个能表示 K 的充分大的素数p,并将其公布.从而Bob(或其他任何人)都能下载它,Bob下载了p.现在Alice和Bob要完成下列动作.(1)Alice选取一个满足 god(a,p-1)=1的随机数a,Bob选取一个满足 gcd(b,p-1)=1的随机数b,记a和b模p-1的逆分别为a-1和b-1.(2)Alice发送K1≡Ka(modp)给 Bob.(3)Bob发送K2≡(modp)给 Alice.(4)Alice发送K3≡(modp)给 Bob.(5)Bob计算K≡(modp).在协议的最后,Alice和Bob都拥有密钥 K.2.2ZZZ方案回顾2.2.1 参数假设设参与者集合M={M1,M2,…,Mn}.分发者D.用P1,P2,…,Pk表示共享的k个秘密.D随机选取两个大素数p和q,计算N=pq,满足:攻击者在知道N的情况下要得出p和q是计算上不可行的. D在[N1/2,N]中随机选取一个整数g,并使得(g,p)=1,(g,q)=1.D在[2,N]中随机选取一个整数s0,使得(s0,q-1)=1,(s0,p-1)=1,并计算R0=gs0modN,以及计算最小正整数f,使得s0×f=1modφ(N),其中φ(N)是欧拉函数[9].然后保密s0,公开N,g,R0,f.2.2.2 秘密分发(1)Mi随机选取n个整数s1,s2,…,sn⊂ [2, N],作为自己的秘密份额,计算Ri=以及Ii=,i=1,2,…,n.并公开Ri.同时Mi将Ri和自己的身份信息IDi发给D.D要保证:当Mi≠Mj时,Ri≠Rj.一旦相等,D将要求Mi重新选取si.并公开{(IDi,Ri)}.(2)k≤t时,选择一个素数Q,并构造一个t-1的多项式h(x)modQ,即h(x)=P1+P2x+…+ Pkxk-1+a1xk++…+,其中0<P1,P2,…,Pk,a1,a2,…,at-k <Q.计算 yi= h(Ii)modQ,i=1,2,…,n.并公开(y1,y2,…,yn).k>t时,选择一个素数Q,并构造一个k-1的多项式h(x)=modQ,即h(x)=P1+P2x+…+Pkxk-1modQ,其中0<N,P1,P2,…,Pk<Q.计算yi=h(Ii)modQ,i=1,2,…,n.同时计算h(i)modQ,i=1,2,k-t.并公开(y1,y2,…,yn,h(1),h(2),…,h(k-t)).2.2.3 秘密恢复阶段只有参与者人数大于等于t时才能恢复秘密.不失一般性,设M1,M2,…,Mt可以恢复这k个秘密.(1)Mi利用自己的秘密份额si及公开值R0,计算I0′=(2)任何人都可验证Mi的真实性.即:如果(Ii′)f=RimodN,则证明Ii′是真实的.否则,Mi便是骗子.(3)多项式h(x)modQ可按如下步骤被唯一确定3.1 参数假设方案中的符号M、P1、P2、…、Pk、φ(N)、N,g, R0,f、s0意义与 ZZZ方案中符号的意义相同.3.2 秘密的分发(1)Mi随机选取n个整数s1,s2,…,sn⊂ [2, N],作为自己的秘密份额,同时计算Ri=,i=1,2,…,n[9],并公开Ri.(2)Mi随机选取n个整数u1,u2,…,un∈[k, N-1],作为自己的公开身份信息.Mi将提供Ri和ui给D,D要保证当Mi≠Mj时,Ri≠Rj.一旦相等,D将要求Mi重新选取si.同时,D计算Ii=.i=1,2,…,n并保密Ii.(3)D利用n+k对(0,P1),(1,P2),…,(k-1,Pk),(u1,I1),(u2,I2),…,(un,In),通过拉格朗日差值公式可以得到一个n+k-1次的多项式于是可知Pi=h(i-1),i=1,2,…,n.(4)D再从[k,N-1]-{ui|i=1,2,…,n}中选出n+k-t个最小的整数d1,d2,…,dn+k-t,并计算h(di),i=1,2,…,n+k-t,并公开h(di).3.3 秘密的验证及恢复阶段首先,执行ZZZ方案中秘密恢复阶段的(1)、(2)步骤.(3)为了恢复这k个秘密,则至少需要有t个参与者才可以,任意≤t-1个参与者都不能恢复秘密.不失一般性,假设有t个参与者Mi1,Mi2,…, Mit,其中i1,i2,…,it⊂{1,2,…,n}.从而便可以得到 t对(ui,Ii′),i=i1,i2,…,it.接下来找出n+k-t个最小的整数d1,d2,…, dn+k-t∈[k,N-1]-{ui|i=1,2,…,n}.从而又得到n+k-t对(di,h(di)).这样便得到n+k对值,于是可利用拉格朗日差值公式,得到一个n+k-1次的多项式h(x)= a0+a1x+…+an+k-1xn+k-1modN.从而便可恢复出k个秘密.(1)共享算法:由于Ii=,Ri=以及R0=gs0modN,所以Ii==,所以每一个参与者Mi都可利用自己的si和公开的R0来计算Ii.(2)验证算法:通过欧拉定理gφ(N)=1modN和s0×f=1modφ(N),如果Mi不是骗子,则(Ii′)f= = =Ri.(1)根据离散对数求解难,可知:在已知g和Ri的情况下,想从Ri=gsimodN,i=1,2,…,n中求出si是困难的.同理可知:想从Ii′=R0SimodN中求出si也是困难的.(2)方案满足(t,n)门限方案:只有当参与者人数≥t时才能恢复秘密,任意≤t-1个参与者都不能恢复秘密.(3)方案中,参与者自己选择秘密份额si,从而D不会成为骗子,同时整个系统不需要一个安全信道.通过对参考文献[9]方案的修改,提出了一个新的实际可验证的多秘密共享方案.该方案在设计思想上更为简洁清晰,同时又保留了参考文献[9]的一些优点,进而可被广泛应用.A new verifiable multi-secret sharing scheme was proposed,which thought is more concise and clear than literature[9]and retains some advantages of the literature[9],so in practice can be used widely.【相关文献】[1] Shamir A..How to share a munications of the ACM,1979,22(11):612-613.[2] Blakley G..Safeguarding cryptographic keys.Proc AFIPS 1979 National Computer Conference,AFIPS Press,New York,1979: 313-317.[3] He J.,Dawson E.Multistage secret sharing based on one-wayfunction.ElectronicsLetters,1994,30(19):1591-1592.[4] Harn ment:Multistage secret sharing based on onewayfunction.ElectronicsLetters,1995,31(4):262. [5] Harn L.Efficient sharing(broadcasting)of multiple secrets. IEE Proceedings– Computers and Digital Techniques,1995, 142(3):237-240.[5] He J.Dawson E.Multisecret-sharing scheme based on onewayfunction.ElectronicsLetters,1995,31(2):93– 95.[6] Harn L.Efficient sharing(broadcasting)of multiple secrets [J].IEEput.Digit.Tech,1995,142(3):237-240.[7] Chen L.,Gollman D.,J.Mitchell C.,W ild P.Secret sharing with reusablepolynomials[A].Proceedingsof the SecondAustralisian Conference on Information Security and Privacy-ACISP′97[C].ACISP,Australia,1997.[8] Yang C.C.,Chang T.Y.,HwangM.S.,A(t,n)multi-secret sharingput,2004,151:483-490.[9] Zhao Jianjie,ZhangJianzhong,Zhao Rong,A practical verifiable multi-secret sharing puter Standards&Interfaces,2007,29:138-141.[10]TrappeW.,Washington L.C.王金龙,王鹏,林昌露,译.密码学与编码理论.北京:人民邮电出版社,2008.[11]Chien H.Y.,Tseng J.K.A practical(t,n)multi-secret sharing scheme.I EI CE Transactions on Fundamentals of E-lectronics,Communications and Computer 83-A,2000,12: 2762-2765.[12]ChorB.,Goldwasser S.,Micali S.,Awerbuch B.Verifiable secret sharing and achieving simultaneity in the presence of faults.Proc.26th IEEE Symp.FOCS,1985:251-260.[13]Tan K.J.,Zhu H.W.,Gu S.J.Cheater identification in(t, n)threshold puter Communications,1999,22: 762-765.[14]PangLiaojun,Wang Yumin.A new(t,n)multi-secret sharing scheme based on Shamir's secret sharing.Applied Mathematics and Computation,2005,167:840-848.。
01 Chapter背景与意义基于二元多项式的秘密共享方案是近年来研究的热点之一,相关的研究工作主要集中在如何利用二元多项式实现更高效、更安全的秘密共享。
早期的工作主要集中在基于对称密码学的秘密共享方案,如Shamir的基于多项式的秘密共享方案等。
随着密码学的发展,基于非对称密码学的秘密共享方案也越来越受到关注,如基于RSA算法的秘密共享方案等。
相关工作主要内容与结构010*******02 Chapter多项式二元多项式多项式与二元多项式秘密共享秘密共享方案秘密共享的基本概念易于实现基于二元多项式的秘密共享方案可以利用现有的高效算法实现,且实现过程相对简单。
安全性高基于二元多项式的秘密共享方案利用了多项式求根的复杂性,使得只有持有正确份额的参与者才能重构原始秘密,提高了安全性。
灵活性高基于二元多项式的秘密共享方案可以灵活地设置参与者的数量和秘密的长度,具有较高的灵活性。
基于二元多项式的秘密共享方案特点03 Chapter设计思路与目标设计思路设计目标方案概述基于二元多项式的秘密共享方案由三个主要部分组成:密钥生成中心(KGC)、存储服务器和恢复服务器。
KGC 负责生成并分发秘密份额,存储服务器负责存储秘密份额,恢复服务器负责恢复秘密。
密钥生成中心(KGC)设计KGC是整个方案的核心,它负责生成并分发秘密份额。
首先,KGC选择一个随机二元多项式f(x),并计算出其对应的一次因式f1(x)和f2(x)。
接着,KGC将f1(x)和f2(x)分发给存储服务器和恢复服务器进行存储。
同时,KGC也保留一份f1(x)和f2(x)作为备用来支持秘密恢复。
存储服务器负责存储秘密份额。
它接收到KGC发送的f1(x)和f2(x)后,将它们分别存储在不同的存储节点上。
为了提高系统的可靠性和安全性,存储服务器采用了分布式存储架构,将秘密份额分散存储在多个节点上。
此外,存储服务器还采用了加密算法对秘密份额进行加密,以防止信息泄露。
安全秘密共享及其应用研究安全秘密共享及其应用研究随着信息化时代的发展,数据安全成为了一个十分关键的问题。
各种类型的组织和个人都需要保护自己的隐私和秘密信息,以防止不法分子的入侵和泄露。
在这样的背景下,安全秘密共享技术应运而生,成为了保护信息安全的重要手段。
安全秘密共享是指在不暴露原始数据的情况下,将数据划分成多个部分,分发给不同的个体,使得只有当所有部分齐聚时,才能还原出完整的数据。
这种方式有效地增加了保护数据安全的难度,即使有人获取了其中的一部分数据,也无法获得完整的信息。
安全秘密共享技术一般包括了分散存储、分布式加密和密码学三个关键的方面。
首先,分散存储是安全秘密共享的基础。
它通过将数据划分成多个部分并分散存储在不同的位置,使得只有当所有分散存储的部分完成了还原操作,才能还原出完整的数据。
这种方式相较于传统的集中式存储方式具有更高的安全性。
即使某个部分的数据被窃取,其他部分的数据仍然可以保持完整性。
其次,分布式加密在安全秘密共享中扮演着重要的角色。
在将数据划分成多个部分后,每个部分都会加密存储,这样即使有人获取了其中一部分数据,也无法获得有意义的信息。
而只有当所有部分齐聚时,利用密钥进行解密操作,才能还原出完整的数据。
这种方式保证了数据在存储和传输过程中的安全性,并且可以限制参与者对数据的操作权限。
最后,密码学是安全秘密共享的核心技术。
通过使用密码学算法,可以对拆分后的各个部分进行加密,并对还原过程进行控制和验证,确保数据的安全性和完整性。
常用的密码学算法包括对称加密算法和非对称加密算法,它们的应用可以有效地保护数据隐私。
安全秘密共享技术在实际应用中有着广泛的应用前景。
其中,医疗领域是一个重要的应用领域。
医疗数据的保密性尤为重要,因为它涉及到个人的健康状况和隐私信息。
采用安全秘密共享技术,医疗机构可以将患者的各项医疗数据进行分散存储和加密,只有授权的医生才能还原出完整的患者信息,确保了数据的安全和隐私。