Part II: Structures

第九章:數論

數論研究整數的性質,它是密碼學的基石。本章將介紹整除、模運算以及著名的 RSA 加密演算法。

9.1 & 9.2 整除性與最大公因數

若 $n$ 除以 $d$ 的餘數為 0,則稱 $d$ 整除 $n$,記作 $d | n$。
最大公因數 $gcd(a, b)$ 是能同時整除 $a$ 和 $b$ 的最大整數。

🧪 歐幾里得算法互動

歐幾里得算法 是計算 GCD 的高效方法。請輸入兩個數字:

等待輸入...

9.6 模運算

模運算關注的是除法後的「餘數」。我們稱 $a \equiv b \pmod n$ 如果 $n$ 整除 $(a-b)$。這就像一個時鐘,轉了一圈後數字重複。

9.11 RSA 公開金鑰加密

RSA 是一種非對稱加密演算法:公鑰用於加密,私鑰用於解密。其安全性基於大整數分解的困難性。

🔒 簡化 RSA 演示 (使用小質數)

步驟 1: 選擇質數
步驟 2: 計算參數
n = p * q = 3233
φ(n) = (p-1)(q-1) = 3120
選擇 e (與 φ 互質): 17
計算 d (e 的模反元素): 2753
加密: c = m^e mod n
解密: m = c^d mod n

註:此處使用小質數演示。實際應用中,質數長度可達數千位。

教材來源:Mathematics for Computer Science (Lehman, Leighton, Meyer)