Number Theory
#Math213
Basic
Division 整除
-
带余除法
divisor: 除数, dividend: 被除数, quotient 商,remainder 余数
注意带余除法的计算复杂度通过位运算简化可实现 $O(q\log a)$ 量级
-
同余 congruent
- mod m 的剩余系
整数进制表示
Algorithm for Integer Operations
Multiplication
Binary Modular Exponentiation
质数
Prime: 质数
Composite:合数
最大公约数 (GCD) 与最小公倍数 (LCM)
辗转相除求 GCD: 直接写出辗转相除的过程,然后将中间量一步步向前代换,得到 gcd 作为两数线性表示的最小值
裴蜀定理:GCD 为两者的线性表示
注意:可以利用裴蜀定理得出 gcd 的线性表示确定不定方程的解集
线性同余
逆:
-
当 a,m 互素时,存在 a 模 m 的逆
-
求解逆:考虑利用 gcd 的线性表示辗转相除
中国剩余定理
注意 CRT 解的构造过程:
记
$$ M_{i} = \frac{m}{m_{i}} $$
对于每一个 $M_{i}$, 我们考虑其模 $m_{i}$ 的逆
$$ M_{i}y_{i} \equiv 1 \pmod{m_{i}} $$
最终若有 $m_{i}$ 两两互素,我们有模 m 意义下的唯一解:
$$ x \equiv \sum_{i=i}^{n}a_{i}M_{i}y_{i} $$
Crytography
Pseudorandom Number Generators
利用线性同余递推数列生成随机数
Hash Functions
Definition
将任意长度的数据映射到固定长度的数据
Common Solution
直接利用同余函数进行映射
避免同余后的结果映射到相同位置 ->Assign Free Location following the occupied memory location assigned by the hashing function(即将对应的映射结果向后递推)
Cryptography
Shift Ciphers
将明文加上偏移量后关注其在完全剩余系中的结果
复杂化 ->考虑引入一个与模互素的数,构造新的完全剩余系
Private/Public Key Cryptosystem
Public Key Cryptosystem
RSA Cryptosystem
-
原理
公钥:(n,e)
私钥:(d)
注意核心的大素数一定需要保密
-
例子:
-
应用
- 关注原根的概念:素数的原根即为其最小生成整个 modp 完系的生成元