零知识证明
文章平均质量分 94
零知识证明
山登绝顶我为峰 3(^v^)3
只有平凡理想的域(✪ω✪)
展开
-
PZK via OWF
[SMP88] 提出了一个弱化版本的 NIZK 系统,叫做 ZKP with Pre-processing(**PZK**)。它是一个 IP 系统,可以明确地分成交互阶段和非交互阶段。在交互阶段,Prover 和 Verifier 仅仅交换**一些和要证明的 statement 无关的信息**(预处理);在非交互阶段,Prover 发送 proof 给到 Verifier,后者不必回复。原创 2024-05-03 14:27:14 · 801 阅读 · 0 评论 -
PKE 安全性的提升方式:Naor-Yung、Fischlin、Fujisaki-Okamoto
[NY90] 提出了 IND-CCA1 的概念,[RS91] 提出了 IND-CCA2 的概念。[GO94] 证明了,在标准模型下不存在非凡的 NIZK。原创 2023-09-20 17:15:04 · 705 阅读 · 0 评论 -
零知识证明:重要构造
为了得到任意 NPNPNP 语言 LLL 的零知识证明系统,我们只需构造一个关于 NPCNPCNPC 语言的零知识证明系统(汉密尔顿图 HCHCHC 的 Blum 协议),然后将语言 LLL 归约到 HCHCHC 上即可。有三种常见的归约方法,其中 Cook 归约在安全性证明游戏中最常用。现在我们用的是 Karp-Levin 归约,将两个语言的 instance 以及对应 witness 之间做映射:Blum’s ZKP for HC 的思路是:为了零知识地证明 ∃H,H⊆G\exists H, H \su原创 2023-05-15 23:14:53 · 810 阅读 · 0 评论 -
承诺协议:定义 & 构造
承诺协议(**Commitment Scheme**)是一个两阶段的两方协议。一方是承诺者(Committer)$C$,另一方是接收者(Receiver)$R$,两者都是 PPT 能力的。原创 2023-05-12 15:50:37 · 1238 阅读 · 1 评论 -
零知识证明:安全定义
[Goldwasser, Micali, Rackoff, 85] 给出了**交互式证明系统**(Interactive proof system,IP),它包含 **interaction** 以及 **randomness**,可以达成以下性质:1. Completeness(almost)2. Soundness(almost):随机性的引入,“almost” 是不可避免的3. Enable us to prove much harder theorems to an efficient ve原创 2023-05-11 23:41:14 · 1050 阅读 · 0 评论 -
通用 zkSNARK
zkSNARK 的关注点是:给定一个程序,它的输入输出是否满足约束( *constraint*)。比如 Prover 做一个声明$y$,它拥有证据$w$,满足$(w,y) \in \mathscr R$。给定公开的验证电路$C(y,w)$,Prover 向 Verifier 证明它的$w$满足约束 $C(y,w)=0$,且不泄露$w$的任何信息。另外,zkSNARK 也可以用来验证计算是否正确:Prover 利用私有的输入$x$计算了函数$f(x)$,得到私有的结果$y$。Prover 声明:$y=f(原创 2022-10-03 14:40:23 · 552 阅读 · 0 评论 -
多项式知识的 zkSNARK
SNARK 是 *succinct non-interactive arguments of knowledge* 的简写。它是一个知识的证明系统,除了**完备性**(*completeness*)和**可靠性**(*soundness*),额外拥有:* **简洁性**(*Succinct*):相较于证明的内容,消息的长度很小* **非交互性**(*Non-interactive*):消息的发送方只有 Prover* **论证**(*ARguments*):Verifier 仅可以抵御多项式有界敌手原创 2022-10-02 17:07:42 · 1150 阅读 · 0 评论 -
基于 MPC 的零知识证明协议
假设敌手用一个摄像机记录协议的每一步,即使视频中显示Prover总是给出了正确的 Proof,Alice也总是可以质疑:每当Prover猜对了,Verifier就保留视频;,在打开后 Prover 虽然能观察到全部的 label,理论上可以获得 Verifier 的任意明文输入比特,但是奈何 Verifier 根本就没有隐私输入。上述的Alice不相信的原因是,她没有介入 ZKP 的交互。,那么他最多只能给出 step 4 中的某一个Proof,而不能同时都给出Proof,因此为了欺骗,他必须能够预测。原创 2022-09-11 13:50:30 · 2399 阅读 · 0 评论 -
非交互零知识证明:Fiat-Shamir Transform
非交互证明系统令R⊆X×YR \subseteq X \times YR⊆X×Y是一个有效关系,那么关于RRR的非交互系统是一个算法对(Gen,Check)(Gen,Check)(Gen,Check),定义如下:GenGenGen:一个有效的概率算法,形如π←RGen(x,y)\pi \leftarrow_R Gen(x,y)π←RGen(x,y),其中(x,y)∈R(x,y) \in R(x,y)∈R,π∈PS\pi \in PSπ∈PS,这里的PSPSPS是证明空间(proof space)C原创 2022-05-07 15:48:25 · 1339 阅读 · 0 评论 -
零知识证明线性关系:Generic Linear Protocol
Generic Linear Protocol定义布尔表达式ϕ(x1,⋯ ,xn):={∧i=1m(∏j=1ngijxj)}\phi(x_1,\cdots,x_n) := \{ \wedge_{i=1}^m (\prod_{j=1}^n g_{ij}^{x_j}) \}ϕ(x1,⋯,xn):={∧i=1m(j=1∏ngijxj)}使用Sigma Protocol模板(详见零知识证明),令X:=ZqnX:=Z_q^nX:=Zqn,Y:=ϕY:=\phiY:=ϕ,关系为R:={((原创 2022-05-05 22:22:08 · 1120 阅读 · 0 评论 -
零知识证明:Sigma协议
参考书籍:1. Boneh D, Shoup V. A graduateZero-Knowledge Proof一些术语证据(Witness):the value being proven knowledge of。仅Prover知道,不对Verifier泄露。实例(Instance):描述关系中除witness外的所有其它元素,均统称为instance。它是公开信息,对于Prover和Verifier均已知。证明者(Prover): the entity proving the knowled原创 2022-04-11 17:08:06 · 7995 阅读 · 0 评论