1.02k likes | 1.31k Views
第十章 數論演算法. 10.1 數論回顧 (Number Theory Review) 10.1.1 合成數與質數 10.1.2 最大公因數 10.1.3 質因數分解 10.1.4 最小公倍數 10.2 計算最大公因數 10.2.1 歐幾里得演算法 10.2.2 歐幾里得演算法的擴充. 10.3 模演算的回顧 10.3.1 群論 10.3.2 在模 n 同餘 10.3.3 子群 10.4 解模線性方程 10.5 計算模冪次 10.6 尋找大質數 10.6.1 搜尋大質數 10.6.2 檢驗數值是否為質數 10.7 RSA 加密系統
E N D
第十章 數論演算法 • 10.1數論回顧(Number Theory Review) 10.1.1合成數與質數 10.1.2最大公因數 10.1.3質因數分解 10.1.4最小公倍數 • 10.2計算最大公因數 10.2.1歐幾里得演算法 10.2.2歐幾里得演算法的擴充
10.3模演算的回顧 10.3.1群論 10.3.2在模n同餘 10.3.3子群 • 10.4解模線性方程 • 10.5計算模冪次 • 10.6尋找大質數 10.6.1搜尋大質數 10.6.2檢驗數值是否為質數 • 10.7 RSA加密系統 10.7.1公鑰加密系統 10.7.2 RSA加密系統
10.1.1合成數與質數 • 若大於1個整數n僅有兩個除數:1與n,則我們稱n為質數(prime number)或簡稱為質(prime)。質數沒有因數。大於1的非質數整數則被稱為合成數(composite number)。合成數至少有一個因數。
10.1.2最大公因數 • 若h│n且h│m,則h稱為n和m的公因數。若n和m不全為零,則n和m的最大公因數(greatest common divisor),被標示為gcd(n,m),是同時整除他們的最大整數。
定理10.1 • 若h│n且h│m,則對於任何整數I和 j h│(in+jm) • 證明:既然h│n和h│m,則存在整數k和l使得n=kh及m=lh。因此 in+jm=ikh+jlh=(ik+jl)h 代表h│(in+jm)
定理10.2 • 令n和m為整數,不全為0,並令 即,d是n和m的最小正線性組合。則
推論10.1 • 假設n與m為整數,不全然為0,則n與m的每個公因數皆為gcd(n,m)的除數。 意指如果h│n且h│m,則 h│gcd(n,m) • 證明:藉由先前的定理,gcd(n,m)為n與m的線性組合。由定理10.1可得此證明
定理10.4 • 若h與m互質,且h整除nm,則h整除n。 也就是說。gcd(h,m)=1且h│nm意味著h│n。 • 證明: ih+jm=1 (ni)h+j(nm)=n
推論10.2 給定整數n,m及質數p,假如p│nm,則p│n或p│m(可兼得)
定理10.5 唯一分解定理(unique factorization theorem) • 大於1的整數必可分解為唯一的一組質數乘積,亦即 其中p1<p2<…<pj皆為質數,且這個n的表示式是唯一的。整數ki在n中稱為pi的次數(order)
定理10.6 • gcd(n,m)為n與m兩者質數乘積的共同部分,而乘積中各個質數的冪次為其在n與m中次數較小者
10.1.4最小公倍數 • 類似最大公因數的概念式最小公倍數。 若n與m皆不為零,則n與m的最小公倍數(least common multiple),標示為1cm(n,m),是他們同時整除的最小正整數。
定理10.7 • 1cm(n,m)為n與m兩者質數乘積的共同部分,而乘積中各個質數的冪次為其在n與m中次數較大者
10.2計算最大公因數 10.2.1歐幾里得演算法
分析演算法10.1 最差情況時間複雜度(歐幾里得演算法) • 基本運算:計算餘數的過程中,單一位元的運算 • 輸入大小:花在將n編碼的位元數s及將m編碼的位元數t。
10.3.3子群 • 若G=(S,*)為一個群, ,且 亦為一個群,則稱 為G的子群(subgroup)。若 ,則稱 為嚴格子群(proper subgroup)