毕设学习过程中得学习笔记
参考书是密码编码学与网络安全
整除
b整除a,即是a/b没有余数,即为b|a,称b为a的因子
整数整除的性质
①若a|1,则 a = ±1.
②若a|b,且b|a,则 a = ±b。
③任意非零数b整除0.
④若a|b,b|c,则a|c
⑤若b|g,b|h,则对任意整数m,n,有b|(mg+nh)
欧几里得算法
欧几里得算法基于定理:
对于任意非负整数a和任意正整数b,
gcd (a,b) = gcd (b,a mod b)
定义1:两个整数称为互素的,如果它们唯一的正整数公因子是1。
最大公因子:对于整数a和b,能够同时整除a和b的最大整数是a和b的最大公因子,记为gcd(a,b)。定义gcd(0,0) = 0。
因此如果 gcd(a,b) = 1,那么a和b互素。
求最大公因子
设有整数a,b,使得 d = gcd(a,b)。因为要求的最大公因子是正整数,所以gcd(a,b)=gcd(|a|,|b|),因此假设a≥b>0。
现在用b除a,则a= q1 x b + r1,0≤r1<b。
若r1=0,则b|a,d=gcd(a,b)=b。
若r1≠0,由整除性质⑤,d|a,d|b,那么d|(a-q1 x b),因此d|r1。
而对任意整数c,若c|b,c|r1,那么c|(q1 x b+r1)=c|a,又d=gcd(a,b),则有c≤b,因此d=gcd(b,r1)。
因为b>r1,用r1除b,则b= q2 x r1 + r2,0≤r2<r1。
和前面一样分为r2=0和r2≠0讨论,这样辗转相除直到除法过程中余数为0。
模运算
如果a是整数,n是正整数,则定义a模n是a除以n所得的余数。整数n称为模数。
如果(a mod n) = (b mod n),则称整数a和b是模n同余的。表示为a≡b(mod n)
同余的性质
①如果n|(a - b),那么a≡b(mod n)。
②a≡b(mod n)隐含b≡a(mod n)。
③a≡b(mod n),b≡c(mod n)隐含a≡c(mod n)。
①证明:
如果n|(a - b),那么存在某个k使得(a-b)=kn。于是有a=b+kn。
因此(a mod n) = (b + kn除以n的余数) = (b除以n的余数) = (b mod n)。
模算术运算
性质: