系列 · 抽象代数 · 第 12 篇

抽象代数(十二):代数在实际应用中的威力 —— 从密码学到编码理论及其他

从 RSA 加密到纠错码再到粒子物理 —— 抽象代数最强大的实际应用,以及下一步该去哪里。

我坐在书桌前,左手边是一个打乱的三阶魔方,右手边是一张印着黑白方块的餐厅点餐二维码。过去十一个月里,我把自己埋在群、环、域、模、表示和范畴的符号堆里。有时候我会突然停笔,盯着满纸的 $\sigma, \tau, \ker, \operatorname{im}$ 发呆:这些东西真的只是数学家自娱自乐的智力游戏吗?它们和我每天刷的手机、存的银行密码、甚至头顶的星空,到底有什么关系?

如果你也曾有过这种“抽象代数是不是离现实太远”的困惑,我太理解了。但当我真正把这些结构拆开、揉碎、再放回现实世界时,我发现答案恰恰相反:我们过去十一篇文章里搭建的代数骨架,根本不是悬浮在空中的象牙塔,而是现代技术、物理和工程赖以站立的隐形地基。读完这篇终章后,“抽象代数有用吗?”这个问题会像“微积分有用吗?”一样显得多余。答案如此明确,以至于问题本身都带着点过时的天真。

代数有应用并不奇怪。真正让我倒吸一口凉气的是这些应用的深度。RSA 加密不是“碰巧用到了模算术”,它的安全性死死咬住 $\mathbb{Z}/n$ 里一个我们至今啃不动的硬骨头。Reed-Solomon 纠错码不是“碰巧用到了多项式”,它精准踩中了有限域里多项式次数与根的数量之间那条严丝合缝的代数钢索。粒子物理的标准模型更不是“碰巧用到了群论”,它的基本粒子谱系直接由某些 Lie 群的不可约表示一刀刻出来。在每一个案例里,应用技术本身就是代数结构,只是换了一套工程师或物理学家的方言。

这篇文章我会带你走过六个应用,大致按概念深度往上爬:RSA、椭圆曲线密码学、Reed-Solomon 码、QR 码、粒子物理对称性、壁纸群与晶体学。我不打算重新推导代数定理,那是前十一篇文章的活儿。我要做的是把代数骨架抽出来,给你看它怎么在现实里承重。节奏会比之前快,但我会把每一个“为什么”掰开揉碎。顺便提一句,想象在魔方上转一面,这就是群作用(group action)最直白的样子,群里的每个元素都在给集合里的对象“重新排座次”。代数从来不是静态的标签,它是动态的操作规则。


RSA 加密#

RSA 密码系统是 Rivest、Shamir 和 Adleman 在 1977 年拍板定型的,它是公钥密码学(public-key cryptography)的开山鼻祖。背后的数学全是初等货色:模算术、费马小定理、中国剩余定理。但系统能立住脚,靠的是一种计算上的不对称性:把两个大素数乘起来轻而易举,想把乘积拆回原来的素数却难如登天。

RSA 加密:模幂运算

公钥密码学这个点子本身,就是 20 世纪最反直觉的脑洞之一。1976 年以前,所有正经的加密都默认 Alice 和 Bob 得提前偷偷碰头,交换一把相同的钥匙。Diffie-Hellman 论文(1976)和紧随其后的 RSA(1977)直接掀了桌子:两个从未说过话的人,居然能隔着全是窃听者的广场,凭空商量出一个只有他俩知道的秘密。这太违背常识了,密码学界愣是花了好几年才消化过来。数学内核其实很干脆:模幂运算是单向门(正向推很容易,没有陷门往回拽就卡死)。但概念上的跳跃是地震级的。

Setup(参数生成):挑两个大素数 $p, q$ (现实里每个都是几百位长)。这句话的意思是,我们随机选两个极大的质数作为地基。计算 $n = pq$ 。这句话的意思是,把两个素数相乘得到公开的模数。计算 $\phi(n) = (p-1)(q-1)$ ,Euler 的 totient 函数(Euler’s totient function)。这句话的意思是,算出小于 $n$ 且与 $n$ 互质的整数个数,它决定了群的阶。挑一个与 $\phi(n)$ 互质的 $e$ (工程上通常直接写死 $e = 65537$ )。这句话的意思是,选一个公开的加密指数,保证它在模 $\phi(n)$ 下有逆元。用扩展欧几里得算法算出 $d = e^{-1} \pmod{\phi(n)}$ 。这句话的意思是,求出 $e$ 在模 $\phi(n)$ 意义下的乘法逆元,作为私钥。

公钥(public key): $(n, e)$私钥(private key): $d$

加密(encryption):要发消息 $m$ (先编码成整数 $0 < m < n$ ),计算 $c = m^e \pmod n$ 。这句话的意思是,把明文做 $e$ 次幂后对 $n$ 取余,得到密文。

解密(decryption):计算 $m = c^d \pmod n$ 。这句话的意思是,把密文做 $d$ 次幂后对 $n$ 取余,还原明文。

为什么能还原:根据 Fermat-Euler 定理,当 $\gcd(m, n) = 1$ 时,$m^{\phi(n)} \equiv 1 \pmod n$ 。这句话的意思是,任何与 $n$ 互质的数,它的 $\phi(n)$ 次幂模 $n$ 必定回到 1。因此 $m^{ed} = m^{1 + k\phi(n)} = m \cdot (m^{\phi(n)})^k \equiv m \pmod n$ 。这句话的意思是,因为 $ed$$\phi(n)$ 的整数倍多 1,多出来的幂次全部消成 1,最后只剩原始的 $m$ 。先加密再解密,消息完好无损地回来。

为什么安全:想从 $(n, e)$ 反推 $d$ ,必须知道 $\phi(n) = (p-1)(q-1)$ ,而这基本上等价于把 $n$ 分解成 $p$$q$ 。这句话的意思是,破解私钥的难度直接绑定在大整数分解问题上。截至 2026 年,用经典算法分解一个 2048 位的 RSA 模数,需要的算力比人类历史上所有计算加起来还夸张。所以系统在现实里是安全的(针对经典计算机;量子计算是另一条故事线,我们后面会提)。

完整玩具示例(正例):取 $p = 11, q = 13$ ,所以 $n = 143$$\phi(n) = 120$ 。挑 $e = 7$ (跟 120 互质)。算 $d \equiv 7^{-1} \pmod{120}$ :用扩展欧几里得算法,$7 \cdot 103 = 721 = 6 \cdot 120 + 1$ ,所以 $d = 103$ 。这句话的意思是,103 就是 7 在模 120 下的逆元。

加密 $m = 9$$c = 9^7 \pmod{143}$ 。一步步算:$9^2 = 81$$9^4 = 81^2 = 6561 = 45 \cdot 143 + 126 \equiv 126 \pmod{143}$$9^7 = 9^4 \cdot 9^2 \cdot 9 = 126 \cdot 81 \cdot 9 \pmod{143}$ 。先算 $126 \cdot 81 = 10206 \equiv 10206 - 71 \cdot 143 = 10206 - 10153 = 53 \pmod{143}$ 。再算 $53 \cdot 9 = 477 \equiv 477 - 3 \cdot 143 = 48 \pmod{143}$ 。所以 $c = 48$ 。这句话的意思是,明文 9 经过公开指数 7 的模幂运算,变成了密文 48。

解密:$48^{103} \pmod{143}$ 。用快速幂(重复平方)一步步卷下去,中间过程大概占满一页草稿纸,最终结果稳稳落回 $9$ 。这句话的意思是,私钥指数 103 把密文 48 精确地拽回了原始明文 9。

反例(什么时候会翻车):如果 $n$ 选得太小,或者 $p, q$ 靠得太近,分解就变成切菜。比如 $n = 15 = 3 \times 5$ ,攻击者试两次就拆开了,$\phi(n)$ 直接暴露,$d$ 秒算。这句话的意思是,RSA 的安全性完全依赖“大素数分解难”这个假设,参数选错就等于把钥匙挂在门上。另外,如果 $\gcd(m, n) \neq 1$ (比如 $m$ 恰好是 $p$ 的倍数),Fermat-Euler 的前提不成立,但中国剩余定理(Chinese Remainder Theorem)能保证解密依然正确,只是证明路径要绕一下。这句话的意思是,即使明文和模数不互质,RSA 的代数结构依然兜得住,但初学者常在这里卡壳。

RSA 加密流程

RSA 的代数内核,说白了就是当 $n = pq$$(\mathbb{Z}/n)^\times$ 的结构定理:它是循环群(cyclic group),阶为 $\phi(n) = (p-1)(q-1)$ ,Fermat-Euler 定理只是在说“任何元素抬到这个阶次都会掉回 1”。这句话的意思是,整个加密解密过程就是在一个有限乘法群里绕圈子,绕够一圈自然回到起点。其余全是工程记账。这么一个初等结构,居然扛着数万亿美元互联网交易的安全闸门。站在数学视角看,这要么让人极度舒适,要么让人后背发凉。


椭圆曲线密码学#

顺着 RSA 往上走,自然的下一步是换群。不用 $(\mathbb{Z}/n)^\times$ ,改用有限域上椭圆曲线(elliptic curve)的点群。

动画:椭圆曲线上的点加法

$$y^2 = x^3 + ax + b,$$

这句话的意思是,我们在有限域里找所有满足这个三次方程的坐标对。再加上一个“无穷远点” $\mathcal{O}$ 。这句话的意思是,补上一个虚拟点作为群的单位元,让代数结构闭合。(条件 $4a^3 + 27b^2 \neq 0$ 确保曲线是光滑的。)这句话的意思是,判别式非零能避开尖点和自交,保证每点都有唯一切线。

椭圆曲线群律

点集自带一个群结构(group structure)。给定曲线上两点 $P, Q$ ,画一条穿过它们的直线;这条线必定跟曲线交于第三个点 $R'$ 。把 $R'$ 关于 $x$ 轴翻折,定义为 $P + Q$ 。这句话的意思是,几何上的“连线-求交-翻折”三步,就是代数里的加法运算。这个操作满足结合律(证明非平凡,要用到代数几何的除子理论),$\mathcal{O}$ 是单位元,逆元就是关于 $x$ 轴的对称点。

群律有显式公式。对 $P_1 = (x_1, y_1)$$P_2 = (x_2, y_2)$$P_1 \neq \pm P_2$ ,连线斜率 $\lambda = (y_2 - y_1)/(x_2 - x_1)$$P_1 + P_2 = (x_3, y_3)$$x_3 = \lambda^2 - x_1 - x_2$$y_3 = \lambda(x_1 - x_3) - y_1$ 。这句话的意思是,两点相加的横坐标由斜率平方减去原横坐标给出,纵坐标由斜率和横坐标差线性组合给出。对 $P_1 = P_2$ (点加倍),斜率取切线:$\lambda = (3 x_1^2 + a)/(2 y_1)$ 。这句话的意思是,自己加自己时,用隐函数求导得到切线斜率,公式结构保持一致。这些公式全在 $\mathbb{F}_p$ 里用模算术跑,是现实 ECC 实现的底层齿轮。

椭圆曲线上的几何群律

$E(\mathbb{F}_p)$ 的阶大概在 $p$ 附近(Hasse 定理:$|E(\mathbb{F}_p)| = p + 1 - a_p$$|a_p| \leq 2\sqrt p$ )。这句话的意思是,曲线上的点数不会偏离域大小太多,误差被 $2\sqrt p$ 死死框住。密码学用的曲线一般是循环群。在 $E(\mathbb{F}_p)$ 上解“离散对数”问题(discrete logarithm problem),已知 $P$$nP$ ,反求 $n$ ,目前公认比在 $\mathbb{F}_p^\times$ 上解难得多。这句话的意思是,椭圆曲线的几何扭曲把数论结构藏得更深,攻击者找不到类似指数演算的捷径。所以密钥可以大幅缩水:256 位的椭圆曲线,安全强度 大致等价于 3072 位的 RSA 模数。

ECDSA(椭圆曲线数字签名算法,Elliptic Curve Digital Signature Algorithm)拿这个群做数字签名。比特币和绝大多数现代密码协议都盯着一张特定曲线 secp256k1,方程是 $y^2 = x^3 + 7$ ,跑在一个特定的 256 位素数 $p$ 定义的 $\mathbb{F}_p$ 上。这句话的意思是,工程界直接标准化了一条曲线,避免各自造轮子引入漏洞。

ECDSA 签名流程

完整玩具示例(正例):在 $\mathbb{F}_5$ 上看曲线 $y^2 = x^3 + 2x + 3$ 。枚举 $x=0,1,2,3,4$$x=0 \Rightarrow y^2=3$ (无解,3 不是模 5 二次剩余)。 $x=1 \Rightarrow y^2=6\equiv1 \Rightarrow y=1,4$ ,得点 $(1,1), (1,4)$$x=2 \Rightarrow y^2=8+4+3=15\equiv0 \Rightarrow y=0$ ,得点 $(2,0)$$x=3 \Rightarrow y^2=27+6+3=36\equiv1 \Rightarrow y=1,4$ ,得点 $(3,1), (3,4)$$x=4 \Rightarrow y^2=64+8+3=75\equiv0 \Rightarrow y=0$ ,得点 $(4,0)$ 。 加上 $\mathcal{O}$ ,共 7 个点。这句话的意思是,有限域上的椭圆曲线点数有限,可以直接穷举验证群结构。取 $P=(1,1)$ ,用加倍公式算 $2P$$\lambda = (3\cdot1^2+2)/(2\cdot1) = 5/2 \equiv 0/2 = 0 \pmod 5$$x_3 = 0^2 - 1 - 1 = -2 \equiv 3$$y_3 = 0(1-3)-1 = -1 \equiv 4$ 。所以 $2P = (3,4)$ 。这句话的意思是,几何切线斜率为 0 时,横坐标跳到 3,纵坐标翻折到 4,代数公式和几何直觉完全咬合。

反例(奇异曲线):如果选 $y^2 = x^3$ (此时 $a=b=0$ ,判别式 $4a^3+27b^2=0$ ),曲线在原点 $(0,0)$ 长出尖点。这句话的意思是,光滑性被破坏,切线不唯一,群律直接崩溃。在尖点附近做“连线-求交”会得到多义结果,加法不再良定义。密码学绝对避开这种参数,否则离散对数问题退化成普通算术,安全性归零。

从 RSA 跳到 ECC,概念跨度不小。RSA 用的是老熟人 $(\mathbb{Z}/n)^\times$ 。ECC 用的是代数曲线上的点群,长得更怪。但正是这种“怪”成了护城河:目前已知的椭圆曲线离散对数攻击手段寥寥无几,远少于整数分解的武器库。定义 $E(\mathbb{F}_p)$ 需要的数学,代数几何、形式群律、Mordell-Weil 理论,比 RSA 厚重得多。可吊诡的是,同等安全级别下,ECC 算得更快、带宽更省。这种“越抽象越实用”的反差,就是代数几何最硬核的回报。

历史插一句:Diffie 和 Hellman 1976 年提出密钥交换思想,站在前人肩膀上。Miller 和 Koblitz 在 1985-1986 年各自独立把椭圆曲线拽进密码学。ECC 熬了二十年才成主流,一半因为数学难教(你得从头构造 $E(\mathbb{F}_p)$ ,而 $(\mathbb{Z}/n)^\times$ 初等数论课就讲),一半因为 ECDSA 专利卡脖子。到了 2010 年代末和 2020 年代,ECC 已经成了新协议的默认选项:TLS 1.3、现代 SSH、比特币、以太坊全押在它身上。从“纯代数论文”到“千亿美元行业标准”,周期大概三十年。数学不赶时间,但时间最终会向数学低头。


Reed-Solomon 码#

密码学是代数落地的一条腿;编码理论(coding theory)是另一条。问题很直白:数据穿过噪声信道,中途有些符号被干扰篡改了。怎么把原始消息捞回来?

线性码与错误检测

Reed-Solomon 的回答极其优雅:把消息编码成多项式在一组已知点上的取值。如果多项式次数 $\leq k$ ,那么 $n$ 个取值就能唯一钉死它(只要 $n > k$ )。这句话的意思是,多项式像一根光滑的绳子,钉的钉子够多,就算几根钉子歪了,绳子的整体走向依然能把你引回真相。靠冗余取值,哪怕部分数据烂掉,也能逆向还原多项式。

构造:固定一个有限域 $\mathbb{F}_q$ 和点 $\alpha_1, \ldots, \alpha_n \in \mathbb{F}_q$ (其中 $n \leq q$ )。这句话的意思是,选一个足够大的有限域和一组互不相同的横坐标。要编码消息 $(m_0, m_1, \ldots, m_{k-1}) \in \mathbb{F}_q^k$ ,拼出多项式 $f(x) = m_0 + m_1 x + \cdots + m_{k-1} x^{k-1}$ 并发送 $(f(\alpha_1), f(\alpha_2), \ldots, f(\alpha_n))$ 。这句话的意思是,把消息系数直接当成多项式系数,算出纵坐标序列作为码字。

解码:只要错误数 $\leq \lfloor (n-k)/2 \rfloor$ ,原始多项式 $f$ 就能被完整捞回。这句话的意思是,冗余度的一半就是纠错能力的硬上限。Berlekamp-Welch 算法及其后代能在多项式时间内搞定解码,时间复杂度是 $n$$q$ 的多项式。这句话的意思是,解码不是暴力穷举,而是靠代数方程组高效求解。

为什么成立:两个次数 $\leq k$ 的不同多项式,最多在 $k$ 个点上撞车(第 6 篇的度数界定理)。这句话的意思是,多项式差异一旦拉开,重合点数量被次数死死卡住。因此,如果两个接收词来自在 $> 2k$ 个位置上分歧的多项式,它们绝不会被混淆。反过来,错误数 $\leq \lfloor (n-k)/2 \rfloor$ 时,接收词落在 Hamming 距离 $(n-k)/2$ 内的唯一有效码字里。这句话的意思是,纠错码的本质是在高维空间里把合法码字拉开距离,噪声推不远。$\mathbb{F}_q[x]$ 的多项式结构提供了这种几何冗余。

完整玩具示例(正例):取 $\mathbb{F}_5$ ,消息 $(m_0, m_1) = (3, 2) \in \mathbb{F}_5^2$ ,所以 $f(x) = 3 + 2x$ 。用点 $\alpha = (0, 1, 2, 3, 4)$ 编码:发送 $(3, 0, 2, 4, 1)$ 。这句话的意思是,逐点代入算值:$f(0)=3, f(1)=5\equiv0, f(2)=7\equiv2, f(3)=9\equiv4, f(4)=11\equiv1$

纠错码:Hamming 距离

假设收到 $(3, 0, 4, 4, 1)$ ,位置 $\alpha=2$ 烂了(2 变成 4)。用 Lagrange 插值捞多项式:任意 2 个正确值就能定死一次多项式。我们不知道哪两个对,就试子集。拿前两个值 $f(0)=3, f(1)=0$ ,插值得 $f(x) = 3 + 2x$ 。这句话的意思是,两点定一线,斜率 $(0-3)/(1-0) = -3 \equiv 2$ ,截距 3,多项式还原。拿它去验其余点:$f(2)=2$ (接收是 4,冲突),$f(3)=4$ (吻合),$f(4)=1$ (吻合)。冲突点唯一,直接标记 $\alpha=2$ 为错误位置,修正回 2。这句话的意思是,代数冗余让错误自己“浮出水面”。真实 Reed-Solomon 解码用 Berlekamp-Massey 或 Sugiyama 算法自动化这套流程,但代数骨架就是多项式插值。

反例(超容错极限):如果收到 $(3, 1, 4, 0, 1)$ ,错了 3 个位置。此时错误数 $3 > \lfloor (5-2)/2 \rfloor = 1$ 。这句话的意思是,噪声推得太远,接收词离另一个合法码字更近。解码器可能输出错误的多项式(比如拟合成 $g(x)=1+3x$ ),或者直接报错。纠错码不是魔法,冗余度不够时,代数结构也会投降。

多项式评估生成的 Reed-Solomon 码

Reed-Solomon 码早就渗进日常:CD/DVD 划痕补偿、硬盘扇区 ECC、RAID-6 阵列容灾、深空探测器链路、卫星电视信号。Voyager 探测器飞出日球层顶,靠 Reed-Solomon(级联卷积码)把数据传回地球。这句话的意思是,几十亿公里的宇宙射线轰炸下,代数冗余硬是把比特流从噪声里抠了出来。

除了经典 Reed-Solomon,工程界还搓出了更复杂的码:BCH 码(推广版)、Goppa 码(McEliece 后量子密码的核心)、极化码(5G 控制信道)、Turbo 码和 LDPC 码。它们全站在多项式与有限域的肩上,只是针对信道模型换了构造姿势。整个领域是纯代数(有限域、多项式环、理想理论)在工程里兑现的最爽案例之一。

代数骨架就是第 6 篇的多项式除法与次数理论,搬到有限域上跑。真正的妙手是选多项式当载体:它既给出紧凑编码,又靠带余除法(证明 Bezout 恒等式的那套算法)实现高效解码。一鱼两吃,代数从不浪费结构。

插播:Galois 对应(Galois correspondence)的直观计算 有限域的扩张背后藏着 Galois 理论。为了让你感受“域扩张-自同构群”的咬合,我们算一个经典数域例子:$K = \mathbb{Q}(\sqrt{2}, \sqrt{3})$ 。这句话的意思是,把 $\sqrt{2}$$\sqrt{3}$ 同时添进有理数域。扩张次数 $[K:\mathbb{Q}] = 4$ ,基是 $\{1, \sqrt{2}, \sqrt{3}, \sqrt{6}\}$ 。Galois 群 $\operatorname{Gal}(K/\mathbb{Q})$ 有 4 个自同构:恒等 $id$$\sigma: \sqrt{2}\mapsto-\sqrt{2}, \sqrt{3}\mapsto\sqrt{3}$$\tau: \sqrt{2}\mapsto\sqrt{2}, \sqrt{3}\mapsto-\sqrt{3}$$\sigma\tau: \sqrt{2}\mapsto-\sqrt{2}, \sqrt{3}\mapsto-\sqrt{3}$ 。这句话的意思是,每个自同构只能把根映射到共轭根,组合起来同构于 Klein 四元群 $V_4 \cong \mathbb{Z}/2 \times \mathbb{Z}/2$ 。Galois 对应把子群 $\{id, \sigma\}$ 映到中间域 $\mathbb{Q}(\sqrt{3})$ ,把 $\{id, \tau\}$ 映到 $\mathbb{Q}(\sqrt{2})$ ,把 $\{id, \sigma\tau\}$ 映到 $\mathbb{Q}(\sqrt{6})$ 。这句话的意思是,子群越大,固定的域越小,结构一一对应。有限域 $\mathbb{F}_{q^m}/\mathbb{F}_q$ 的 Galois 群是循环群,由 Frobenius 自同构 $x \mapsto x^q$ 生成,Reed-Solomon 和 QR 码的底层算术全靠这个循环结构加速。代数不是孤立的定理,它是层层嵌套的对称网络。


QR 码#

更肉眼可见的应用。每个快递箱、餐厅桌贴、演唱会门票上的 QR 码,底层跑的和 Voyager 探测器是同一套 Reed-Solomon 框架,只是多包了一层工程外壳。

QR 码存二进制数据(文本、链接等)加纠错,用的是 $\mathbb{F}_{2^8} = \mathbb{F}_{256}$ 上的 Reed-Solomon。选 $\mathbb{F}_{256}$ 是因为每个“符号”刚好是一个字节(byte),严丝合缝卡进计算机架构。这句话的意思是,域大小直接对齐硬件数据总线宽度,避免位宽浪费。

每个 QR 码有四档纠错级别:L(7%)、M(15%)、Q(25%)、H(30%)。在 H 档,最多 30% 的符号糊掉,码照样能扫。这句话的意思是,冗余比例拉高,抗污损、抗反光、抗遮挡、抗低分辨率的能力直接跃升。

构造用 $\mathbb{F}_{256}$ 定义为 $\mathbb{F}_2[x] / (x^8 + x^4 + x^3 + x^2 + 1)$ ,这是一个由不可约多项式(irreducible polynomial)生成的商域。这句话的意思是,拿一个 8 次二元多项式做模,把所有高次项压回 7 次以内。这是第 7 篇域扩张构造的实体化。域元素是 256 个剩余类,每个表成次数 $< 8$ 的二元系数多项式,正好一个字节。$\mathbb{F}_{256}$ 里的域算术在软硬件里用查表法($256 \times 256 = 64K$ 乘法表)或无进位乘法指令(Intel 的 PCLMULQDQ)实现。这句话的意思是,抽象的模多项式乘法,被工程优化成 CPU 单条指令或内存直接寻址。

QR 码的 Reed-Solomon 解码在现代芯片上跑只需几微秒。$\mathbb{F}_{256}[x]$ 的多项式结构,除法算法、不可约性、错误定位多项式(error-locator polynomial),是绝对的基础设施。这句话的意思是,手机摄像头拍下黑白方块后,底层瞬间完成有限域求根和矩阵消元,代数在毫秒级隐身运行。

QR 码背后的代数结构

集成度高得吓人:智能手机扫 QR 码时,在 $\mathbb{F}_{256}$ 里做有限域算术、多项式求根、$\mathbb{F}_2$ 上矩阵操作,全在眨眼间完成。这些数学,不可约多项式、有限域、Reed-Solomon 解码,发育于 1830 年(Galois)到 1960 年(Reed 和 Solomon)。又熬了 30 年,廉价硬件才把它推消费级,现在地球上几乎每人每天用它,却叫不出它的名字。

域选择的工程直觉(正例):为什么死磕 $\mathbb{F}_{256}$ 而不是 $\mathbb{F}_{257}$$\mathbb{F}_{251}$ ?后两者也是域,Reed-Solomon 性质一样漂亮。原因纯粹是硬件对齐:$256 = 2^8$ 刚好塞满一个字节。这句话的意思是,内存和磁盘 I/O 的最小寻址单位是 byte,$\mathbb{F}_{256}$ 算术直接映射到机器字长,零摩擦。

反例(错位域):如果硬上 $\mathbb{F}_{257}$ ,每个“符号”得占 9 位。这句话的意思是,多出来的 1 位会撕裂字节边界,导致内存对齐失效、缓存命中率暴跌、编解码逻辑复杂度爆炸。工程实现会又慢又臃肿。这是纯数学撞上工程约束的最干净案例:域的选择不是数学家拍脑袋,是底层机器的字节大小一票否决。


Lie 群、夸克和 SU(3)#

跨出密码学和编码,表示论(representation theory)在物理学里最炸裂的应用是粒子物理标准模型(Standard Model of particle physics)。基本粒子的谱系不是瞎凑的,它被某些 Lie 群(Lie group)的表示一刀刻死:$\mathrm{SU}(3) \times \mathrm{SU}(2) \times U(1)$ ,标准模型的规范群(gauge group)。

物理学中的对称性:规范群

最直观的一块是 $\mathrm{SU}(3)$ (flavor SU(3)),它是三个最轻夸克(上、下、奇异)的近似对称性。这三个夸克构成 $\mathrm{SU}(3)$ 的基本表示(fundamental representation),一个 3 维不可约表示。这句话的意思是,夸克态可以写成三维复向量,群作用就是在这个向量空间里做保内积的线性变换。它们的反粒子构成共轭表示(conjugate representation),也是 3 维。夸克以三种味在近似 $\mathrm{SU}(3)$ 对称下混合,这是现代粒子物理最硬的实验观测之一,而且在夸克模型被加速器实锤前,纯表示论就已经把结构推出来了。

$$\mathbf{3} \otimes \bar{\mathbf{3}} = \mathbf{8} \oplus \mathbf{1}.$$

这句话的意思是,3 维和反 3 维张量积拆开,得到一个 8 维不可约表示和一个 1 维平凡表示。所以介子分两拨:八重态(8 个)和单态(1 个)。这直接预测了 8 个轻赝标量介子的存在,正好是 1960 年代实验家扫到的 $\pi$ 介子、$K$ 介子和 $\eta$ 介子。$\pi$ 三重态($\pi^+, \pi^0, \pi^-$ )、四个 $K$$K^+, K^0, \bar K^0, K^-$ )加 $\eta$ 凑齐 8 个。$\eta'$ 是单态。这不是数字巧合,$\mathrm{SU}(3)$ 表示论把多重态结构钉死,实验确认精度在百分之几内(偏差来自 $\mathrm{SU}(3)$ 味对称是近似的,被夸克质量差轻微撬开)。这句话的意思是,代数结构先画好座位表,实验物理后来对号入座。

重子十重态:重子是三夸克态。它们活在 $\mathbf{3} \otimes \mathbf{3} \otimes \mathbf{3}$ ,分解为 $\mathbf{10} \oplus \mathbf{8} \oplus \mathbf{8} \oplus \mathbf{1}$ 。这句话的意思是,三个基础表示张量积后,按对称性拆成四个不可约块。$\mathbf{10}$ 对应重子十重态,包括大名鼎鼎的 $\Omega^-$ 粒子。Murray Gell-Mann 在 1962 年盯着十重态缺的那一格,直接预测了它的存在、质量和量子数,1964 年实验发现。这句话的意思是,表示论的拼图少了一块,物理学家断定“不是理论错,是粒子还没找到”。这是表示论在物理里最耀眼的实锤:一个粒子纯靠代数结构被预言,随后被加速器揪出来。Gell-Mann 和 Ne’eman 共享“八重道”(Eightfold Way)荣誉,名字就来自 8 维介子和重子八重态,Gell-Mann 因此拿下 1969 年诺贝尔奖。

SU(3) 味对称性和夸克八重态

完整标准模型用局部规范群 $\mathrm{SU}(3)_C \times \mathrm{SU}(2)_L \times U(1)_Y$ ,三个因子分别管强相互作用(色)、弱相互作用(左手同位旋)和弱超荷。这句话的意思是,每种基本力对应一个对称群,粒子按表示分配电荷和耦合强度。每个费米子(夸克或轻子)都是这个群的表示。Higgs 机制把 $\mathrm{SU}(2)_L \times U(1)_Y$ 破缺到 $U(1)_{\mathrm{em}}$ (电磁),给粒子发质量。这句话的意思是,对称性自发破缺后,剩余对称群决定长程力,破缺方向决定质量谱。

这幅图景的每一寸,规范群选型、费米子塞进哪个表示、相互作用顶点结构,全由 Lie 群表示论说了算。代数不是“辅助计算工具”,它是粒子物理的母语。没有比通过这些 Lie 群的表示更简洁的方式写标准模型,也没有已知理由解释宇宙为什么偏偏服从这几组表示而不是别的。这是基础物理的深坑:标准模型是宇宙交的作业,而且已经批改完毕。

正规子群(normal subgroup)的直觉插播:为什么不是所有子群都正规?想象你有一副扑克牌,洗牌操作相当于群里的共轭 $gHg^{-1}$ 。如果某个花色组合(子群 $H$ )洗完牌后,牌面跑出了原组合,它就不正规;只有那些无论怎么洗,内部结构始终闭合、只在自己圈子里打转的组合,才是正规子群。这句话的意思是,正规子群对共轭操作免疫,商群 $G/H$ 才能良定义。在规范对称破缺里,真空期望值挑出的剩余对称群必须是正规子群,否则物理态无法一致投影,理论直接发散。代数条件不是数学家洁癖,是物理自洽的硬门槛。

反例(错配对称群):如果强相互作用对称群是 $\mathrm{SU}(4)$ 而不是 $\mathrm{SU}(3)$ ,张量积分解会吐出 $\mathbf{15} \oplus \mathbf{1}$ 等结构,预言的介子/重子多重态数量和量子数全对不上实验数据。这句话的意思是,群选错,表示谱系就歪,加速器扫出来的粒子表会直接证伪理论。自然不配合错误的代数假设。

超出标准模型,大统一理论(GUTs)试图把 $\mathrm{SU}(3) \times \mathrm{SU}(2) \times U(1)$ 塞进更大的单群,如 $\mathrm{SU}(5)$$\mathrm{SO}(10)$$E_6$ 。每个嵌入方案都是纯表示论问题:标准模型粒子怎么塞进大群的表示?有些预言(如质子衰变)从嵌入里自然流出;其他(如中微子质量模式)取决于对称破缺机制怎么拧。目前没有任何 GUT 被实验实锤,但它们全站在和标准模型相同的表示论地基上。如果哪天某个 GUT 被证实,那只是因为自然真的挑了那个 Lie 群的一个不可约表示当剧本。


壁纸群和晶体学#

换一种风味:用对称性给图案分类。17 个壁纸群(wallpaper groups)是周期性二维图案所有可能的对称群。这句话的意思是,任何无限重复的平面花纹,其对称操作构成的群必同构于这 17 个之一。每张重复壁纸、每块瓷砖地、每幅 Escher 版画,对称群都在这 17 个里打转。这是群论在古典艺术和建筑里最干净的应用:阿尔罕布拉宫瓷砖、Escher 版画、织物纹样,全落在这 17 种类型中。M.C. Escher 曾跟数学家 Coxeter 通信,就为了搞清楚自己的画到底属于哪个群。

分类拼的是三块:

  • 平移对称性,必是 2D 格点 $\mathbb{Z}^2$ 。这句话的意思是,图案沿两个独立方向周期性重复,平移生成自由 Abel 群。
  • 旋转对称性,阶数只能是 1、2、3、4 或 6(晶体学限制,crystallographic restriction)。这句话的意思是,平面周期格点容不下 5 阶或 7 阶旋转。
  • 反射对称性滑动反射(glide reflection,反射加平行平移复合)。这句话的意思是,镜像翻转可以单独存在,也可以跟平移绑在一起形成新操作。

晶体学限制是基础代数的漂亮应用:旋转必须保住格点不变,所以它的 $2 \times 2$ 矩阵迹(trace)必为整数。角度 $\theta$ 的旋转迹是 $2 \cos \theta$ ,必须是整数。这句话的意思是,线性代数把几何旋转压缩成一个标量约束。在 $[0, 2\pi)$ 里唯一解是 $\theta = 0, \pi/3, \pi/2, 2\pi/3, \pi, 4\pi/3, 3\pi/2, 5\pi/3$ ,对应阶数 1、6、4、3、2、3、4、6。这句话的意思是,余弦值只能取 $0, \pm 1/2, \pm 1$ ,直接锁死旋转阶数。所以任何壁纸群里都没有 5 阶或 7 阶旋转。(这就是为什么五边形铺砖不是周期性的,它们是准周期的,比如 Penrose 镶嵌。)

17 个壁纸群

把允许的旋转跟反射、滑动反射组合,穷举案例分析(Fedorov 1891 年首刷)给出正好 17 个同构类。每个有名字(p1、p2、pm、pg、cm……)按晶体学记号走,每个都能画出一个小平铺基本域,复制粘贴铺满平面。这句话的意思是,代数分类直接对应几何拼图的最小重复单元。

三维类比给出 230 个空间群(space groups),分类三维所有晶体学对称性。这句话的意思是,把平面限制升到立体,平移加旋转反射的组合爆炸到 230 种。这是固体物理的代数骨架:自然界每种晶体结构都由这 230 个群之一描述,X 射线晶体学靠衍射图样反推是哪个群。Linus Pauling 因吃透这套代数拿诺奖;Watson 和 Crick 用 Rosalind Franklin 的衍射数据解出 DNA 双螺旋,底层逻辑也是空间群对称性。

正例(代数取证):假设你捡到一张壁纸图案,某处有 3 阶旋转,另一处有 6 阶旋转。代数上,旋转子群由 6 阶旋转生成,因为 6 整除 3 的倍数结构。这句话的意思是,高阶旋转自动包含低阶旋转的幂次。知道这点就把旋转子群钉死为 $\mathbb{Z}/6$ ,再结合存在的反射,直接把壁纸群范围砍到三个:p6、p6m 或 p3m1(取决于反射轴怎么排)。几秒钟的代数推理,17 选 3。晶体学家分析材料时,天天做这种“代数排除法”。

反例(五阶禁入):如果你硬画一个带 5 阶旋转对称的周期图案,格点平移会跟旋转打架。这句话的意思是,$2\cos(2\pi/5) = (\sqrt{5}-1)/2$ 不是整数,矩阵迹条件破裂,格点无法闭合。图案要么出现缝隙,要么重叠,周期性直接崩溃。Penrose 镶嵌绕开了这个限制,代价是放弃平移周期性,改走准周期(quasiperiodic)路线。1982 年 Daniel Shechtman(2011 诺奖)发现物理准晶体,证明真实材料能违反经典晶体学限制,办法是活在更高维周期格点里再投影下来。代数解释涉及从 $\mathbb{Z}^5$ 切投影到 $\mathbb{R}^2$ ,对称群不再是 17 个壁纸群之一,它是新物种。纯数学又一次跑在物理前面:准晶体的代数框架在实验发现前就躺在那儿了。


附录:值得了解的其他几个应用#

上面六个是主角。下面这五个我也觉得极有意思,篇幅所限只给骨架和直觉。

Diffie-Hellman 密钥交换:给定 $g \in \mathbb{F}_p^\times$$h = g^a$ ,反求 $a$离散对数问题(discrete logarithm problem)。这句话的意思是,已知底数和幂结果,找指数在有限域里极难。Diffie-Hellman 吃准这种不对称:Alice 挑 $a$ ,公开传 $g^a$ ;Bob 挑 $b$ ,公开传 $g^b$ 。两人各自算 $g^{ab} = (g^a)^b = (g^b)^a$ 当共享密钥。这句话的意思是,公开信息相乘后指数叠加,私钥指数藏在本地不泄露。窃听者拿到 $g, g^a, g^b$ ,必须解离散对数才能扒出 $a$$b$ 。这是 TLS 协议的地基,护着现代网页流量。代数结构就是循环群 $\mathbb{F}_p^\times$ 。反例:如果 $p-1$ 有很多小因子,Pohlig-Hellman 算法能把离散对数拆成小问题秒解,所以工程上必须选安全素数(safe prime)。

后量子密码学(Post-Quantum Cryptography):抗量子计算机(Shor 算法能秒分解和离散对数)的新密码,经常押注(lattice),$\mathbb{R}^n$ 里的离散子群。这句话的意思是,格点像高维空间里的规则网格,最短向量和最近向量问题目前连量子算法也啃不动。这里的代数比基础群论厚得多:它跑在多项式环 $\mathbb{Z}[x]/(f)$ 上的模(module)、理想格(ideal lattice)和带误差学习(LWE)框架里。NIST 从 2017 年开始标准化后量子方案,领跑者 Kyber、Dilithium 全基于格。反例:如果选的多项式 $f$ 可约或结构太规整,格会暴露短向量捷径,安全性坍塌。参数生成必须严格随机且不可约。

快速傅里叶变换(FFT)与群表示:FFT 是让信号处理从理论变现实的算法,复杂度 $O(n \log n)$ ,暴力 DFT 是 $O(n^2)$ 。这句话的意思是,分治策略把全局求和拆成递归子块,计算量断崖式下降。代数结构:FFT 把 $\mathbb{Z}/n$ 上的函数分解成它在 $\mathbb{Z}/n$ 不可约表示里的分量,这些表示全是一维的,由 $n$ 次单位根给出。这句话的意思是,离散信号被投影到复指数基上,频域系数就是表示坐标。“快速”来自 $n=2^k$ 时的递归对称性。非 Abel 群也有类似 FFT,用于计算群论和物理谱分析。反例:如果 $n$ 是大素数,缺乏因子分解结构,FFT 递归树展不开,退化回慢速算法。此时需用 Bluestein 或 Rader 算法绕道。

陈类(Chern classes)与指标定理:在微分几何和拓扑里,陈类给流形 $M$ 上的向量丛贴上特定的上同调类标签。这句话的意思是,丛的扭曲程度被代数拓扑不变量量化。Atiyah-Singer 指标定理说,椭圆微分算子的解析指标等于一个由陈类算出的拓扑量。这句话的意思是,微分方程解空间的维数差,完全由底流形的全局拓扑决定。这是 20 世纪数学的深井,应用在物理(反常消除)、数论、拓扑。整个框架依赖群上同调、主丛和特征类。反例:如果流形非紧或算子非椭圆,指标公式发散,拓扑与解析脱钩。定理的前提条件不是装饰,是代数-分析桥梁的承重墙。

计算机代数系统(CAS):Mathematica、SageMath、Maple 底层全跑着这个系列的算法:多项式因式分解(Berlekamp, LLL)、Gröbner 基计算、整数分解(ECM, GNFS)、任意域高斯消元。这句话的意思是,符号计算不是魔法,是代数定理的代码化。每次 CAS 做符号化简,它都在执行我们证明过的结构定理。反例:如果输入多项式系数域未明确指定(比如混用浮点和精确有理数),Gröbner 基计算会因精度漂移给出错误理想基。代数系统要求严格的域声明,否则结构保证失效。


深入探讨:具体计算实例#

应用这一章,正是把我们前面搭建的所有理论,直接兑换成具体计算实例的地方。下面来看五个问题。

计算 A:$11$ 位数字上的 RSA 实例。 我取素数 $p = 61, q = 53$ 。于是 $n = pq = 3233$ ,并且 $\varphi(n) = (p-1)(q-1) = 60 \cdot 52 = 3120$ 。我选公开指数 $e = 17$ (它与 $3120$ 互素)。接着用扩展欧几里得算法求私钥指数 $d = e^{-1} \bmod 3120$ :算出 $\gcd(17, 3120) = 1$ ,且满足 $1 = 17 \cdot 2753 - 3120 \cdot 15$ ,所以 $d = 2753$ 。现在加密消息 $m = 65$ (它对应 ASCII 码里的字母 “A”):$c = m^e \bmod n = 65^{17} \bmod 3233$ 。我用反复平方法计算:$65^2 = 4225 \equiv 992$$65^4 \equiv 992^2 \equiv 984064 \equiv 2240$$65^8 \equiv 2240^2 \equiv 5017600 \equiv 2050$$65^{16} \equiv 2050^2 \equiv 4202500 \equiv 1623$ 。最后 $65^{17} = 65^{16} \cdot 65 \equiv 1623 \cdot 65 \equiv 105495 \equiv 2790 \pmod{3233}$ 。密文就是 $2790$

解密时,我算 $m = c^d \bmod n = 2790^{2753} \bmod 3233$ 。根据费马 - 欧拉定理,$2790^{3120} \equiv 1$ 。同时 $17 \cdot 2753 = 46801 \equiv 1 \pmod{3120}$ (因为 $46801 = 15 \cdot 3120 + 1$ )。于是 $2790^{2753 \cdot 17} = 2790^{46801} \equiv 2790^1 \cdot 2790^{15 \cdot 3120} \equiv 2790$ 。完整算一遍 $2790^{2753} \bmod 3233$ ,就能找回 $65$ 。这套机制背后严格的数论保证,正是 Lagrange 定理在群 $(\mathbb{Z}/n)^*$ 上的应用,而这个群的阶数就是 $\varphi(n)$

实际生产环境里的 RSA 安全性(比如 $n$ 是一个 $4096$ 位的整数),完全建立在分解 $n$ 极其困难这一事实之上。目前还没有能在多项式时间内完成分解的经典算法。Shor 的量子算法却能在多项式时间内解决它,这正是后量子密码学如今成为研究重点的原因。

计算 B:$\mathbb{F}_{23}^*$ 上的 Diffie–Hellman 实例。$(\mathbb{Z}/23)^*$ 是一个 $22$ 阶循环群,生成元是 $g = 5$ (验证一下:$5^{11} \equiv 22 \equiv -1$ ,所以 $5$ 的阶确实是 $22$ )。Alice 选私密数 $a = 6$ ,算出 $A = 5^6 \bmod 23 = 15625 \bmod 23$ 。我一步步算:$5^2 = 25 \equiv 2$$5^4 \equiv 4$$5^6 = 5^4 \cdot 5^2 \equiv 4 \cdot 2 = 8$ 。于是 $A = 8$ ,她把这个数公开。Bob 选私密数 $b = 15$ ,算出 $B = 5^{15} \bmod 23$ 。先算 $5^8 = 5^4 \cdot 5^4 \equiv 16$ ,再拼起来 $5^{15} = 5^8 \cdot 5^4 \cdot 5^2 \cdot 5 = 16 \cdot 4 \cdot 2 \cdot 5 = 640 \equiv 19 \pmod{23}$ 。于是 $B = 19$ ,他也公开。共享密钥怎么定?Alice 算 $B^a = 19^6 \bmod 23$ ,Bob 算 $A^b = 8^{15} \bmod 23$ 。两边其实都等于 $g^{ab} = 5^{90} \bmod 23$ 。根据费马小定理,$5^{22} \equiv 1$ ,而且 $90 = 4 \cdot 22 + 2$ ,所以 $5^{90} \equiv 5^2 \equiv 2$ 。共享密钥就是 $2$

计算 C:用 Hamming 码纠错。 定义在 $\mathbb{F}_2$ 上的 $(7, 4)$ Hamming 码,会给 $4$ 位消息补上 $3$ 个校验位,把它编成 $7$ 位码字。这种设计让最小距离达到 $3$ ,从而能纠正任意单比特错误。校验矩阵长这样:$H = \begin{pmatrix} 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ 1 & 0 & 1 & 0 & 1 & 0 & 1 \end{pmatrix}$ 。任意码字 $c \in \mathbb{F}_2^7$ 都满足 $Hc = 0$ 。假设第 $i$ 位的比特翻转了,那么接收到的向量 $c'$ 的伴随式 $H c'$ 就会等于 $H$ 的第 $i$ 列。这一列正好就是 $i$ 的二进制表示。伴随式直接告诉我出错的位置。

来看具体例子。我收到 $c' = (1, 0, 1, 1, 1, 0, 1)^T$ 。算伴随式 $H c' = (1+1+0+1, 0+1+1+0+1, 1+1+1+0+1) = (1, 1, 0)$ 。如果从上往下把伴随式读成二进制串,它看起来像 $011 = 3$ 。等等,$(1, 1, 0)^T$ 对应的其实是列向量 $\binom{1}{1}\binom{0}{}$ ,也就是第 $\ldots$ 列。我直接拿它去对照矩阵的列:$(1,1,0)$ 正好匹配第 $6$ 列(也就是列向量 $(1,1,0)^T$ )。所以错误出在第 $6$ 位。我把那一位翻转回来:纠正后的码字就是 $(1,0,1,1,1,1,1)^T$

整个构造都落在 $\mathbb{F}_2^7$ 里,这是一个定义在 $\mathbb{F}_2$ 上的 $7$ 维向量空间。码本身是一个 $4$ 维线性子空间,它的对偶空间是 $3$ 维子空间,而伴随式映射其实就是商映射 $\mathbb{F}_2^7 \to \mathbb{F}_2^7 / \text{code}$$\mathbb{F}_2$ 上的线性代数,就是这里的全部内容。

计算 D:Burnside 风格的计数问题。 用两种颜色给正方形的四条边染色,旋转后相同的方案算作一种,一共有多少种不同的染法?旋转群是 $C_4 = \{e, r, r^2, r^3\}$ 。我数一下每个群元保持不变的染色方案:$|\text{Fix}(e)| = 2^4 = 16$$|\text{Fix}(r)| = 2$ (四条边颜色必须全同),$|\text{Fix}(r^2)| = 4$ (对边颜色相同即可),$|\text{Fix}(r^3)| = 2$ 。取平均数:$(16 + 2 + 4 + 2)/4 = 24/4 = 6$ 。所以旋转等价类一共有 $6$ 种不同的染色。Burnside 引理在这里是主力工具。它能推广到图上的组合计数(比如色多项式)、拉丁方,以及化学同分异构体的计数(也就是 Polya 计数理论)。

计算 E:$x^4 - 5x^2 + 6$ 的 Galois 理论。 先做因式分解:$(x^2 - 2)(x^2 - 3)$ 。它在 $\mathbb{Q}(\sqrt{2}, \sqrt{3})$ 上分裂,这正是我在第 7 部分算过的 $4$ 次扩张。Galois 群是 Klein 四元群 $\{e, \sigma, \tau, \sigma\tau\}$ ,其中 $\sigma$ 交换 $\pm\sqrt{2}$ ,而 $\tau$ 交换 $\pm\sqrt{3}$ 。中间域有三个二次域:$\mathbb{Q}(\sqrt{2}), \mathbb{Q}(\sqrt{3}), \mathbb{Q}(\sqrt{6})$ ,它们一一对应那三个 $2$ 阶子群。

这就是经典的“双二次”扩张。它在本科代数课程里占据核心位置,也是 $\mathbb{Q}$ 上最简单的非循环 Galois 扩张。每个二次域 $\mathbb{Q}(\sqrt{d})$ 都是 Galois 扩张,群结构为 $\mathbb{Z}/2$ 。双二次域就是再往上一层的结构。

初学者的常见误区#

我常提醒学生避开第一个误区:以为“抽象代数跟计算毫无关系”。它其实跟计算 息息相关。纯数学和应用数学的界限,很大程度上只是人为划分。我可以用同一套 Galois 理论给多项式可解性分类,也能用它驱动 TLS 握手里的椭圆曲线密码学。我同样能用表示论刻画单 Lie 代数,还能用它预测原子物理中的光谱线。

第二个误区是以为“应用方向就意味着不够严谨”。上面提到的密码协议,全都建立在严格的定理之上:Lagrange 定理、Fermat 定理、中国剩余定理,以及 $\mathbb{F}_p[x]$ 中的唯一分解定理。我若抽掉这些定理,就没人能证明解密操作确实能还原加密过程,整套系统也会沦为经验法则。我认为,现代密码学恰恰是当今最严谨的应用学科之一。

第三个误区是以为“应用只是事后补充”。事实完全相反。应用恰恰是抽象学科诞生的初衷。Galois 创立他的理论,就是为了彻底解决五次方程不可解的问题。Hilbert 搭建代数数论,就是为了攻克互反律。我始终强调,抽象结构从来都是为了服务具体问题而存在的。

这些知识用在哪里#

公钥基础设施。 每次 HTTPS 连接、每次安装带签名的软件更新、每封验证过身份的邮件,背后都在组合使用 RSA、ECC 和 Diffie-Hellman。这些技术全都扎根于有限群论。现在行业正向后量子密码学(Kyber、Dilithium、McEliece)过渡。新方案会替换旧算法,改用基于格和基于编码的构造。它们依赖更丰富的代数结构:环上的结构化格、$\mathbb{F}_q$ 上的纠错码,以及椭圆曲线之间的同源映射。

量子计算。 量子算法会直接调用希尔伯特空间上酉算子的线性代数。我读 Shor 算法时注意到,它依赖量子傅里叶变换。这个变换本质上就是循环群 $\mathbb{Z}/n$ 的表示论。Grover 算法则使用振幅放大技术。这项技术走的是几何路线。整门学科骨子里都是代数。

标准模型物理学。 规范群 $SU(3) \times SU(2) \times U(1)$ 负责给基本相互作用分类。粒子会按照这个群的不可约表示发生变换:夸克属于 $SU(3)$$\mathbf{3}$ 表示,电弱二重态属于 $SU(2)$$\mathbf{2}$ 表示,超荷则对应 $U(1)$ 的不可约表示。希格斯机制会打破原有的对称性,进而产生大质量规范玻色子。我梳理这些内容时发现,它们全都在讲紧致李群的表示论。

编码与压缩。 Reed-Solomon 码、BCH 码、低密度奇偶校验码、极化码,这些编码全都用代数方法构造出来。传回旅行者号图像的深空通信协议、蜂窝移动通信协议(LTE、5G),还有数据中心里的纠错机制,底层全都依赖这套代数。我在实际工程里见过,它们把代数结构直接写进了通信标准。

我希望你带走的核心#

系列到此收尾。我想分享三点体会:

  1. 贯穿始终的主线。12篇文章前,我们从“什么是群”出发,一路走到“标准模型如何运作”。每一步都紧跟着上一步,不得不往前走:群需要作用,作用需要商群,商群需要正规性,正规性引出同态,同态引出表示,表示需要线性,线性需要域,域需要扩张,扩张需要 Galois 群,Galois 群需要可解性,可解性需要范畴视角。没有一步是凭空捏造的。

  2. 计算的纪律。如果你亲手算过每篇文章的例题——乘过置换、分解过多项式、算过 Galois 群、写过特征标表——你的直觉就已经成型了。抽象代数不能光靠读,必须亲手做。回报在于,到最后你会觉得那些抽象结构是必然的,而不是随意的。因为你已经在许多具体例子里见过它们。

  3. 代数在现代数学里的位置。代数是数学的三大支柱之一,另外两根是分析与拓扑。它早已和这两根支柱互相渗透:代数拓扑、代数几何、代数组合、代数数论、Lie 群表示论、同调代数。这个趋势是单向的。名字里带“代数”的分支越来越多。代数方法足够精确,而且经常能把难题转化成分类问题。

数学是结构洞察的缓慢积累。一次只加一个定义。从“我听说过群”到“我能用表示论预测粒子相互作用”,这条路很长。但每一步都定义清晰,每一步都踩在前一步的肩膀上。这才是这门学科真正的满足感。它当然有用,但真正打动人的是它讲得通。世上很少有东西能像数学这样严丝合缝。欢迎来到结构的世界。结构也在等你回来。

总结#

写到这里,我合上笔记本,回头看这十二篇文章走过的路。我们从最朴素的群(group)出发,问“什么是对称”,然后一层层往上搭:环(ring)抓住算术的骨架,域(field)和 Galois 理论(Galois theory)钉死多项式方程的解结构,模(module)把线性代数和 Abel 群缝在一起,表示论(representation theory)让抽象群长出矩阵的血肉,范畴(category)提供一套能装下所有结构的通用语法。最后这篇,我们把骨架放回现实:RSA 和 ECC 护着你的网银和聊天,Reed-Solomon 和 QR 码让数据穿越噪声和污渍,SU(3) 表示论预言了夸克怎么抱团,壁纸群和空间群分类了从瓷砖到 DNA 的所有晶体对称。抽象代数从来不是脱离地面的空中楼阁,它是现实世界隐形的基础设施。

数学不是旁观者的运动。学代数的唯一正路是动手:算例子、推定理、找反例、在每一个新场景里问“这里的代数结构是什么”。结构一直在那儿,等你认出来。Galois 研究方程时没想过纠错码,Lie 研究连续对称时没想过标准模型,Hilbert 证基定理时没想过计算机代数。应用是后来长出来的,通常隔了几十年,通常由不知道自己在用原始论文的人实现。这不是巧合,是结构在起作用。模式足够普遍时,它的应用面就足够宽,总会在某个工程或物理问题里撞上现实。

如果你一路跟到这十二篇的终点,你已经握住了所有必要的工具。剩下的就是实践。无论你的兴趣指向代数几何、数论、拓扑、理论物理还是计算机科学,这套代数思维都会替你省下大量重复造轮子的时间。抽象代数不是一门分支,它是一种看世界的方式。当你习惯用群看对称、用环看算术、用域看扩张、用模看线性结构、用范畴看关系时,你会发现数学不再是碎片化的公式堆,而是一张紧密咬合的网。网已经织好,下一步是你自己往上走。去算、去写、去犯错、去修正。代数不会辜负愿意动手的人。

本系列

抽象代数 12 篇

  1. 01 抽象代数(一):群 —— 你与代数结构的初次相遇
  2. 02 抽象代数(二):群的作用 —— 群如何移动事物
  3. 03 抽象代数(三):商群与同态 —— 结构压缩的艺术
  4. 04 抽象代数(四):Sylow 定理 —— 剖析有限群
  5. 05 抽象代数(五):环与理想 —— 当乘法进入画面
  6. 06 抽象代数(六):多项式环 —— 因子分解与唯一分解
  7. 07 抽象代数(七):域扩张 — 构建更大的数系
  8. 08 抽象代数(八):Galois 理论 —— 域与群之间的桥梁
  9. 09 抽象代数(九):模——向量空间的推广
  10. 10 抽象代数(十):表示论 — 群在向量空间上的作用
  11. 11 抽象代数(十一):范畴论 — 数学结构的语言
  12. 12 抽象代数(十二):代数在实际应用中的威力 —— 从密码学到编码理论及其他 当前

读有所得?

在 GitHub 关注我 → 新文大约每周一篇

GitHub