现代密码学8.1--密码学所涉及的数论和群论

博主正在学习INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些笔记供自己回忆,如有错误请指正。整理成一个系列现代密码学,方便检索。

博主暂时跳过私钥加密部分,直接进入公钥加密,从第8章开始。

8.1节介绍了密码学所涉及的数学知识:数论群论。其中,数论在初等数论,群论在近世代数中有较为完整深入的介绍。所以此节只简单概述数论和群论的定理,少数进行证明。

数论

素数和整除

  • a ∈ Z , b ∈ Z + a\in Z,b\in Z^+ aZ,bZ+,存在唯一的整数 q , r q,r q,r使得 a = q b + r , 0 ≤ r ≤ b a=qb+r,0\le r\le b a=qb+r0rb
  • ∃ X , Y ∈ Z , s . t . X a + Y b = g c d ( a , b ) \exists X,Y\in Z,s.t. Xa+Yb=gcd(a,b) X,YZ,s.t.Xa+Yb=gcd(a,b) g c d ( a , b ) gcd(a,b) gcd(a,b)是可以写成 X a + Y b Xa+Yb Xa+Yb的最小正整数。
  • 如果 c ∣ a b c\mid ab cab,且 g c d ( a , c ) = 1 gcd(a,c)=1 gcd(a,c)=1,那么 c ∣ b c\mid b cb。可推出,如果 p p p是素数,而且 p ∣ a b p\mid ab pab,那么 p ∣ a p\mid a pa p ∣ b p\mid b pb。(因为 p ∤ a → g c d ( a , p ) = 1 p\nmid a\rightarrow gcd(a,p)=1 pagcd(a,p)=1)
  • 如果 a ∣ N , b ∣ N , g c d ( a , b ) = 1 a\mid N,b\mid N,gcd(a,b)=1 aN,bN,gcd(a,b)=1,那么 a b ∣ N ab\mid N abN

模运算

  • 如果 a = q N + r a=qN+r a=qN+r,那么 [ a [a [a mod N ] = r N]=r N]=r
  • “规约后,加、减、乘 ↔ \leftrightarrow “加、减、乘,再规约”;即如果 a = a ′ a=a' a=a mod N , b = b ′ N,b=b' N,b=b mod N N N,则有 a + b = a ′ + b ′ a+b=a'+b' a+b=a+b mod N , a b = a ′ b ′ N,ab=a'b' N,ab=ab mod N N N
  • 除法不一定能满足,因为往往没有定义。只有 b b b在模 N N N下是可逆的,即 ∃ c ∈ { 1 , 2 … … N − 1 } , s . t . b c = 1 \exists c\in \{1,2……N-1\},s.t. bc=1 c{ 1,2N1},s.t.bc=1 mod N N N,才有 a / b = a ′ / b ′ = a ′ c a/b=a'/b'=a'c a/b=a/b=ac mod N N N。而且 b b b在模 N N N下是可逆的 ↔ g c d ( b , N ) = 1 \leftrightarrow gcd(b,N)=1 gcd(b,N)=1。(根据扩展欧几里得算法 g c d ( b , N ) = 1 → X b + Y N = 1 → X b = 1 gcd(b,N)=1\rightarrow Xb+YN=1\rightarrow Xb=1 gcd(b,N)=1Xb+YN=1Xb=1 mod N → X = b − 1 N\rightarrow X=b^{-1} NX=b1 mod N N N)
  • N N N下的加、减、乘、逆、指数运算都可以在多项式时间内完成。

群论

有限群

  • 密码学中通常研究的是有限交换群
    • 封闭性、结合性、单位元、逆元、有限、交换性
  • 有限群 G G G的阶 m = ∣ G ∣ m=|G| m=G,则 ∀ g ∈ G , g m = 1 \forall g\in G,g^m=1 gG,gm=1。(根据循环群 g g g的阶是 < g > <g> <g>的阶,根据拉格朗日定理 < g > <g> <g>的阶是 ∣ G ∣ |G| G的因子,则 g g g的阶是 ∣ G ∣ |G| G的因子,即若 g g g的阶为 d d d,则有 d ∣ m d\mid m dm,即 g m = g n d = ( g d ) n = e n = e g^m=g^{nd}=(g^d)^n=e^n=e gm=gnd=(gd)n=
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值