diff --git a/02_Prime/readme.md b/02_Prime/readme.md index 3482618..db2378c 100644 --- a/02_Prime/readme.md +++ b/02_Prime/readme.md @@ -89,10 +89,21 @@ print(f'小于等于{limit}的质数: {prime_numbers}') - 利用[费马小定理](../07_Exp/readme.md)来测试。 - [米勒-拉宾检验](https://zh.wikipedia.org/wiki/米勒-拉賓檢驗) -## 5. 质数在密码学中的应用 +## 5. 质因式分解 +质因数分解(Prime factorization)是数学中的一种概念,任何一个合数都可以分解为若干个素数的乘积。例如,数字12可以分解为2 x 2 x 3。 +质因式分解仅针对合数,求一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。分解质因数的算式叫短除法,和除法的性质相似,还可以用来求多个数的公因式。 + +## 6. 最大公因数和最小公倍数 +最大公因数(highest common factor,hcf)也称最大公约数(greatest common divisor,gcd)是数学词汇,指能够整除多个非零整数的最大正整数。若多个正整数记为 $` (a_1,a_2, …… , a_n) `$,则他们的最大公因数可以表示为 $`gcd(a_1,a_2, …… , a_n)`$ 。例如8和12的最大公因数为4,记为$`gcd(8,12) = 4`$。此外,最大公因数至少为1。常采用列举法、素因数分解、短除法进行求解。 + +最小公倍数(least common multiple,lcm)表示若有一个数$`X`$,可以被另外两个数$`A`$、$`B`$整除,且$`X`$同时大于或等于$`A`$和$`B`$,则$`X`$为$`A`$和$`B`$的公倍数。$`A`$和$`B`$的公倍数有无限个,而所有正的公倍数中,最小的公倍数就叫做最小公倍数。不失一般性,$`n`$整数$`a_1`$,$`a_2`$,⋯,$`a_n`$的最小公倍数一般参照英文记法记作$`lcm⁡(a_1,a_2,……, a_n)`$。常采用列举法、短除法进行求解。 + +上述二者的关系为 $`gcd(a,b) * lcm(a,b) = |ab| `$ + +## 7. 质数在密码学中的应用 质数在密码学领域扮演着重要的角色,特别是在公钥密码学中。举个例子,RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,它使用了大质数的乘积作为公钥和私钥的一部分:计算质数的乘积很简单,但是将大合数分解为质因数非常困难,这保证了RSA加密算法的安全性。 -## 6. 总结 +## 8. 总结 -在这一讲中,我们学习了质数的基础知识,包括定义、性质以及寻找质数的方法。质数在数学和密码学中都有着重要的应用,为我们理解零知识证明奠定了基础。 +在这一讲中,我们学习了质数的基础知识,包括定义、性质以及寻找质数的方法,以及质因式分解、最小公倍数和最大公约数的简单介绍。质数在数学和密码学中都有着重要的应用,为我们理解零知识证明奠定了基础。