零知识证明协议研究
互联网安全密码学中的零知识证明技术

互联网安全密码学中的零知识证明技术互联网的快速发展已经成为现代社会不可或缺的一部分。
然而,随着网络的普及,个人隐私和数据安全问题也越来越受到关注。
为了保护用户的隐私与数据安全,互联网安全密码学逐渐崭露头角。
在密码学的研究中,零知识证明技术是一种重要的安全保障手段。
一、什么是零知识证明技术?零知识证明技术,简称ZKP(Zero-Knowledge Proof),是一种密码学中的技术,旨在通过进行证明来验证某个主张的正确性,同时不泄露任何与该主张有关的信息。
换句话说,零知识证明技术可以让证明者向验证者证明某个陈述的正确性,而验证者只会得到“是”或“否”的答案,而不会知道具体的过程和信息。
零知识证明技术的重要性在于,它确保了数据的安全性和用户的隐私,同时在网络中的各方之间建立了信任和合作。
例如,在电子交易中,购买方可以向卖方证明自己具备付款能力,同时不泄露任何与其财务状况相关的信息。
二、零知识证明技术的应用领域1. 隐私保护隐私保护是零知识证明技术被广泛应用的领域之一。
例如,在医疗健康领域,患者可以使用零知识证明技术向医生或医疗机构证明自己的身份和疾病情况,而不必泄露自己的个人信息。
这种方式既保护了患者的隐私,又实现了有效的医疗协作。
2. 身份认证零知识证明技术也可以应用于身份认证领域。
传统的身份认证方法往往需要用户提供个人信息来验证身份,但这会引发用户隐私泄露的风险。
零知识证明技术可以通过证明你拥有某个特定属性,如成年身份或大学学位,而不必泄露任何关于自己的其他信息。
这种方式可以有效保护用户的隐私,减少身份盗窃等问题的发生。
3. 数字货币和区块链在数字货币和区块链领域,零知识证明技术被广泛运用于实现交易的匿名性。
通过使用零知识证明技术,用户可以证明自己拥有足够的资金进行交易,而无需透露自己的真实身份和资产信息。
这可以有效地保护用户的交易隐私,并增强数字货币的使用安全性。
三、零知识证明技术的算法现代密码学中,零知识证明技术具体使用了一些算法来实现。
零知识证明 zk-snart原理

零知识证明 zk-snart原理英文回答:Zero-knowledge proofs, also known as zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), are a type of cryptographic protocol that allows one party to prove to another party that a statement is true, without revealing any information beyond the validity of the statement itself. This means that the prover can convince the verifier that they possess certain information, without actually disclosing that information.The zk-SNARK protocol is based on a concept called a succinct non-interactive argument of knowledge. This means that the proof can be verified quickly and efficiently, and the interaction between the prover and verifier is minimal. The protocol involves a setup phase where a common reference string is generated, and then a proving phase where the prover generates a proof and a verification phase where the verifier checks the proof.The underlying principles of zk-SNARKs involve advanced mathematics and cryptography, including concepts from algebraic geometry, elliptic curve pairings, and homomorphic encryption. The protocol relies on theproperties of certain mathematical functions to ensure that the proof is valid without revealing any additional information.One of the key advantages of zk-SNARKs is their applicability to privacy-preserving transactions and computations. For example, in a blockchain system, zk-SNARKs can be used to prove that a transaction is valid without revealing the sender, receiver, or transaction amount. This has significant implications for privacy and confidentiality in decentralized systems.Overall, zk-SNARKs are a powerful tool for enabling privacy-preserving and trustless interactions in digital systems, and their underlying principles are rooted in advanced cryptographic techniques and mathematical concepts.中文回答:零知识证明,也称为zk-SNARKs(零知识简洁非交互式知识论证),是一种密码学协议,允许一方向另一方证明某个陈述是真实的,而不透露除了该陈述本身的有效性之外的任何信息。
零知识证明

在最小泄露协议中零知识证明需要满足下述两个性质。 (1)正确性。P无法欺骗V。换言之,若P不知道一个定理的证明方法,则P使V相信他会证明定理的概率很低。 (2)完备性。V无法欺骗P。若P知道一个定理的证明方法,则P使V以绝对优势的概率相信他能证明。 在零知识协议中,除满足上述两个条件以外,还满足下述的第三个性质。 (3)零知识性。V无法获取任何额外的知识。 我们把性质(1)和(2)称为零知识证明的正确性和完备性,而性质(3)称为零知识性。
设P表示掌握某些信息,并希望证实这一事实的实体,设V是证明这一事实的实体。假如某个协议向V证明P的 确掌握某些信息,但V无法推断出这些信息是什么,我们称P实现了最小泄露证明。不仅如此,如果V除了知道P能 够证明某一事实外,不能够得到其他任何知识,我们称P实现了零知识证明,相应的协议称作零知识协议。
性质
引入
顾名思义,零知识证明就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄露出去——即 给外界的“知识”为“零”。其实,零知识证明并不是什么新东西,早在16世纪的文艺复兴时期,意大利有两位 数学家为竞争一元三次方程求根公式发现者的桂冠,就采用了零知识证明的方法。当时,数学家塔尔塔里雅和菲 奥都宣称自己掌握了这个求根公式,为了证明自己没有说谎,又不把公式的具体内容公布出来(可能在当时数学公 式也是一种技术秘密),他们摆开了擂台:双方各出30个一元三次方程给对方解,谁能全部解出,就说明谁掌握 了这个公式。比赛结果显示,塔尔塔里雅解出了菲奥出的全部30个方程,而菲奥一个也解不出。于是人们相信塔 尔塔里雅是一元三次方程求根公式的真正发现者,虽然当时除了塔尔塔里雅外,谁也不知道这个公式到底是个什 么样子。从这个故事,我们可以初步了解零知识证明的概念。
属性
零知识证明需要满足三个属性。 1、如果语句为真,诚实的验证者(即:正确遵循协议的验证者)将由诚实的证明者确信这一事实。 2、如果语句为假,不排除有概率欺骗者可以说服诚实的验证者它是真的。 3、如果语句为真,证明者的目的就是向验证者证明并使验证者相信自己知道或拥有某一消息,而在证明过程 中不可向验证者泄漏任何有关被证明消息的内容。 零知识证明并不是数学意义上的证明,因为它存在小概率的误差,欺骗者有可能通过虚假陈述骗过证明者。 换句话来说,零知识证明是概率证明而不是确定性证明。但是也存在有技术能将误差降低到可以忽略的值。 零知识的形式定义必须使用一些计算模型,最常见的是图灵机的计算模型。
利用zokrate求hash的零知识证明

一、研究背景在当今的信息时代,数据安全和隐私保护已经成为了全球范围内的热门议题。
尤其是在金融、医疗、电子商务等领域,对于数据的安全性和隐私性要求越来越高。
随着区块链技术的快速发展,人们对于数据隐私的保护提出了更高的要求。
在这种背景下,零知识证明技术应运而生,成为了解决数据隐私和安全性问题的重要手段之一。
二、零知识证明概述零知识证明(Zero-Knowledge Proof)是指一种可以证明某个断言是真实的,而不需要透露任何与该断言有关的信息的证明。
简单来说,就是证明者可以证明自己掌握了某种信息,却不会泄漏任何关于这种信息的细节。
这种技术在实际应用中具有广泛的价值,特别是在密码学、计算机安全和区块链技术等领域。
三、 Zokrates介绍Zokrates是一种基于区块链的零知识证明工具,它可以用于构建、编译和部署可验证的智能合约。
Zokrates支持的语言是一种称为Zokrates DSL的专门语言,它允许用户编写和部署零知识证明智能合约,从而实现对数据隐私和安全性的保护。
四、利用Zokrates求Hash的零知识证明1. 编写Zokrates DSL代码我们需要编写Zokrates DSL代码来描述我们需要证明的断言,通常包括输入的数据、证明的信息和断言的真实性。
在求Hash的零知识证明中,我们需要描述输入的数据(即需要进行Hash运算的原始数据)和Hash的结果。
下面是一个简单的Zokrates DSL代码示例:```def m本人n(private field a):field resultHash = sha256(a)return resultHash```在这段代码中,我们定义了一个名为m本人n的函数,输入参数为私有域a,表示原始数据。
然后使用sha256函数计算a的Hash值,并返回结果。
2. 编译Zokrates DSL代码接下来,我们需要使用Zokrates工具对编写好的Zokrates DSL代码进行编译,生成对应的验证智能合约。
零知识证明及其在签名中应用的研究的开题报告

零知识证明及其在签名中应用的研究的开题报告标题:零知识证明及其在签名中的应用研究1. 研究背景随着信息技术的发展,网上交易的安全性问题变得越来越重要。
签名作为安全交易的基本技术之一,其安全性对交易的保障起着重要的作用。
然而,传统的签名方法存在一些缺点,如需大量的计算,签名后链上数据变得庞大,无法保护用户隐私等。
随着密码学的不断发展,零知识证明逐渐成为了一种解决上述问题的新技术。
2. 研究意义本研究旨在探究零知识证明技术及其在签名中的应用。
通过研究和实验,探讨如何基于零知识证明技术来改进现有的签名方法,提高签名的安全性和效率,并同时保护用户的隐私。
这将有助于推动信息技术的发展,提高网上交易的安全性,保护用户的隐私,符合当前信息时代对安全性和隐私保护的要求。
3. 研究内容(1) 零知识证明的原理和技术。
(2) 零知识证明在签名中的应用及其优势。
(3) 探讨如何利用零知识证明来优化现有的签名方案,提高签名效率和安全性。
(4) 通过实验验证所提出的零知识证明在签名中的应用方案。
(5) 分析和总结研究成果,展望未来发展方向。
4. 研究方法本研究采用文献分析、理论探讨和实验验证相结合的方法。
首先,通过收集和分析相关文献,了解零知识证明技术及其在签名中的应用现状。
其次,对零知识证明的原理和技术进行深入的理论探讨。
进一步,通过对现有签名方法的分析和优化,提出利用零知识证明来改进现有签名方案的方案,并通过实验验证其效果。
最后,对研究成果进行总结和分析,展望未来的研究方向。
5. 研究预期结果本研究的预期结果包括:1) 深入了解和掌握零知识证明技术及其在签名中的应用;2) 提出利用零知识证明来改进现有签名方案的理论和方法,提高签名效率和安全性;3) 通过实验验证所提出的方案的效果,证明其在实际应用中的可行性;4) 对研究结果进行总结和分析,为未来研究提供借鉴和参考。
6. 参考文献[1] Goldwasser S, Micali S, Rackoff C. The Knowledge Complexity of Interactive Proof Systems[C]// STOC'85: Proceedings of the Seventeenth Annual ACM Symposium on Theory of Computing. NewYork, NY, USA: ACM, 1985: 291-304.[2] Kilian J. Founding cryptography on oblivious transfer[C]// 14th Annual ACM Symposium on Theory of Computing. Chicago: ACM Press, 1982: 20-31.[3] Groth J. Short pairing-based non-interactive zero-knowledge arguments[C]// Cryptographic Hardware and Embedded Systems-CHES 2010. Springer, Berlin, Heidelberg, 2010: 321-336.[4] Boneh D, Boyen X. Efficient selective-id secure identity-based encryption without random oracles[C]// Annual A[5] Papadopoulos G J, Stamoulis G D, Zagouras A B. Digital Signature Protocol Based on the Fiat-Shamir Transformation of Interactive Zero Knowledge Proofs[J]. IACR Cryptology ePrint Archive, 2007, 2007: 296.。
零知识证明研究综述

DCWTechnology Analysis技术分析79数字通信世界2023.061 零知识证明的概念零知识证明是某种权益的拥有者,即知道问题的解w 的人在不泄露任何有关问题的相关信息的情况下,能证明其确实掌握有w 。
1.1 注解我们有两个角色方,证明者(简称P )和验证者(简称V ),以及对两个角色方来说不是秘密的NP 关系R 、问题x 及答案w 这三个对象满足公式:R (x ,w )=1 (1)证明者知道问题的答案x ,他需要向验证者证明他知道问题x 以及问题的答案w ,但不泄露关于w 的任何信息。
以上描述等价于证明满足以下三个属性:(1)完备性。
此证明完成后能够让验证者确信证明者没有说谎,或者说证明者确实握有问题x 的某个解w 。
(2)合理性。
证明者不拥有x 的某个解w ,则不能令验证者相信他拥有问题x 的某个解。
(3)零知识性。
证明过程不能泄露关于w 的任何信息。
下面给出零知识证明这一概念的较为数学化的定义。
1.2 定义考虑等式R (x ,w )=1,这里x 是一个数学问题,w是该问题的未知的解,也即w 满足x 所定义的若干关系,R 是判断w 是否满足这些关系的判定程序,我们还要求R (x ,w )=1是一个NP 问题,即求解w 很难,但验证w 是该问题的解是容易的。
1.3 注解在这里,容易和困难的界定是由算法的时间复杂度决定的,即能否能在多项式时间内解决问题,即算法的时间复杂度是否低于多项式的维度。
对早期的零知识证明的协议来说,很多是必须要求证明是某种交互输入,例如下节给出的三色问题的一个零知识证明方案。
这种交互式证明是从概率角度零知识证明研究综述张正铨1,胡 森1,莫晓康 1, 2(1.中国科学技术大学,安徽 合肥 230026;2.国科创新研究院(厦门)有限公司,福建 厦门 361021)摘要:文章论述了密码学的新领域——零知识证明的概念、方法、算法、应用,以及其在区块链领域的若干应用。
零知识证明技术的实际应用与安全性分析

零知识证明技术的实际应用与安全性分析零知识证明技术是一种用于验证某个声明的正确性,同时不泄露任何有关该声明的其他信息的密码学工具。
该技术可被广泛应用于许多领域,例如密码学、网络安全、隐私保护和区块链等。
本文将探讨零知识证明技术的实际应用,并分析其安全性。
一、实际应用1.密码学领域:零知识证明技术可用于验证公钥加密方案的安全性。
例如,可以证明一种加密算法的秘钥长度满足安全要求,而不泄露该算法的具体细节。
2.网络安全:在网络通信中,确保通信的安全性非常重要。
零知识证明技术可以用于验证用户的身份,从而防止恶意用户的欺骗行为。
通过使用零知识证明技术,服务器可以证明其拥有某个秘密,而不需要直接揭示该秘密。
3.隐私保护:在很多情况下,用户不希望将其个人信息披露给他人,同时又需要验证某些声明的真实性。
零知识证明技术可以满足这一需求。
例如,在数字身份验证中,用户可以使用零知识证明技术证明自己的年龄在某个范围内,而不需要透露具体的年龄。
4.区块链:区块链是一种去中心化的分布式账本技术,而零知识证明技术可以用于增强其隐私性和安全性。
通过使用零知识证明技术,参与方可以证明自己满足某个条件,而不需要公开其具体数据。
这在一些隐私敏感的应用中尤为重要,例如匿名交易和身份验证。
二、安全性分析1.完备性:零知识证明技术必须保证如果声明是正确的,那么验证者相信该声明的概率非常高。
这意味着证明者必须能够生成一个有效的证明,并将其传递给验证者。
从理论上来说,完备性要求能够通过一个无限容量的计算设备进行检查。
2.可靠性:零知识证明技术应该确保如果甲方是一个诚实的证明者,那么乙方不会被欺骗相信一个错误的声明。
也就是说,诚实的证明者不会能够通过生成错误的证明来欺骗验证者。
3.零知识性:零知识证明技术应该确保验证者不能从证明者提供的信息中获得任何与声明相关的附加信息。
也就是说,验证者在验证声明的真实性时只能得知声明的真实性,而不能获得与其相关的其他信息。
一种新的零知识证明协议

摘 要 : 用 C i o a 加 密方 案 对 S H 对 ( 口 进 行 加 密 生 成 ( ,口 的 零 知 识 证 明 协 议 ,然 后 证 明 了 该 协 议 利 hkH wT n D A, ) A ) 为诚 实验 证 者在 D D 假 设 下 对 S H 对 ( n 的零 知识 证 明 该协 议 适 用 于 对数 据 的 安全 性 要 求较 高的 用 户. B H D A, ) 与
n 的零知识证 明协议 , ) 并基 于该协 议推 出一 种I D N —
设 G 和 G 是 阶 为素数 p的循环 群 , 2 定义 g是
CA C 2完 全 匿名 性 的群 签 名 方 案 . 文基 于 I D G 的生成 元 ; 是 可计算 的映射 , : l 本 N — l e e G ×G - 2 l +G ,
并提出了sdh对aa的零知识证明协议通过分析可知该协议是安全有效的同时将该协议改造为非交互零知识证明则可作为群签名的一个构造模块具有一定的实用价值
第1 O卷 第 1 期 21 0 1年 3月
南 通 大学 学 报 ( 自然科 学 版 )
Ju a f no gU ies y ( trl ce c dt n) o r l tn nv ri Naua in eE io n o Na t S i
验 证者 泄露 有关 该秘 密 的任何有 用 信息 的协议 . 零 全 匿名性 的群签 名方案 .
知识 证 明协 议是一 种非 常重要 的密码 学构件 。 群 在 签 名[/ 3 中具 有 广泛 应 用. 0 7年 ,张跃 宇 等I 于 - 7 20 国 基
1 预备 知 识
1 Ca e— h u rm rS op加 密 方 案 提 出一 种 新 的 S H 对 , 1 双 线 性 映 射 D .
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)可靠性:如果 P 对 V 的声称是假的,则 V 以
概念是由 Goldwasser 等人[1,2]在 20 世纪 80 年代初 一个大的概率拒绝 P 的声称.
提出的.从提出到现在已经有 30 多年的时间了,在
(3)零知识性:如果 P 对 V 的声称是真的,在 V
零知识证明的研究中,已经取得了许多重要的成 没有违反协议的前提下,则无论 V 采用任何方法,
(6)证明者 P 和验证者 V 可以反复执行(1)~(5)
n 轮.
在上述的零知识洞穴的例子中,若 P 没有掌握
秘密通道的咒语,则他只能从他原来进入通道的一
侧出来.若 P 靠猜测,在整个协议执行的 n 轮过程
中,P 在每一轮中均能按照 V 的要求从相应的一侧
出来的概率只有
1 2n
.经过 16
轮后,P 只有
质上是一种涉及两方的协议,其中的一方称为证明 1<x<n-1.
者,一般用 P 表示,另一方称为验证者,一般用 V 2.3.2 大整数分解问题
表示.在协议的执行过程中,证明者 P 向验证者 V
大整数分解问题是指,给定两个素数 p,q,计算
声称其已经掌握了某种信息,证明者 P 和验证者 V 乘积 p*q=n 很容易;但是,反过来给定整数 n,求 n
协议:数独的零知识证明协议[5] 证明者: (1)证明者随机选择一个置换 σ:{1,2,…,9}a{1,2, …,9}; (2)对于每个单元(i,j)的值 v,证明者发送 σ(v)给 验证者; 验证者: 验证者随机选择下列可能性中的一种:或者一 行、或者一列、或者一个子网格,或直接打开已经填 充好的一个单元格,并要求证明者公开相应的承诺. 当验证者做出回应后, 如果验证者选择了一行、一 列或一个子网格,验证者检查其中的所有的值是否 确实是不同的.如果验证者选择的是直接打开已经 填充好的一个单元格,验证者将所填充的单元格中 的数据与证明者所发送的数据做比较,与原来相同 的现在仍然相同,与原来不同的现在仍然不同,这 样就可以说明 σ 的确是单元格中所填充数字的一 种置换. 3.3 多项式函数根的零知识证明协议 多项式函数是数学中许多重要研究内容之一, 在计算机科学中,多项式函数的研究也有着举足轻 重的作用. 假如 P 已经知道了某个整系数高次 f(x) 的一个整数根 x0,现在他想向 V 证明自己已经知道 了多项式函数 f(x)的某一个根,但又不想让 V 了解 有关 x0 的任何相关信息,这个问题就是多项式函 数根的零知识证明问题.假设某整系数高次多项式
由 Quisquater 等人[4]最先给出了有关零知识证 明解释的通俗例子,如图 1 所示,在位置 C 与位置 D 之间有一个秘密的通道,而这个秘密通道只有知 道相应咒语的人才可以通过.如果证明者 P 知道通 过秘密通道的咒语,他如何在不泄露咒语的前提下 向验证者 V 证明他知道咒语呢?可以按照如下协 议的步骤执行:
n
Σ 函数 f(x)= aixi,其主要证明过程如下: i=0 协议:多项式函数根的零知识证明协议[6]
-7-
(1)P 与 V 共同选取 p 和 Z*p 的生成元 α;
i
x
(2)P 计算 βi=α modp,(i=1,2,…,n),并将所计算 的 βi 返回给 V;
(3)V 要求 p 证明他拥有一个数 x0,使得 βi≡βxi-01 (modp),(i=1,2,…,n);
摘 要:在当代密码学中,零知识证明占据着重要的位置.已经成为信息安全领域身份认证的关键技术
之一,吸引了许多学者的注意,并得到了一系列的重要研究成果.文章首先阐述了零知识证明的主要思想、
零知识证明协议的性质以及零知识证明协议所主要基于的几类数学问题.接着,着重研究了零知识证明在
相关问题中的应用.最后,对本文进行了总结,以期能够吸引更多的学者在更广泛的领域对零知识证明协议
2 零知识证明相关概念
于密码学中的公钥密码体制,都是主要基于如下几
2.1 零知识证明的主要思想
类数学问题的.
ห้องสมุดไป่ตู้
零知识证明指的的就是一方(证明者)能够在不 2.3.1 模 n 平方根问题
向另一方(验证者)提供任何有用的信息的前提下,
设 n 是一个正整数,若存在一个 x,使得 x2≡y
也能使得另一方能够相信某个论断是正确的.其本 (modn),则称 x 是 y 的模 n 平方根.其中:1<y<n-1,
第 30 卷 第 4 期(上) 2014 年 4 月
赤 峰 学 院 学 报( 自 然 科 学 版 ) Journal of Chifeng University(Natural Science Edition)
Vol. 30 No.4 Apr. 2014
零知识证明协议研究
张引兵, 王 慧
(淮北师范大学 数学科学学院, 安徽 淮北 235000)
进行研究.
关键词:密码学;零知识证明;数独;多项式函数根;身份认证
中图分类号:TP393.08 文献标识码:A
DOI:10.13398/ki.issn1673-260x.2014.07.004
文章编号:1673-260X(2014)04-0006-04
1 引言
一个大的概率接受 P 的声称.
“零知识证明”-zero-knowledge proof,这一
图的同构问题:有两个图 G0(V0,E0)和 G1(V1,E1), 其中这两个图的顶点数和边数都相同,并且存在一 个置换 π,当(u,v)∈E0 时,(π(u),π(v))∈E1,则称图 G0 和图 G1 同构,记作 G1=πG0.
协议:图的同构的零知识证明协议[7] 公共输入:初始化数据:两个图 G0(V0,E0)和 G1 (V1,E1),并且 G0=φ(G1) 使用独立的随机掷币协议执行如下 4 步 m 轮. (1)P 随机选择一个置换 π 生成图 G0 的一个置 换图 H,即:H=π(G0),并将 H 发送给 V; (2)V 随机选择 α∈{0,1},并将 α 发送给 P; (3)如果 α=0,P 将置换 π 发送给 V;否则,如果 α≠0,P 将置换 π·φ-1 发送给 V; (4)V 验证 H=ψ (Gα)(其中当 α=0 时,ψ=π;当 α≠0 时,ψ=π·φ-1)是否成立,若成立则继续,否则, 拒绝 P 的声称. 如果如上协议成功执行了 m 轮,V 则接受 P 的证明. 在上述协议中,若 P 确实掌握了图 G0 和图 G1 的同构关系 G1=φ (G0),则对所有的置换 πφ 总有 H=π(G0)=π(φ(G1)),又因为置换 π 是随机选择的,所 以整个过程中没有泄露有关置换 覬 的任何信息.又 因为 V 要求证明 H 与图 G0 同构或与图 G1 同构是 随机的,所以 P 只有掌握了置换 φ 才能或者证明 (H,G0)同构或者证明(H,G1)同构. 3.5 身份认证中的零知识证明—F-S 身份认证协 议 在密码学中,零知识证明最早是作为实体认证 的一种方法进行应用的.Fiat 和 Shamir 在 1986 年 首先给出了这种身份认证的零知识证明方法,也就
所掌握信息的具体内容,这是一种全新的思想.
解大整数问题将是非常困难的.
2.2 零知识证明协议的性质
2.3.3 离散对数问题
一般说来,一个零知识证明协议应该下面三个
离散对数问题指的是整数中一种基于同余运
条件:
算和原根的对数运算,也可以按照如下方式进行简
(1)可行性:如果 P 对 V 的声称是真的,则 V 以 单描述:任意给定一个质数 p,和有限域 Zp 上的一
-8-
是 F-S 认证协议.F-S 认证协议一般不单独应用于 现在的认证系统中,但它当今应用的零知识证明身 份 认 证 系 统 的 基 础 , 像 Feige-Fiat-Shamir 和 Guillou-Quisquater 中,都用到了 F-S 认证协议.
在 F-S 认证协议中,首先找一个证明者和验证 者两方都信任的第三方,第三方选取两个大的素数 p 和 q,然后计算 n=p×q,其中 n 的值是公开的,而 p 和 q 的值是不公开的.P 选取一个私钥 s (1≤s≤ n-1),接着计算 v=s mod n,将 v 作为公钥由可信的 第三方保存.V 可以按照如下步骤对 P 进行认证:
x
(4)P 证明自己拥有 n 个表达式 βi≡βi-1 (modp),
0
(i=1,2,…,n)同时成立的解 x=x0,由于 β0=αx0 =α 是 Z*p 的生成元,因而这是可行的;
n
仪 (5)V 进一步验证 (βi)αi≡1(modp); i=0
(6)重复执行(1) ̄(5)k 轮. 3.4 图论中的零知识证明—图的同构的零知识证 明协议
果,但仍有许多问题有待进一步的研究,近年来已 V 除了能够接受 P 的声称外,而无法获有关 P 所声
经成为密码学研究中的热点问题之一.零知识证明 称内容的任何信息[3].
的思想是许多密码学协议的基础,在安全协议的设 2.3 零知识证明协议主要基于的几类数学问题
计中有着比较广泛的应用.
通常零知识证明协议所基于的数学问题,类似
65536 分
之一的机会猜中.若进过 16 轮的验证,P 在每一轮中
均能按照 V 的要求从相应的一侧出来,那么 V 就可