原根与指数
原根是模运算中一个基本而重要的概念。我们先从模 \(m\) 的简化剩余系说起。
一个模 \(m\) 的简化剩余系是指一个包含 \(\phi(m)\) 个整数的集合,其中每个数都与 \(m\) 互质,且任意两数模 \(m\) 不同余。这里 \(\phi(m)\) 是欧拉函数,表示不超过 \(m\) 且与 \(m\) 互质的正整数的个数。
现在,考虑模 \(m\) 的乘法群 \((\mathbb{Z}/m\mathbb{Z})^{\times}\),它是一个阶为 \(\phi(m)\) 的乘法阿贝尔群。如果存在一个整数 \(g\),使得 \(g\) 模 \(m\) 的阶恰好等于 \(\phi(m)\),那么我们称 \(g\) 是模 \(m\) 的一个原根。换句话说,\(g\) 是模 \(m\) 的原根,当且仅当集合
\[\{ g^k \bmod m : k=0,1,2,\dots,\phi(m)-1 \} \]
构成了模 \(m\) 的一个简化剩余系。
例如,取 \(m=7\),则 \(\phi(7)=6\)。考虑 \(g=3\),计算:
\[3^1 \equiv 3 \pmod{7}, \quad 3^2 \equiv 2 \pmod{7}, \quad 3^3 \equiv 6 \pmod{7}, \]
\[ 3^4 \equiv 4 \pmod{7}, \quad 3^5 \equiv 5 \pmod{7}, \quad 3^6 \equiv 1 \pmod{7}. \]
我们看到 \(3\) 的幂模 \(7\) 生成了整个简化剩余系 \(\{1,2,3,4,5,6\}\),所以 \(3\) 是模 \(7\) 的一个原根。
需要注意的是,并非所有模数 \(m\) 都存在原根。事实上,模 \(m\) 存在原根当且仅当 \(m=1,2,4,p^k,2p^k\),其中 \(p\) 是奇素数,\(k\) 是正整数。
一旦我们固定模 \(m\) 的一个原根 \(g\),那么对于任意与 \(m\) 互质的整数 \(a\),都存在唯一的整数 \(k\),满足 \(0 \le k < \phi(m)\),使得
\[a \equiv g^k \pmod{m}. \]
这个整数 \(k\) 就称为 \(a\) 关于原根 \(g\) 的指数,记作 \(\operatorname{ind}_g(a)\)。指数可以看作是在乘法群 \((\mathbb{Z}/m\mathbb{Z})^{\times}\) 中,以原根 \(g\) 为底的离散对数。
指数的引入使得模 \(m\) 的乘法运算可以转化为指数之间的加法运算。具体来说,如果 \(a \equiv g^x \pmod{m}\),\(b \equiv g^y \pmod{m}\),那么
\[ab \equiv g^{x+y} \pmod{m}, \]
所以
\[\operatorname{ind}_g(ab) \equiv \operatorname{ind}_g(a) + \operatorname{ind}_g(b) \pmod{\phi(m)}. \]
类似地,对于幂运算,有
\[\operatorname{ind}_g(a^k) \equiv k \cdot \operatorname{ind}_g(a) \pmod{\phi(m)}. \]
这些性质使得指数成为解决高次同余方程的有力工具。例如,考虑同余方程
\[a^x \equiv b \pmod{m}, \]
其中 \(\gcd(a,m)=1\)。设 \(g\) 是模 \(m\) 的一个原根,令 \(A = \operatorname{ind}_g(a)\),\(B = \operatorname{ind}_g(b)\),则原方程等价于
\[A \cdot x \equiv B \pmod{\phi(m)}. \]
这是一个关于 \(x\) 的一次同余方程,我们可以用扩展欧几里得算法来求解。
原根和指数的理论在数论中有广泛的应用,包括素数测试、公钥密码学(如Diffie-Hellman密钥交换和ElGamal加密体制)以及解析数论中关于素数分布的研究。它们为我们理解模运算下的乘法结构提供了深刻的洞察。