zoukankan      html  css  js  c++  java
  • Cryptography I 学习笔记 --- 数论简介

    0. Zn代表{0,1....n-1}的集合

    1. 模运算符合交换律结合律

    2. gcd(greatest common divisor),可以由扩展欧几里得算法快速得到。

    3. 模逆(modular inversion),在Zn上,x的模逆为y,那么x*y=1 mod n

    4. Zn上如果x有模逆,那么x与n互质,也就是gcd(x,n)=1

    5. Zn*代表Zn中,所有可逆元素的集合。那么如果n为质数,那么Zn* = Zn - {0}

    6. 费马小定理:如果p是质数,那么任意x ∈ Zp*,都有xp-1 = 1 (在Zp上)。可以用费马小定理判定一个数是否为素数,但是有极少数的Carmichael数会躲过这一检测

    7. 如果g ∈ Zp* 并且 {1,g,g2,g3...gp-2}=Zp* ,那么g是Zp* 的生成元(generator)

    8. 对于g ∈ Zp*,{1,g,g2,g3...gp-2}的大小,是g在p上的序(Order),记做ordp(g)。另外有,(p -1 ) 一定能被 ordp(g) 整除

    9. 欧拉函数:φ(n) = 为从1到n,与n互质的数的个数。

      如果n为质数:φ(n) = n-1

      如果n为质数p的k次方,那么φ(n) =pk-pk-1

      如果n=p*p,且p与q互质,那么φ(n)  = φ(q) *φ(p) 

    10. 欧拉公式:如果a与n互质,那么aφ(n) = 1 mod n。很显然,费马小定理是欧拉公式的特例

    11. 如何求某个元素的模逆?可以利用欧拉公式:aφ(n)  = a * aφ(n)-1 = 1 mod n,也就是说a的模逆是 aφ(n)-1 mod n

    12. 中国剩余定理:只需要较弱的一个结论:如果p与q互质,且x = y mod p,x = y mod q,那么可以得到x = y mod p * q

    13. 如何求一个阶为n的有限循环群的生成元?以及一个阶为n的有限循环群的生成元有多少个?

      如果gcd(n, r)=1,也就是说只要r与n互质,那么r就是这个阶为n的有限循环群的生成元

      也就是说,一个阶为n的有限循环群的生成元有φ(n)个。

  • 相关阅读:
    英文半字节压缩编码技术
    博弈翻硬币游戏
    POJ 2015 Permutation Code
    8051、ARM和DSP指令周期的测试与分析
    Huffman编码
    CentOS 命令提示符颜色及样式详解
    JAVA程序员面试32问
    面向抽象编程:接口和抽象类
    初学实用:实例讲解Java中的接口的作用
    C#和Java的区别
  • 原文地址:https://www.cnblogs.com/stevenczp/p/6551539.html
Copyright © 2011-2022 走看看