基于代码的零知识协议及其应用
一、引言
自1978年R.J. McEliece提出公钥加密方案(PKE)以来,与编码相关的难题就一直是密码学家关注的焦点。近期,美国国家标准与技术研究院(NIST)宣布了后量子(即抗量子)密码算法标准化的未来计划,这极大地提升了人们对这类系统的兴趣。后量子密码算法旨在抵御经典计算机和量子计算机的攻击,而基于代码的密码方案被认为属于这一类别。
与基于数论假设的密码方案相比,基于代码的密码方案受到的研究关注相对较少。这可能部分是因为早期计算机在使用线性代码时需要大量的内存。但随着计算技术的进步,一方面放宽了内存要求,另一方面,对实现的广泛研究使我们能够优化现有构造,以适应智能卡等受限环境。
本文旨在让读者熟悉基于代码的零知识协议,具体内容如下:
1. 介绍基于编码理论中两个著名问题(通用解码和 syndrome 解码)的两种零知识识别方案的构造。
2. 描述这些方案在基于代码的公钥加密方案(McEliece 和 Niederreiter)中的直接应用——明文知识证明(PPK)。
3. 展示这些系统在构造可验证的 McEliece 加密中的另一个应用。
4. 简要讨论在数字签名等方面的应用。
二、背景知识
2.1 线性代码
二进制 (n, k)-代码 C 是向量空间 $F_2^n$ 的 k 维子空间,n 和 k 分别称为代码的长度和维度。如果其最小距离为 $d := \min_{x,y\in C ; x\neq y} d_H(x, y)$,则称 C 为 (n, k, d)-代码。
我们用 $C(G)$ 表示由 $G\in F_2
超级会员免费看
订阅专栏 解锁全文
172万+

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



