零知识证明术语
零知识证明(Zero-Knowledge Proof, ZKP)是密码学中的一种技术,用于在不泄露任何具体信息的情况下证明某个声明的真实性。以下是一些常见的零知识证明相关术语:
基本术语
-
证明者(Prover):
- 提供证明的一方,试图向验证者证明某个声明的真实性。
-
验证者(Verifier):
- 检查并验证证明的一方,确定证明者的声明是否真实。
-
公共参数(Public Parameters):
- 所有参与方都知道的参数,通常包括一些公钥、生成元等。
-
秘密参数(Secret Parameters):
- 仅证明者知道的参数,用于生成证明。
数学基础
-
离散对数(Discrete Logarithm):
- 给定一个生成元和一个元素,找到一个整数使得(模某个大素数)。
-
椭圆曲线(Elliptic Curve):
- 一种用于加密和零知识证明的代数结构,具有特定的数学性质。
-
模数运算(Modular Arithmetic):
- 数学运算的一种,所有计算都在一个固定的整数范围内进行(模某个数)。
证明协议
-
Sigma 协议(Sigma Protocol):
- 一种三步交互式证明协议,包括承诺、挑战和响应三个步骤。
-
非交互式零知识证明(NIZK):
- 不需要证明者和验证者之间的交互,可以通过公共参数和一次性证明完成。
-
离散对数证明(DlnProof):
- 证明某个数是另一个数的离散对数。
-
带松弛的离散对数证明(PDLwSlackProof):
- 证明某个数是另一个数的离散对数,但允许一定范围的误差。
-
范围证明(Range Proof):
- 证明某个数在一个特定的范围内。