基于代码的零知识协议及其应用
在当今的密码学领域,零知识协议发挥着至关重要的作用,尤其是基于代码的零知识协议,它在身份识别、明文知识证明、可验证加密以及签名等多个方面都有广泛的应用。下面我们将详细探讨这些协议及其应用。
1. Stern协议与Jain等人的识别方案
首先介绍Stern协议。该协议的核心流程如下:
1. 验证者V发送挑战 :V随机选择一个挑战值 (b \gets {0, 1, 2})。
2. 证明者P回复并验证 :
- 若 (b = 0),P发送 (y)、(\pi),并打开 (C1) 和 (C2),V检查打开值的有效性。
- 若 (b = 1),P发送 (y + m)、(\pi),并打开 (C1) 和 (C3),V通过计算 (H_{pub}y^T = H(y + m)^T + c) 来验证有效性。
- 若 (b = 2),P发送 (y\pi)、(m\pi),并打开 (C2) 和 (C3),V验证 (C2) 打开为 (y\pi),(C3) 打开为 (y\pi + m\pi),且 (w_H(m\pi) = t)。
将该协议进行 (r) 次独立的顺序迭代,记为 (ZKIDStern(H, c; m))。在标准模型下,假设SD问题是困难的,且底层承诺方案是安全的,该协议是权重为 (t) 的二进制向量 (m) 的零知识证明,满足 (Hm^T = c)。
接下来是Jain等人基于GD问题提出的识别方案。其密钥信息如下:
- 秘密密钥(见证) :(m \in F_2^k),(e \in F
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



