先定义阶的概念:如果$gcd(a,p)==1$,那么对于方程$a^r \equiv 1 (mod\ p)$来说,首先根据欧拉定理$ a^{\phi(p)}\equiv 1 (mod\ p) $,解一定存在所以$ r\leq \phi(p) $,最小的$r$称为$a$关于$p$的阶,记作$ ord_p(a) $
定义原根概念:一个模$ p $意义下的$ 0-p-1 $次幂各不相同,取遍$ [0,p-1] $,也就是说$ ord_p(g)=\phi(p) $。
先说一下什么样的数具有原根。
结论是:对于奇质数$ p $,有原根的数是:$ 2,4,p^e,p^{2e} $证明比较麻烦,$Niven$和$Zuckerman$证明,略去过程。
因为最小原根一般都比较小,所以可以直接枚举出来,而这种方法有时候就显得过于慢。
怎么更快。
有一个结论可以用:对于一个有原根的数$p$,如果$g$的$\phi(p)$的所有因子次方在$mod\ p$条件下均不为1,那么$g$是$p$的原根。
证明:首先结论可以转化为,如果对于任意的$b|\phi(p)$,均不满足$ g^b \equiv 1 (mod\ p)$那么,对于任意的$1\leq b\leq\phi(p)-1$ ($b$不满足$b|\phi(p)$),均不满足$g^b \equiv 1 (mod\ p)$。
反证:
假设存在一个$b$,($b$不满足$b|\phi(p)$),满足$g^b \equiv 1 (mod\ p)$,设其中小的为$c$,那么$g^c\equiv 1 (mod\ p)$成立。
令$d=\phi(p)-c,d>=c$
根据欧拉定理。
$ g^d \equiv g^{\phi(p)-c} \equiv g^{-c} \equiv 1 (mod\ p) $
引理:$c|d$不成立。
反证:假设成立。
令$d=kc$
那么:$\phi(p)=d+c=(k+1)c$
不满足$c|\phi(p)$。
所以假设不成立。
引理$c|d$不成立得证。
那么$gcd(c,d)\leq c$
因为:
$g^c \equiv 1 (mod\ p)$
$c=qgcd(c,d)$
所以:
$g^c \equiv g^{qgcd(c,d)} \equiv g^{gcd(c,d)} \equiv 1 (mod\ p)$
因为$gcd(c,d)<c$与假设的$c$是最小的$b$不成立。
所以假设不成立。
证毕。