Home
Explore Uedu
Student Console
Register as Member/Login
(2) In future presentations of the research findings, in addition to the course project website and public presentations, your real name and personal information will not appear in this research report. If you are interested in the research results, we can provide you with an executive summary after the study is completed.
問卷中心
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

0

Local AI

--

CISOSE26 本地 AI UG26
政治大學 AQI 18 29°C

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

數論

原根、二次剩餘與離散對數:另一把數論之鎖

從模 p 乘法群的循環結構,走進二次剩餘、乘法函數與離散對數的攻防,看見 RSA 之外那把支撐 Diffie–Hellman 與橢圓曲線密碼的鎖

已知 $a$、$b$ 與 $g^x \bmod p$,為什麼算回 $x$ 卻像在大海撈針?

你在入門篇已經和質數、同餘、以及 RSA 那把「容易上鎖、難以解鎖」的數論之鎖打過照面。那把鎖的安全性,建立在一個非常具體的不對稱:把兩個質數相乘很快,但把乘積分解回去很慢。

但密碼學裡還有另一把鎖,運作邏輯完全不同。它不靠「分解難」,而靠「找指數難」。考慮一個質數 $p$ 與一個固定的底數 $g$。給你 $x$,計算

$$ y \equiv g^{x} \pmod{p} $$

只需要 $O(\log x)$ 次乘法(快速冪)。但反過來,給你 $y$ 要還原 $x$,目前沒有已知的有效率演算法——這就是離散對數問題(discrete logarithm problem, DLP)。Diffie–Hellman 金鑰交換、ElGamal、乃至整個橢圓曲線密碼學(ECC)都站在它的肩膀上。

要真正理解這把鎖為什麼難開,我們得走進入門篇沒有細談的領域:模 $p$ 乘法群的內部結構、原根(primitive root)、二次剩餘(quadratic residue),以及把這一切黏合起來的乘法函數。這篇文章就帶你深入這個「同餘世界的幾何」。

數論進階概念示意圖

模 $p$ 的乘法群:一個被忽略的「圓」

入門篇把同餘當成「時鐘算術」,但更深刻的觀點是:模 $p$ 的非零餘數,在乘法之下構成一個群(group),記作 $(\mathbb{Z}/p\mathbb{Z})^{\times}$。

這個群有 $p-1$ 個元素:$\{1, 2, \dots, p-1\}$。它封閉於乘法(因為 $p$ 是質數,兩個非零數的乘積不會變成 $0$),每個元素都有反元素(這正是費馬小定理的推論:$a^{p-1}\equiv 1$,所以 $a\cdot a^{p-2}\equiv 1$)。

關鍵的深刻事實是:

$(\mathbb{Z}/p\mathbb{Z})^{\times}$ 是一個循環群(cyclic group)。

「循環」意思是,存在某個元素 $g$,它的各次方 $g^1, g^2, \dots, g^{p-1}$ 恰好把整個群跑過一遍,不重不漏。這個 $g$ 就叫做模 $p$ 的原根

舉個例子,取 $p=7$,試試 $g=3$:

$$ 3^1=3,\quad 3^2=2,\quad 3^3=6,\quad 3^4=4,\quad 3^5=5,\quad 3^6=1 \pmod 7 $$

你看,$\{3,2,6,4,5,1\}$ 正好是 $\{1,2,3,4,5,6\}$ 的重排。所以 $3$ 是模 $7$ 的原根。換句話說,乘法群其實「長得像」一個有 $p-1$ 個刻度的圓——原根就是那根一步走一格、繞一圈剛好回到起點的指針。

這個「圓」的存在,正是離散對數有意義的前提:$y\equiv g^x$ 把指數 $x$(一個加法世界的量)對應到 $y$(一個乘法世界的量)。離散對數,就是這個對應的反函數。

看一個例子:用原根「翻譯」乘法為加法

延續 $p=7$、$g=3$。我們可以做一張「離散對數表」(也叫指標表,index table):

$y$ $1$ $2$ $3$ $4$ $5$ $6$
$\log_3 y$ $0$ $2$ $1$ $4$ $5$ $3$

有了這張表,模 $7$ 的乘法就退化成模 $6$ 的加法。例如算 $5\times 6 \pmod 7$:

$$ \log_3(5\times 6)\equiv \log_3 5+\log_3 6 = 5+3 = 8\equiv 2\pmod 6 $$

而 $\log_3$ 值為 $2$ 的是 $y=2$,所以 $5\times 6\equiv 2\pmod 7$。驗證:$5\times 6=30\equiv 2\pmod 7$。正確。

這正是對數的精神——把乘法變加法。差別只在於:實數的對數可以用級數連續逼近,而離散對數沒有「連續」可言,整張表彷彿被徹底打亂,看不出 $y$ 和 $\log_g y$ 之間有任何可利用的規律。難,就難在這裡。

二次剩餘:哪些數開得了平方根?

走進這個圓之後,一個自然的問題是:在模 $p$ 的世界裡,哪些數有平方根?

一個數 $a$(與 $p$ 互質)若存在 $x$ 使得 $x^2\equiv a\pmod p$,就稱 $a$ 為二次剩餘(quadratic residue, QR);否則為二次非剩餘

模 $7$ 時,把 $1$ 到 $6$ 平方看看:

$$ 1^2=1,\ 2^2=4,\ 3^2=2,\ 4^2=2,\ 5^2=4,\ 6^2=1 \pmod 7 $$

得到的集合是 $\{1,2,4\}$。所以模 $7$ 的二次剩餘恰好有三個,非剩餘 $\{3,5,6\}$ 也恰好三個。這不是巧合:對奇質數 $p$,二次剩餘和非剩餘永遠各佔一半,各 $\frac{p-1}{2}$ 個。

從循環群的視角看,原因一目了然。$a$ 是二次剩餘 $\iff$ $\log_g a$ 是偶數。因為 $x^2\equiv a$ 翻譯成指標就是 $2\log_g x\equiv \log_g a\pmod{p-1}$,而 $p-1$ 為偶數,這個方程有解的充要條件正是 $\log_g a$ 為偶數。圓上一半的刻度是偶數,一半是奇數——剛好對半分。

勒讓德符號與歐拉判別法

我們用勒讓德符號(Legendre symbol)簡潔地記錄這件事:

$$ \left(\frac{a}{p}\right)= \begin{cases} +1 & a \text{ 是二次剩餘}\\ -1 & a \text{ 是二次非剩餘}\\ 0 & p\mid a \end{cases} $$

歐拉判別法(Euler's criterion)給了它一個可計算的公式:

$$ \left(\frac{a}{p}\right)\equiv a^{\frac{p-1}{2}}\pmod p $$

直覺是這樣:由費馬小定理 $a^{p-1}\equiv 1$,所以 $a^{(p-1)/2}$ 是 $1$ 的平方根,只能是 $\pm 1$。若 $a=x^2$,則 $a^{(p-1)/2}=x^{p-1}\equiv 1$;若 $a$ 是非剩餘,恰好落到 $-1$。

驗證 $a=2$、$p=7$:$2^{3}=8\equiv 1\pmod 7$,所以 $\left(\frac{2}{7}\right)=+1$,$2$ 確實是剩餘(前面看到 $3^2\equiv 2$)。再驗 $a=3$:$3^3=27\equiv 6\equiv -1\pmod 7$,所以 $3$ 是非剩餘,與前面的清單吻合。

二次剩餘不是抽象遊戲。它是 Goldwasser–Micali 加密、Rabin 密碼系統、以及許多零知識證明協定的核心難題——「二次剩餘性問題(quadratic residuosity problem)」在合數模下被認為是困難的。

把結構黏起來:乘法函數與歐拉 $\varphi$

到目前為止我們都在單一質數 $p$ 上工作。但 RSA 的模數是 $n=pq$,一旦離開質數,循環群的漂亮結構就會碎裂、重組。負責描述這個重組的,是乘法函數(multiplicative function)

一個算術函數 $f$ 若滿足:當 $\gcd(m,n)=1$ 時 $f(mn)=f(m)f(n)$,就稱為乘法函數。入門篇出現過的歐拉函數 $\varphi(n)$(小於 $n$ 且與 $n$ 互質的數的個數)正是其中最重要的一員:

$$ \varphi(p^k)=p^k-p^{k-1},\qquad \varphi(mn)=\varphi(m)\varphi(n)\ \ (\gcd(m,n)=1) $$

於是對 $n=\prod p_i^{k_i}$,

$$ \varphi(n)=n\prod_{p\mid n}\left(1-\frac{1}{p}\right) $$

乘法函數的威力在於:只要知道一個質數冪上的值,就能拼出所有合數上的值。 整個數論大廈很多時候就是這樣由質數「組裝」出來的。這也呼應了中國剩餘定理(CRT)的精神——$(\mathbb{Z}/n\mathbb{Z})^\times$ 在 $n=pq$ 時會「分解」成 $(\mathbb{Z}/p\mathbb{Z})^\times \times (\mathbb{Z}/q\mathbb{Z})^\times$ 的直積。

動手試試:莫比烏斯反演的一次體驗

乘法函數家族裡還有一位低調但極關鍵的成員:莫比烏斯函數(Möbius function) $\mu(n)$。

$$ \mu(n)= \begin{cases} 1 & n=1\\ (-1)^r & n \text{ 為 } r \text{ 個相異質數之積(無平方因子)}\\ 0 & n \text{ 含平方因子} \end{cases} $$

它的神奇之處在於這個求和恆等式:

$$ \sum_{d\mid n}\mu(d)= \begin{cases} 1 & n=1\\ 0 & n>1 \end{cases} $$

驗證 $n=12$:其因數 $1,2,3,4,6,12$,對應 $\mu$ 值為 $1,-1,-1,0,1,0$,總和 $=0$。成立。

這個「正負抵消」的性質讓我們能做莫比烏斯反演(Möbius inversion):若 $g(n)=\sum_{d\mid n}f(d)$,則可反推

$$ f(n)=\sum_{d\mid n}\mu(d)\,g\!\left(\frac{n}{d}\right) $$

它就像離散版的微積分基本定理,把「累加」反過來變成「差分」。在計算質數計數函數、各種篩法、甚至物理的容斥問題中,它都是主力工具。試著用它驗證 $\sum_{d\mid n}\varphi(d)=n$ 的反演形式,你會親手摸到乘法函數彼此勾連的骨架。

攻擊離散對數:難,但不是無限難

回到開頭那把鎖。如果離散對數真的只能「查整張表」,那麼對 $p$ 大到 $2048$ 位元時根本不可行——表有 $2^{2048}$ 列。但聰明的演算法能把難度從「指數」壓到「平方根」級。

Baby-step Giant-step(小步大步法) 的核心觀念是把指數寫成 $x=im+j$,其中 $m=\lceil\sqrt{p-1}\,\rceil$。於是

$$ g^{x}=y \;\Longrightarrow\; g^{j}=y\,(g^{-m})^{i} $$

預先算好所有 $g^j$($j=0,\dots,m-1$)存進雜湊表(baby steps),再逐一試 $y(g^{-m})^i$(giant steps)找碰撞。時間與空間都是 $O(\sqrt{p})$——對 $p\approx 10^{12}$ 來說,從一兆次降到一百萬次,是天壤之別。

這也是為什麼現代密碼學要求群階含有大質因數:若 $p-1$ 全是小質數之積(所謂 smooth),Pohlig–Hellman 演算法可以用 CRT 把問題拆到各個小質數子群上各個擊破,整把鎖瞬間崩潰。安全的參數必須讓 $p-1$ 至少有一個夠大的質因數。

重點回顧

  • 乘法群是循環的:$(\mathbb{Z}/p\mathbb{Z})^{\times}$ 由原根 $g$ 生成,整個同餘乘法世界其實是一個 $p-1$ 刻度的「圓」,這是離散對數成立的舞台。
  • 指標把乘法變加法:模 $p$ 的乘法 $\cong$ 模 $p-1$ 的加法,但這座橋(離散對數)目前沒有有效率的反向走法,正是 Diffie–Hellman 與 ECC 的安全根基。
  • 二次剩餘對半分:$a$ 是二次剩餘 $\iff$ 其指標為偶數 $\iff a^{(p-1)/2}\equiv 1$(歐拉判別法);勒讓德符號是記錄這件事的記號。
  • 乘法函數從質數組裝合數:$\varphi$、$\mu$ 等函數只要知道質數冪上的值即可推得全部,莫比烏斯反演則是把「累加」反推回「原函數」的離散基本定理。
  • 難度可被壓到平方根:BSGS 把離散對數從 $O(p)$ 降到 $O(\sqrt p)$;參數安全要求群階含大質因數,否則 Pohlig–Hellman 會把鎖拆碎。

深入探討(研究所視角)

把上述零件拉到研究所的高度,會看到三條彼此交織的主線。

其一:二次互反律與類域論的源頭。 勒讓德符號滿足高斯稱為「黃金定理」的二次互反律(quadratic reciprocity):對相異奇質數 $p,q$,

$$ \left(\frac{p}{q}\right)\left(\frac{q}{p}\right)=(-1)^{\frac{p-1}{2}\cdot\frac{q-1}{2}} $$

這條看似關於平方根的恆等式,其實是類域論(class field theory) 的最初投影——它把「在 $\mathbb{Q}$ 上一個質數如何分裂」這件事,編碼成模算術的對稱性。Artin 互反律把它推廣為阿貝爾擴張的伽羅瓦群與 idèle 類群之間的同構,而 Langlands 綱領則進一步把非阿貝爾的情形與自守表示(automorphic representations)連結,是當代數論的中軸。

其二:解析數論與 $L$-函數。 莫比烏斯函數不只是組合工具。狄利克雷級數 $\sum_n \mu(n)n^{-s}=1/\zeta(s)$ 把 $\mu$ 直接綁到黎曼 $\zeta$ 函數上,而質數定理 $\pi(x)\sim x/\ln x$ 的證明,本質上等價於 $\zeta(s)$ 在 $\mathrm{Re}(s)=1$ 上無零點。黎曼猜想——所有非平凡零點都落在 $\mathrm{Re}(s)=\frac12$ 上——等價於對 $\sum_{n\le x}\mu(n)=O(x^{1/2+\varepsilon})$ 這樣的誤差界,也就是說 $\mu$ 的正負必須抵消得「幾乎像隨機」。乘法函數的均值行為(Halász、Granville–Soundararajan 理論)至今仍是活躍的研究前沿。

其三:從有限體到橢圓曲線。 把模 $p$ 的乘法群換成橢圓曲線上的有理點群 $E(\mathbb{F}_p)$,離散對數問題就升級為 ECDLP。它的群階由 Hasse 定理約束在 $p+1-2\sqrt p \le \#E(\mathbb{F}_p)\le p+1+2\sqrt p$,且至今沒有像數體篩法(NFS)那樣的次指數演算法可破——這正是 ECC 能用遠小的金鑰達到同等安全的原因。然而一旦 Shor 演算法在容錯量子電腦上落地,無論是整數分解、模 $p$ 離散對數還是 ECDLP,都會被多項式時間攻破。這把後量子密碼學(lattice-based、isogeny-based)推上檯面——其中 isogeny 路線(如 CSIDH)正是把「兩條橢圓曲線之間的同源映射」當成新的單向函數,可以說數論在密碼學裡的故事,又繞回了曲線與群的幾何。

如果你想動手探索,建議從 SageMath 或 Python 的 sympy 開始:用 n_orderprimitive_rootlegendre_symboldiscrete_log 親手量一量不同 $p$ 的乘法群結構,觀察 $p-1$ 的質因數分解如何決定一把鎖的真實強度。你會發現,所謂「安全」,從來不是一句口號,而是一道可以被計算、被驗證、被攻擊的數論不等式。

AI 共讀助教正在陪你讀:原根、二次剩餘與離散對數:另一把數論之鎖
嗨!我是這篇文章的共讀助教,只根據〈原根、二次剩餘與離散對數:另一把數論之鎖〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。