超大素数分解算法
素数积用到的定理
有分解较大的素数积之前我们必须先理解一些定理,这些定理有些来源于数论,部分来源于推导。所以理解这些定理之后,才能理解素数积分解的真正理论持。
数论定理
该定理出现在数论的相关著作中,可以查看《数论》并可以查看到相关的定理及证明。
费马小定理
若P是一个素数,则 a P ≡ a m o d    P a^{P} \equiv a \mod P aP≡amodP。
或者可以变形为:
若P是一个素数,则 a P − 1 ≡ 1 m o d    P a^{P-1} \equiv 1\mod P aP−1≡1modP。
欧拉函数
若N是一个素数,则 ϕ ( N ) = N − 1 \phi(N) = N-1 ϕ(N)=N−1。
若N是两个素数积( N = P × Q N = P\times Q N=P×Q),则 ϕ ( N ) = ( P − 1 ) × ( Q − 1 ) \phi(N) = (P-1)\times (Q-1) ϕ(N)=(P−1)×(Q−1)。
同余定理1
若 N ≡ 1 m o d    A ∧ N ≡ 1 m o d    B N\equiv1\mod A\land N\equiv1\mod B N≡1modA∧N≡1modB, 则 N ≡ 1 m o d    ( A × B ) N\equiv1\mod (A\times B) N≡1mod(A×B)。
同余定理2
若 a ≡ b m o d    e , c ≡ d m o d    e a\equiv b\mod e,\qquad c\equiv d\mod e a≡bmode,c≡dmode,则 a × c ≡ ( b × d ) m o d    e a\times c\equiv (b\times d)\mod e a×c≡(b×d)mode。
推导定理
该定理并未出现在数论的相关著作中,但可以根据数论定理进行推导。
素数积定理1
若N是两个素数P和Q的乘积( N = P × Q N = P \times Q N=P×Q),则 a ϕ ( N ) ≡ 1 m o d    N a^{\phi(N)} \equiv 1 \mod N aϕ(N)≡1modN。
证明过程:
a ϕ ( N ) = a ( P − 1 ) ( Q − 1 ) a^{\phi(N)} = a^{(P-1)(Q-1)} aϕ(N)=a(P−1)(Q−1)
a ( P − 1 ) ( Q − 1 ) m o d    P a^{(P-1)(Q-1)}\mod P a(P−1)(Q−1)modP
= ( a Q − 1 ) P − 1 m o d    P =(a^{Q-1})^{P-1}\mod P =(aQ−1)P−1modP
= 1 m o d    P =1\mod P =1modP (费马小定理)
\quad
a ( P − 1 ) ( Q − 1 ) m o d    Q a^{(P-1)(Q-1)}\mod Q a(P−1)(Q−1)modQ
= ( a P − 1 ) Q − 1 m o d    Q =(a^{P-1})^{Q-1} \mod Q =(aP−1)Q−1modQ
= 1 m o d    Q =1\mod Q =1modQ (费马小定理)
同余定理
a ϕ ( N ) ≡ 1 m o d    P a^{\phi(N)}\equiv1\mod P aϕ(N)≡1modP 且 a ϕ ( N ) ≡ 1 m o d    Q a^{\phi(N)}\equiv1\mod Q aϕ(N)≡1modQ
a ϕ ( N ) ≡ 1 m o d    ( P × Q ) a^{\phi(N)}\equiv1\mod(P\times Q) aϕ(N)≡1mod(P×Q)
a ϕ ( N ) ≡ 1 m o d    N a^{\phi(N)}\equiv1\mod N aϕ(N)≡1modN
素数积定理2
若N是两个素数P和Q的乘积( N = P × Q N=P\times Q N=P×Q),则 a k × l c m ( P − 1 , Q − 1 ) ≡ 1 m o d    N a^{k\times lcm(P-1,Q-1)}\equiv1\mod N ak×lcm(P−1,Q−1)≡1modN。
l c m ( p , q ) lcm(p,q) lcm(p,q)1表示 p p p与 q q q的最小公倍数, g c d ( p , q ) gcd(p,q) gcd(p,q)2表示 p p p和 q q q的最大公约数证明过程:
假定 m = g c d ( P − 1 , Q − 1 ) m=gcd(P-1,Q-1) m=gcd(P−1,Q−1)
a l c m ( P − 1 , Q − 1 ) = a ( P − 1 ) ( Q − 1 ) m a^{lcm(P-1,Q-1)}=a^{\frac{(P-1)(Q-1)}{m}} alcm(P−1,Q−1)=am(P−1)(Q−1)
\quad
a ( P − 1 ) ( Q − 1 ) m m o d    P a^{\frac{(P-1)(Q-1)}{m}}\mod P am(P−1)(Q−1)modP
= ( a Q − 1 m ) P − 1 m o d    P =(a^{\frac{Q-1}{m}})^{P-1}\mod P =(amQ−1)P−1modP
= 1 m o d    P =1\mod P =1modP (费马小定理)
\quad
a ( P − 1 ) ( Q − 1 ) m m o d    Q a^{\frac{(P-1)(Q-1)}{m}}\mod Q am(P−1)(Q−1)modQ
= ( a P − 1 m ) Q − 1 m o d    Q =(a^{\frac{P-1}{m}})^{Q-1}\mod Q =(amP−1)Q−1modQ
= 1 m o d    Q =1\mod Q =1modQ (费马小定理)
同余定理
a l c m ( P − 1 , Q − 1 ) ≡ 1 m o d    P ∧ a l c m ( P − 1 , Q − 1 ) ≡ 1 m o d    Q a^{lcm(P-1,Q-1)}\equiv1\mod P\land a^{lcm(P-1,Q-1)}\equiv1\mod Q alcm(P−1,Q−1)≡1modP∧alcm(P−1,Q−1)≡1mod