美文网首页
RSA加密算法数学基础

RSA加密算法数学基础

作者: 不懂球的2大业 | 来源:发表于2019-12-09 15:35 被阅读0次

    1.同余类

    • 概念:给定正整数m,全体整数可按照模m是否同余分成若干两两不相交的集合,使得每一个集合中的任意两个正整数对模m一定同余,而属于不同集合的任意两个整数对模m不同余,每一个这样的集合称为模m同余类或剩余类
    • 例子:取m=7,则\{0,7,14,...\}是模7的同余类。
    • 定理:对于给定的正整数m,有且恰有m个不同的模m的剩余类。
    • m的m个剩余类可分别记为[i]i为该剩余类中整数除m所得的余数,可分别如下表示:
      [0]=\{...,-2m,-m,0,m,2m,...\}
      [1]=\{...,-2m+1,-m+1,1,m+1,2m+1,... \}
      [2] = \{...,-2m+2,-m+2,2,m+2,2m+2,... \}
      ...
      [m-1] = \{...,-2m+(m-1),-m+(m-1),m-1,m+(m-1),2m+(m-1),... \}

    2.完全剩余系

    • 概念:在整数模m的所有剩余类中各取一个代表元素a_1,a_2,...,a_m,(a_i\in [i-1],i = 1,2,...,m),则称a_1,a_2,...,a_m为模m完全剩余系。完全剩余系0,1,2,...,m-1称为最小非负完全剩余系
    • 例子:7,15,16,-4,-10,5,-1为模7的一组完全剩余系。0,1,2,3,4,5,6为模7的最小非负完全剩余系。
    • Z_m表示由m的最小非负完全剩余系集合Z_m = \{ 0,1,2,...,m-1\}Z_m中的加法、减法、乘法都是模m下的运算。
    • 定理:设m是正整数,整数a满足gcd(a,m)=1b是任意整数。若x遍历模m的一个完全剩余系,则ax+b也遍历模m的一个完全剩余系。
    • 定理:设m_1,m_2是两个互素的正整数。如果x遍历模m_1的一个完全剩余系,y遍历模m_2的一个完全剩余系,则m_1y+m_2x遍历模m_1m_2的一个完全剩余系。

    3.欧拉函数

    • 在模m的一个剩余类当中,如果有一个数与m互素,则该剩余类中所有的数均与m互素,这时称该剩余类与m互素。
    • 概念:与m互素的剩余类的个数称为欧拉函数,记为\phi(m)\phi(m)等于Z_m当中与m互素的数的个数。对于任意一个素数p\phi(p)=p-1
    • 例子:\phi(6)=2,表示Z_6中与6互素的数的个数,既1,5

    4.简化剩余系

    • 概念:在与m互素的\phi(m)个模m的剩余类中各取一个代表元a_1,a_2,...,a_{\phi(m)},它们组成的集合称为模m的一个既约剩余系或简化剩余系。Z_m中与m互素的数构成模m的一个既约剩余系,称为最小非负既约剩余系
    • 定理:设m是正整数。整数a满足gcd(a,m)=1。若x遍历模m的一个既约剩余系,则ax也遍历模m的一个既约剩余系。
    • 定理:设m_1,m_2是两个互素的正整数。如果x遍历模m_1的一个既约剩余系,y遍历模m_2的一个既约剩余系,则m_1y+m_2x遍历模m_1m_2的一个既约剩余系。

    5.欧拉定理

    • 推论:设m,n是两个互素的整数,则\phi(mn)=\phi(m)\phi(n)
    • 定理:若m = p_1^{e_1}p_2^{e_2}...p_k^{e_k},则\phi(m) = m\prod_{i=1}^{k}(1-{1\over{p_i}})
      证明:当m = p^{e}为单个素数的方幂时,在模m的完全剩余系\{0,1,2,...,p^e-1\}p^e整数中与p不互素的只有p的倍数,共有p^{e-1},因此与p^e互素的数共有p^e-p^{e-1},即\phi(p^e)=p^{e}-p^{e-1}=p^e(1-{1\over p}),根据上面的推论有\phi(m) = \phi(p_1^{e_1})\phi(p_2^{e_2})...\phi(p_k^{e_k})=\prod_{i=1}^{k}p^{e_i}_i(1-{1\over{p_i}})=m\prod_{i=1}^{k}(1-{1\over{p_i}})
    • 例子:\phi(120)=120\cdot(1-{1\over2})(1-{1\over3})(1-{1\over5})=32
    • 定理:设m是正整数,r\in{Z_m},若gcd(r,m)=1,则存在整数s\in{Z_m},使得rs\equiv1(mod\ m),整数s也成为r模整数m下的乘法逆元。
    • 例子:求15\ (mod\ 26)的乘法逆元。
      解:1526互素,存在乘法逆元。做辗转相除法,可得:
      26 = 1\times15+11
      15 = 1\times11+4
      11 = 2\times4+3
      4=1\times3+1
      由此有:
      1 = 4-3
      \ \ =4-(11-2\times4)
      \ \ =3\times4-11
      \ \ =3\times(15-11)-11
      \ \ =3\times15-4\times11
      \ \ =3\times15-4\times(26-15)
      \ \ =7\times15-4\times26
      所以15\ mod(\ 26)的乘法逆元为7
    • 欧拉定理:设m是正整数,r\in{Z_m},若gcd(r,m)=1,则r^{\phi(m)}\equiv{1}(mod\ m)

    参考文献:

    电子科技大学-现代密码学课件。

    相关文章

      网友评论

          本文标题:RSA加密算法数学基础

          本文链接:https://www.haomeiwen.com/subject/kaibgctx.html