基础算法数论:循环群生成元的探索
1. 定理 B.15 及其证明
对于长度为 $n$ 且 $N \geq 3$ 的数 $N$,有 $\frac{N}{\varphi(N)} < 2^n$。此定理虽有更强的边界,但当前结果足以满足需求。下面分两种特殊情况进行证明:
1.1 当 $N$ 为奇素数时
此时 $\varphi(N) = N - 1$,所以 $\frac{N}{\varphi(N)} \leq \frac{2^n}{\varphi(N)} = \frac{2^n}{N - 1} \leq \frac{2^n}{2^{n - 1}} = 2$(利用 $N$ 为奇数得到第二个不等式)。
1.2 当 $N = pq$,$p$ 和 $q$ 为不同的奇素数时
$\frac{N}{\varphi(N)} = \frac{pq}{(p - 1)(q - 1)} = \frac{p}{p - 1} \cdot \frac{q}{q - 1} < \frac{3}{2} \cdot \frac{5}{4} < 2$。
由此可得,当 $N$ 为素数或两个不同奇素数的乘积时,存在一个算法可在 $n = |N|$ 的多项式时间内生成 $Z_N^*$ 中的均匀元素,且输出失败的概率在 $n$ 上可忽略不计。在实际应用中,通常会忽略这种可忽略的失败概率,因为它对分析结果没有显著影响。
2. 寻找循环群的生成元
2.1 问题引入
要解决的问题是找到任意阶为 $q$ 的循环群 $G$ 的生成元。这里 $q$ 不一定是素数,当 $q$ 为素数时,根据推论
超级会员免费看
订阅专栏 解锁全文
90

被折叠的 条评论
为什么被折叠?



