零知识证明的基础:群与有限域

1、群
        一个群(Group)是一个代数结构,它包含了一个集合以及一个在这个集合上定义的二元运算∘(通常指加法和乘法),通常记作< G , ∘ > ,简单记为G.满足以下四个性质。

(1)封闭性:对于群中的任意两个元素 a 和 b,通过群的二元运算,它们的组合 a∘ b 也必须属于该群。换句话说,运算结果不会使元素离开群。

(2)结合性:群中的二元运算是结合的,即对于任意元素 a、b 和 c,(a ∘b) ∘c = a∘ (b ∘ c)。

(3)单位元素:群中存在一个特定的元素 e,称为单位元素,它满足对于群中的任何元素 a,e ∘a = a ∘ e = a。

(4)逆元素:对于群中的每个元素 a,必须存在一个逆元素 a^-1,使得 a ∘a^-1 = a^-1∘ a = e,其中 e 是单位元素。

  • 全体整数 𝑍 对于通常意义上的加法构成一个群,这个群称为整数加群。在整数加群中,单位元是0, 𝑎 的逆元是 −𝑎 ;同样全体有理数集合 𝑄 ,全体实数集合 𝑅 ,全体复数集合 𝐶 对加法也构成群。
  • 全体非零实数 𝑅∗ 对于通常意义上的乘法构成一个群,全体正实数 𝑅+ 对于通常意义上的乘法也构成一个群。

2、群的阶

       群的阶:群中元素个数称为群G的阶,记为|G|

3、循环群
       循环群,其元素由一个生成元重复作用而生成。具体来说,如果群G中存在一个元素g可以通过重复的使用二元运算(通常是乘法或加法)生成 G 中的所有元素,则群G就是循环群,元素g称为生成元。

      循环群G内任意一个元素所生成的群都是循环群,而且是G的子群

4、阿贝尔群

    如果群 G上的乘法运算还满足交换律,即对于群 G中的任意元素 𝑎,𝑏∈G 都有 𝑎𝑏=𝑏𝑎 ,则称群 G为交换群或阿贝尔群。

5、陪集(Cosets)

      设 G 是一个群,H 是 G 的一个子群。对于 G 中的任意元素 a,左陪集 aH 定义为:aH = {ah | h ∈ H},其中 ah 表示 a 和 h 在群 G 中的运算结果。右陪集 Ha 定义为:Ha = {ha | h ∈ H}

  • 陪集是由一个子群的所有元素与群中某个特定元素进行运算得到的所有结果的集合。

  • 左陪集和右陪集不一定相同。

  • 陪集本身不一定构成群

6、域(Feild)

      一个域是一个集合 F,它包含两个运算:加法(+)和乘法(·),满足以下性质:

  • 加法:

    • 结合律: (a + b) + c = a + (b + c)

    • 交换律: a + b = b + a

    • 存在零元: 存在一个元素 0 ∈ F,使得 a + 0 = a

    • 存在负元: 对于每个 a ∈ F,存在一个元素 -a ∈ F,使得 a + (-a) = 0

  • 乘法:

    • 结合律: (a · b) · c = a · (b · c)

    • 交换律: a · b = b · a

    • 存在单位元: 存在一个元素 1 ∈ F,使得 a · 1 = a

    • 存在逆元: 对于每个 a ∈ F 且 a ≠ 0,存在一个元素 a⁻¹ ∈ F,使得 a · a⁻¹ = 1

  • 分配律: a · (b + c) = (a · b) + (a · c)

  有理数集、无理数集以及复数集是都构成域。

7、有限域

       有限域,也称为伽罗瓦域(Galois Field),是指包含元素个数(称为域的阶)有限的域。有限域有以下性质:

  • 有限域的元素个数(即阶数)必须是一个素数的幂,记作 pⁿ,其中 p 是素数,n 是正整数。

  • 对于每个素数 p 和正整数 n,存在唯一的阶数为 pⁿ 的有限域,记作 GF(pⁿ) ,素数P就是该有限域的“特征数”。

  • 有限域中的所有非零元素构成一个循环群。

    构造有限域的关键运算就是模加和模乘运算。

8、素数域与GF(2^n)域

       在密码学中,最常用的域是阶为p的素数域GF(p)或阶为2^n的GF(2^n)域。

       当n=1时,存在有限域GF(p),也称为“素数域”。GF(p)就是mod p,因为一个数模p后,结果在[0,p-1]之间,即该域中有p个元素;对于元素a和b,则(a+b) mod p和(a*b)mod p,其结果都是域中的元素;GF(p)的加法和乘法单位元分别是0和1。

9、零知识证明中的小域

       (1)Goldilocks域是p = 2^64 − 2^32 + 1 ,p足够小意味着使用64位字段就可表达Golidilocks域内任一元素,这在许多CPU上都能很好地工作。(Plonky2使用)

       (2)BabyBear域 p = 2^31 − 2^27 + 1,使用32位字段就可表达BabyBear域内任一元素. (RISC Zero zkVM使用)

       (3)Mersenne31域 p = 2^31 − 1.(Plonky3使用)

参考:

【密码学基础】05 有限域-CSDN博客

群、环的一些基本概念 - 知乎 (zhihu.com)

STARKs with small finite field:小域带来的迷人性能_plonky3介绍-CSDN博客

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值