零知识身份认证
- 格式:doc
- 大小:51.50 KB
- 文档页数:3
零知识证明协议的研究及应用随着互联网虚拟世界日益发展,保护个人隐私和数据安全问题变得愈加紧迫。
而在这一背景下,零知识证明协议逐渐受到人们的关注,成为保障个人隐私及数据安全的重要工具。
零知识证明协议在金融、安全、隐私保护等领域都有广泛的应用,具有很大的研究和发展前景。
一、什么是零知识证明协议?零知识证明协议(Zero-Knowledge Proof)是一种密码学协议,它可以证明某个命题在不泄露其他相关信息的情况下是正确的。
零知识证明协议的基本思想是:证明者拥有某些私有信息,但不想直接透露这些信息,而只是想证明这些信息的某些性质。
零知识证明协议的证明结果不包含证明者的任何实际信息,仅包含证明的正确性。
零知识证明协议具有不可伪造性、保密性和可验证性等特点,在保护个人隐私和数据安全方面具有广阔的应用前景。
二、零知识证明协议的研究进展零知识证明协议的研究起源于20世纪80年代,目前已经发展为一个庞大的研究领域。
在零知识证明协议的研究中,最为重要的是设计高效率的算法、构建安全的协议及分析协议的安全性等方面。
一方面,设计高效率的算法是保证零知识证明协议顺利进行的关键。
随着技术的不断发展,研究者们在零知识证明算法的设计方面前赴后继地探索,不断提升算法的效率和安全性,例如目前主流的零知识证明协议ZK-SNARK就是一种高效可信的证明系统。
另一方面,构建安全的零知识证明协议也是研究的重要任务。
在构建安全的协议时,需要考虑到潜在的攻击类型,并针对这些攻击类型进行相应的安全保护。
例如,在对零知识证明协议进行形式化安全证明时,研究者们往往会采用模拟游戏等形式,模拟攻击者可能采取的各种策略,从而保证协议的安全性。
此外,分析零知识证明协议的安全性也是一个研究热点。
研究者们通常会考虑以下几个方面:1. 随机性:在设计零知识证明协议时,随机性是非常重要的,攻击者如果能够获得较多的随机数,就可能得到有用的信息,造成破坏。
2. 误差:由于协议中存在计算误差,因此攻击者可能通过利用计算误差发现有效信息。
4.零知识身份认证零知识证明(zero-knowledge proof)的思想是:证明者Peggy拥有某些知识(如某些长期没有解决的难问题的解决方法),零知识证明就是在不将该知识的内容泄露给验证者Victor的前提下,Peggy向Victor证明自己拥有该知识。
首先,我们看下面Peggy和Victor之间的一段对话:Peggy:“我可以对密文为C的消息进行解密。
”Victor:“我不相信。
请证明。
”Peggy(糟糕的回答):“密钥是K,您可以看到消息解密成了M。
”Victor:“哈哈!现在我也知道了密钥和消息。
”这里,Peggy虽然证明了自己拥有某些知识(密钥K及明文M),却向Victor 泄露了这些知识。
一个更好的对话是:Peggy:“我可以对加密为C的消息进行解密。
”Victor:“我不相信。
请证明。
”Peggy(好的回答):“让我们使用一个零知识协议,我将以任意高的概率证明我的知识(但是不会将关于消息的任何情况泄露给您)。
”Victor:“好”。
Peggy 和 Victor 通过该协议……可以使用洞穴例子来解释零知识,C和D之间存在一个密门,并且只有知道咒语的人才能打开。
Peggy知道咒语并想对Victor证明,但证明过程中不想泄露咒语。
图7.13 零知识洞穴步骤如下:(1)Victor站在A点;(2)Peggy一直走进洞穴,到达C点或者D点;(3)在Peggy消失在洞穴中之后,Victor走到B点;(4)Victor随机选择左通道或者右通道,要求Peggy从该通道出来;(5)Peggy从Victor要求的通道出来,如果有必要就用咒语打开密门;(6)Peggy和Victor重复步骤(1)至(5)n次。
如果Peggy不知道这个咒语,那么只能从进去的路出来,如果在协议的每一轮中Peggy都能按Victor要求的通道出来,那么Peggy所有n次都猜中的概率是1/2n。
经过16轮后,Peggy只有65536分之一的机会猜中。
高效零知识证明及其应用
高效零知识证明(Efficient Zero-Knowledge Proofs)是一种密码学技术,用于证明某个陈述是正确的,同时不泄露任何关于陈述的具体信息,即不泄露任何有关于证明的知识。
它是一种交互式的协议,其中证明者试图说服验证者某个陈述是真实的,而验证者只会接受正确的陈述,但不能得知任何关于陈述的具体信息。
高效零知识证明具有以下应用领域:
1. 加密货币:在加密货币领域,高效零知识证明用于保护隐私和匿名性。
例如,Zcash就使用了零知识证明技术,允许用户进行匿名交易,同时保持交易的可验证性。
2. 身份认证:高效零知识证明可用于身份认证系统,例如在无需披露敏感信息的情况下证明自己的年龄、资格或其他身份属性。
3. 数据隐私保护:零知识证明可用于验证某些数据的属性而不泄露实际数据本身。
例如,可以证明某个数字在一个范围内而不泄露具体数字。
4. 零知识密码学:高效零知识证明可用于构建各种零知识密码学协议,如零知识交互式证明、零知识证明的紧凑性和零知识证明的可组合性等。
总之,高效零知识证明在保护隐私和数据完整性的同时,提供了一种有效的方式来证明某个陈述的真实性,而不需要披露具
体的信息,因此在密码学、隐私保护和身份认证等领域具有广泛的应用潜力。
保密通讯中基于零知识证明的身份认证协议
和楠;张清毅;肖蒲云
【期刊名称】《陕西理工学院学报(自然科学版)》
【年(卷),期】2005(21)4
【摘要】提出了一种适合于实时保密通讯的零知识身份认证协议,以非对称密码体制的方式通过通讯用户之间交互实现,同时还实现了零知识证明在身份认证中的应用.其安全性基于RSA算法中的大数难于分解的假定.本协议要求的通讯量较小,且可以根据具体的要求调整以适合要求.本协议可以通过较少的通讯量来实现保密通讯中的身份认证.
【总页数】2页(P11-12)
【作者】和楠;张清毅;肖蒲云
【作者单位】中国矿业大学(北京)机电学院,北京,100083;中国矿业大学(北京)机电学院,北京,100083;中国矿业大学(北京)机电学院,北京,100083
【正文语种】中文
【中图分类】TN918.8+1
【相关文献】
1.一种基于身份的LTE-R网络中端到端身份认证协议 [J], 张静
2.基于自证明公钥和零知识证明的身份认证协议 [J], 曹炳华;张红旗;杜学绘;钱雁斌;张文波
3.基于混沌映射的交互式零知识证明身份认证协议 [J], 徐小双;关治洪
4.一种基于生物特征和零知识证明的身份认证协议 [J], 陈泗盛;林娟
5.WSNs中基于秘密共享的身份认证协议 [J], 杨清华;汪烈军;刘琦
因版权原因,仅展示原文概要,查看原文内容请购买。
4.零知识身份认证
零知识证明(zero-knowledge proof)的思想是:证明者Peggy拥有某些知识(如某些长期没有解决的难问题的解决方法),零知识证明就是在不将该知识的内容泄露给验证者Victor的前提下,Peggy向Victor证明自己拥有该知识。
首先,我们看下面Peggy和Victor之间的一段对话:
Peggy:“我可以对密文为C的消息进行解密。
”
Victor:“我不相信。
请证明。
”
Peggy(糟糕的回答):“密钥是K,您可以看到消息解密成了M。
”
Victor:“哈哈!现在我也知道了密钥和消息。
”
这里,Peggy虽然证明了自己拥有某些知识(密钥K及明文M),却向Victor 泄露了这些知识。
一个更好的对话是:
Peggy:“我可以对加密为C的消息进行解密。
”
Victor:“我不相信。
请证明。
”
Peggy(好的回答):“让我们使用一个零知识协议,我将以任意高的概率证明我的知识(但是不会将关于消息的任何情况泄露给您)。
”
Victor:“好”。
Peggy 和 Victor 通过该协议……
可以使用洞穴例子来解释零知识,C和D之间存在一个密门,并且只有知道咒语的人才能打开。
Peggy知道咒语并想对Victor证明,但证明过程中不想泄露咒语。
图7.13 零知识洞穴
步骤如下:
(1)Victor站在A点;
(2)Peggy一直走进洞穴,到达C点或者D点;
(3)在Peggy消失在洞穴中之后,Victor走到B点;
(4)Victor随机选择左通道或者右通道,要求Peggy从该通道出来;
(5)Peggy从Victor要求的通道出来,如果有必要就用咒语打开密门;
(6)Peggy和Victor重复步骤(1)至(5)n次。
如果Peggy不知道这个咒语,那么只能从进去的路出来,如果在协议的每一轮中Peggy都能按Victor要求的通道出来,那么Peggy所有n次都猜中的概率是1/2n。
经过16轮后,Peggy只有65536分之一的机会猜中。
于是Victor可以假定,如果所有16次Peggy的证明都是有效的,那么她一定知道开启C点和D 点间的密门的咒语。
我们来看一个零知识证明的例子。
图是否同构是NP完全问题,对于一个非
常大的图,判断两个图是否同构是非常困难的。
对于图G
1和G
2
,如果存在一个
一一对应的函数F:F的定义域是G
1的顶点集。
F的值域是G
2
的顶点集。
当且仅
当[g1,g2]是G
1中的一条边,[F(g1),F(g2)]才是G
2
中的一条边,称G
1
和G
2
同构
的。
假设Peggy知道图G
1和G
2
之间同构,Peggy使用下面的协议将使Victor相
信G
1和G
2
同构:
(1)Peggy随机置换G
1
产生另一个图H,并且H和G
1
同构。
因为Peggy知
道G
1和H同构,也就知道了H和G
2
同构。
(2)Peggy把H送给Victor。
(3)对如下两个问题Victor选择其中的一个,要求Peggy证明。
但是,Victor
不要求两者都证明。
证明G
1
和H同构,或者
证明G
2
和H同构。
(4)Peggy按Victor的要求证明。
(5)Peggy和Victor重复步骤(1)至(4)n次。
如果Peggy不知道G
1和G
2
之间的同构性,Peggy就只能创造一个图或者与
G 1同构或者与G
2
同构。
每一轮中Peggy只有50%的机会猜中Victor的选择。
又
因为Peggy在协议的每一轮都产生一个新图H,故不管经过多少轮协议Victor
也得不到任何信息,他不能从Peggy的答案中了解G
1和G
2
的同构性。
图同构的
零知识证明只具有理论意义,从实现来看,是不实用的。
这里我们介绍著名的Feige-Fiat-shamir零知识身份认证协议的一个简化
方案。
可信赖仲裁选定一个随机模数n,n为两个大素数乘积,实际中至少为为512位或长达1024位。
仲裁方产生随机数v,使x2=v mod n,即v为模n的平方剩余,且有v-1mod n存在。
以v作为Peggy的公钥,而后计算最小的整数s:s=sqrt(v-1) mod n作为Peggy的私钥。
实施身份证明的协议如下:
(1)用户Peggy取随机数r,这里r<m,计算x= r2mod m,把x送给Victor;
(2)Victor把一个随机位b送给Peggy;
(3)若b=0,则Peggy将r送给Victor;若b=1,则Peggy将y=rs 送给Victor;
(4)若b=0,则Victor验证x=r2 mod m ,从而证实Peggy知道sqrt(x);若b=1,则Victor验证x=y2.v mod m,从而证实Peggy知道s。
这是一轮鉴定,Peggy和Victor可将此协议重复t 次,直到Victor相信Peggy知道s为止。