密码学-数论基础

数论基础

整除性和带余除法

  • 整除性:b整除a :b|a、b是a的一个因子
    • 性质:a|1 ,a=+(-)1
  • 带余除法:a=qn+r,|r|<|n|,q=a/n向下取整,余数的符号和除数同号

欧几里得算法

  • gcd(a,b) = gcd(b,a%b=r),where a>=b>0 and a%b! = 0
  • 密码学-数论基础_第1张图片)]

模运算

  • a除以n所得的余数为a模n,记为a mod n,n成为模数,ex:余数与模数同号

  • 同余:(a mod n)=(b mod n)称为a和b是模n同余,记为a=b(mod n)

  • 性质:

    • 相减的两个数可被模数整除,则这两个数同余
    • 交换律
    • 传递性
  • 模算数运算

密码学-数论基础_第2张图片

1、2、3可以这样理解:模两数的余数的运算等于模两数运算,运算中包括了对期间模数的去重

幂运算也如此

  • 模运算的单位元:模+的单位元为0,模x运算的单位元为1

  • 逆元:

    • (a+b)mod n =0,称a在mod n运算中加法逆元为b
    • (a x b)mod n =1,称a在mod n运算中乘法逆元为b
  • 模运算的性质:

    • 剩余类集:定义比n小的非负整数集合为Zn={0,….,(n-1)},

    • 剩余类:Zn中每个元素都代表一个剩余类,模n的剩余类表示为[0]、[1]、[2](、。。。、[n-1]

      [r] = {a: a是一个整数,a=r(mod n)}:所有与r在模数n下同余的数

    -密码学-数论基础_第3张图片

    • (a+b) = (a+c)(mod n) a在Zn中有加法逆元,则b=c(mod n),在Zn中,所有元素都有加法逆元

    • ab = ac (mod n) a在Zn中有模乘法逆元,那么有 b=c(mod n),在Zn中,如果元素a与n互素,那么a有模乘法逆元

扩展欧几里得算法

  • ax+by = d = gcd (a,b)

  • xi=xi-2 - xi-1*qi
    yi = yi-2 - yi-1*qi
    qi = ri-2 /ri-1 取整
    初始条件r-1 = a、r0 = b 、x-1=1,y-1 = 0、x0 =0 、y0=1
    
  • 密码学-数论基础_第4张图片

  • x与y的求法:就是在欧几里得算法的每一步,都附带算上xi=xi-2 - xi-1qi和yi = yi-2 - yi-1qi

素数:整数p>1是素数,当且仅当p只有因子+、-1和±p

  • 整数因式分解:任意整数都可以用素数进行唯一的因式分解:a = p1a1*p2a2*……*pt^at,其中p都是素数

费马定理:若p是素数,a是正整数且不能被p整除,则a^p-1 = 1(mod p)或者a^p = a(mod p)

欧拉定理:数论四大定理之欧拉定理 - 简书 (jianshu.com)

  • 欧拉函数:小于n且与n互素的正整数的个数

    f(1) = 1,f§ = p-1//p为素数

  • 欧拉函数计算方法:a = p1a1*p2a2*……*pt^at,则f(a) = a*Tt(1-1/pi) ///*如果有两个素数p和q ,n=pq,则f(n)= f(p)f(q)

  • 欧拉定理:a^f(n) = 1 mod n,对任意互素的整数a和n

离散对数

  • 模n整数幂:a^m = 1 mod n,满足该式的最小正幂为,a mod n 的阶、a所属模n的指数、a在模n运算的周期

    • 数a模n幂运算中,其阶最高为f(n).
    • 如果阶为f(n),则称a为模n幂运算的本原根,素数都有本原根,部分非素数有本原根
  • 模算数对数

    b = a^i(mod p)
    i = dlogb\a,p
    
  • 重要结论

    • 计算y = a^x mod p 很容易

    • 计算x = dlogy/a,p很难

    • 密码学-数论基础_第5张图片

  • 重要结论

    • 计算y = a^x mod p 很容易

    • 计算x = dlogy/a,p很难

你可能感兴趣的:(笔记,算法,网络安全)