Skip to main content

零知识证明术语

零知识证明(Zero-Knowledge Proof, ZKP)是密码学中的一种技术,用于在不泄露任何具体信息的情况下证明某个声明的真实性。以下是一些常见的零知识证明相关术语:

基本术语

  1. 证明者(Prover)

    • 提供证明的一方,试图向验证者证明某个声明的真实性。
  2. 验证者(Verifier)

    • 检查并验证证明的一方,确定证明者的声明是否真实。
  3. 公共参数(Public Parameters)

    • 所有参与方都知道的参数,通常包括一些公钥、生成元等。
  4. 秘密参数(Secret Parameters)

    • 仅证明者知道的参数,用于生成证明。

数学基础

  1. 离散对数(Discrete Logarithm)

    • 给定一个生成元gg和一个元素hh,找到一个整数xx使得gx=hg^x = h(模某个大素数)。
  2. 椭圆曲线(Elliptic Curve)

    • 一种用于加密和零知识证明的代数结构,具有特定的数学性质。
  3. 模数运算(Modular Arithmetic)

    • 数学运算的一种,所有计算都在一个固定的整数范围内进行(模某个数)。

证明协议

  1. Sigma 协议(Sigma Protocol)

    • 一种三步交互式证明协议,包括承诺、挑战和响应三个步骤。
  2. 非交互式零知识证明(NIZK)

    • 不需要证明者和验证者之间的交互,可以通过公共参数和一次性证明完成。
  3. 离散对数证明(DlnProof)

    • 证明某个数是另一个数的离散对数。
  4. 带松弛的离散对数证明(PDLwSlackProof)

    • 证明某个数是另一个数的离散对数,但允许一定范围的误差。
  5. 范围证明(Range Proof)

    • 证明某个数在一个特定的范围内。

算法和技术

  1. 哈希函数(Hash Function)

    • 将任意长度的输入映射到固定长度的输出,具有不可逆性和抗碰撞性。
  2. 承诺方案(Commitment Scheme)

    • 类似于“数字信封”,证明者可以承诺某个值,但在揭示之前验证者无法知道该值。
  3. 同态加密(Homomorphic Encryption)

    • 支持在加密数据上直接进行特定运算的加密技术。
  4. Paillier 加密

    • 一种同态加密算法,支持加法同态。

特定术语

  1. 生成元(Generator)

    • 一个元素,用于生成整个群的所有元素。
  2. 挑战(Challenge)

    • 验证者发出的随机数,用于确保证明的真实性。
  3. 响应(Response)

    • 证明者根据挑战计算出的值,用于回应验证者的挑战。
  4. 哈希值(Hash Value)

    • 通过哈希函数计算出的固定长度的输出。
  5. 安全参数(Security Parameter)

    • 用于定义系统的安全性,通常是一个整数,越大表示安全性越高。

了解这些术语有助于更好地理解零知识证明的工作原理和实现细节。