31.8节和以后内容由于和所学专业相差过远,暂时停更。。。
证明:
c m o d    a = ( a + b ) m o d    a = b m o d    a = b \begin{aligned} c\mod a & =(a+b)\mod a \\ &=b\mod a \\ &=b \end{aligned} cmoda=(a+b)moda=bmoda=b
证明: [ ( p 1 p 2 . . . p i . . . p k ) + 1 ] m o d    p i = [ ( p 1 p 2 . . . p i . . . p k ) m o d    p i ] + [ 1 m o d    p i ] = 1 [(p_1p_2...p_i...p_k)+1]\mod{p_i}=[(p_1p_2...p_i...p_k)\mod{p_i}]+[1\mod{p_i}]=1 [(p1p2...pi...pk)+1]modpi=[(p1p2...pi...pk)modpi]+[1modpi]=1
所以其中任意素数都不能整除该数,所以该数仍是个素数,所以有无穷多个素数。
证明:设 b = m a b=ma b=ma, c = n b c=nb c=nb,则 c = m n a c=mna c=mna,所以 a ∣ c a\mid c a∣c。
证明:如果k不是1,则k不能整除p,得出结论;如果k是1,则直接得出结论。
证明:设 a b = n k ab=nk ab=nk,则 b = n k a b=\frac{nk}{a} b=ank。因为 gcd ( a , n ) = 1 \gcd(a,n)=1 gcd(a,n)=1,所以 n a \frac{n}{a} an不是整数(只要a不是1,如果是的话就易证了)。又因为b是整数,所以 k a \frac{k}{a} ak是一个整数,所以 n ∣ b n\mid b n∣b。
证明:
( a + b ) p ≡ a p + ( p 1 ) a p − 1 b 1 + ⋯ + ( p p − 1 ) a 1 b p − 1 + b p ( m o d    p ) ≡ a p + 0 + ⋯ + 0 + b p ( m o d    p ) ≡ a p + b p ( m o d    p ) \begin{array}{rlll} (a + b) ^ p & \equiv & a^p + \binom{p}{1} a^{p - 1}b^{1} + \cdots + \binom{p}{p - 1} a^{1}b^{p - 1} + b^p & (\mod p) \\ & \equiv & a^p + 0 + \cdots + 0 + b^p & (\mod p) \\ & \equiv & a^p + b^p & (\mod p) \end{array} (a+b)p≡≡≡ap+(1p)ap−1b1+⋯+(p−1p)a1bp−1+bpap+0+⋯+0+bpap+bp(modp)(modp)(modp)
证明:假设 x = k b + c x = kb + c x=kb+c,有 ( x m o d    b ) m o d    a = c m o d    a (x \mod b) \mod a = c \mod a (xmodb)moda=cmoda和 x m o d    a = ( k b + c ) m o d    a = ( k b m o d    a ) + ( c m o d    a ) = c m o d    a x \mod a = (kb + c) \mod a = (kb \mod a) + (c \mod a) = c \mod a xmoda=(kb+c)moda=(kbmoda)+(cmoda)=cmoda
证明:因为 2 β > n 2^\beta > n 2β>n,所以只要验证满足 2 ≤ k < β 2 \le k < \beta 2≤k<β的 k k k值,因此验证过程的时间复杂度是 O ( β ) O(\beta) O(β)。
对任意非平凡指数 k k k, 2 ≤ k < β 2 \le k < \beta 2≤k<β,使用二分查找找到 a a a,时间复杂度 O ( log n ) = O ( log 2 β ) = O ( 1 2 log 2 β ) = O ( β ) O(\log \sqrt n) = O(\log \sqrt{2^\beta}) = O(\frac 1 2\log 2^\beta) = O(\beta) O(logn)=O(log2β)=O(21log2β)=O(β)。因此,总时间复杂度是 O ( β ) × O ( β ) = O ( β 2 ) O(\beta) \times O(\beta) = O(\beta^2) O(β)×O(β)=O(β2)。
证明:
(31.6)略
(31.7)gcd(a,b)是a的约数中能整除b的最大的一个,而a和-a有相同的约数,所以也是-a的约数中能整除b的最大的一个,所以也是gcd(-a,b)。
(31.8)由(31.7)可得。
(31.9)a的最大约数是|a|,而它也能整除0,所以gcd(a,0)=|a|。
(31.10)思路同(31.9)
证明(本题证明思路来自https://blog.csdn.net/z84616995z/article/details/21945197):
定义“ gcd ( a , b , c ) \gcd(a,b,c) gcd(a,b,c)”为a,b,c三个数的最大公约数,需证明 gcd ( a , gcd ( b , c ) ) = gcd ( a , b , c ) = gcd ( gcd ( a , b ) , c ) \gcd(a, \gcd(b, c))=\gcd(a,b,c)=\gcd(\gcd(a, b), c) gcd(a,gcd(b,c))=gcd(a,b,c)=gcd(gcd(a,b),c),而该式前后两部分可由交换律得出,所以只需证明前半部分 gcd ( a , gcd ( b , c ) ) = gcd ( a , b , c ) \gcd(a, \gcd(b, c))=\gcd(a,b,c) gcd(a,gcd(b,c))=gcd(a,b,c),该证明分为两部分。
(1)设 d = gcd ( a , gcd ( b , c ) ) d=\gcd(a, \gcd(b, c)) d=gcd(a,gcd(b,c)),则 d ∣ a d\mid a d∣a且 d ∣ gcd ( b , c ) d\mid \gcd(b, c) d∣gcd(b,c),所以 d ∣ a d\mid a d∣a且 d ∣ b d\mid b d∣b且 d ∣ c d\mid c d∣c,所以 d ≤ gcd ( a , b , c ) d\leq\gcd(a,b,c) d≤gcd(a,b,c)。
(2)设 d ′ = gcd ( a , b , c ) d'=\gcd(a,b,c) d′=gcd(a,b,c),则 d ∣ a d\mid a d∣a且 d ∣ b d\mid b d∣b且 d ∣ c d\mid c d∣c,由推论31.3知 d ′ ∣ gcd ( b , c ) d'\mid\gcd(b,c) d′∣gcd(b,c)。又因为 d ′ ∣ a d'\mid a d′∣a,所以再次使用 d ′ ∣ gcd ( a , g c d ( b , c ) ) d'\mid\gcd(a,gcd(b,c)) d′∣gcd(a,gcd(b,c))。因为最大公约数一定是正整数,所以存在正整数 k k k,使得 gcd ( a , gcd ( b , c ) ) = k d ′ \gcd(a,\gcd(b,c))=kd' gcd(a,gcd(b,c))=kd′。
证明:反证,假设存在某些数,它们有至少两种分解方法。那么一定有一个最小的数M,它能用至少两种方法表示成质数的乘积:
M = p 1 × p 2 × … × p r = q 1 × q 2 × … × q s M = p_1\times p_2\times … \times p_r = q_1\times q_2\times … \times q_s M=p1×p2×…×pr=q1×q2×…×qs
设 p 1 ≤ p 2 ≤ . . . ≤ p r p_1 \leq p_2 \leq ... \leq p_r p1≤p2≤...≤pr, q 1 ≤ q 2 ≤ . . . ≤ q s q_1 \leq q_2 \leq ... \leq q_s q1≤q2≤...≤qs。显然, p 1 p_1 p1是不等于 q 1 q_1 q1的,不然两边同时约掉它,就得到一个更小的有两种分解方法的数。设 p 1 < q 1 p_1 < q_1 p1<q1,那么用 p 1 p_1 p1替换掉等式最右边中的 q 1 q_1 q1,得到一个比M更小的数 T = p 1 × q 2 × q 3 × . . . × q s T = p_1 \times q_2 \times q_3 \times ... \times q_s T=p1×q2×q3×...×qs。令 M ′ = M − T M' = M - T M′=M−T,得到 M ′ M' M′的两种表达:
M ′ = ( p 1 × p 2 × . . . × p r ) − ( p 1 × q 2 × . . . × q s ) = p 1 × ( p 2 × . . × p r − q 2 × . . . × q s ) M' = (p_1 \times p_2 \times ... \times p_r) - (p_1 \times q_2 \times ... \times q_s) = p_1 \times (p_2 \times .. \times p_r - q_2 \times ... \times q_s) M′=(p1×p2×...×pr)−(p1×q2×...×qs)=p1×(p2×..×pr−q2×...×qs)…(1)
M ′ = ( q 1 × q 2 × . . . × q s ) − ( p 1 × q 2 × . . . × q s ) = ( q 1 − p 1 ) × q 2 × . . . × q s M' = (q_1 \times q_2 \times ... \times q_s) - (p_1 \times q_2 \times ... \times q_s) = (q_1 - p_1) \times q_2 \times ... \times q_s M′=(q1×q2×...×qs)−(p1×q2×...×qs)=(q1−p1)×q2×...×qs …(2)
由于 T T T比 M M M小,因此 M ′ M' M′是正整数。从(1)式中可以看到, p 1 p_1 p1是 M ′ M' M′的一个质因子。注意到 M ′ M' M′比 M M M小,因此它的质因数分解方式应该是唯一的,可知 p 1 p_1 p1也应该出现在表达式(2)中。既然 p 1 p_1 p1比所有的 q q q都要小,因此它不可能恰好是(2)式中的某个 q q q,于是只可能被包含在因子 ( q 1 − p 1 ) (q_1-p_1) (q1−p1)里。但这就意味着, ( q 1 − p 1 ) / p 1 (q_1-p_1)/p_1 (q1−p1)/p1除得尽,也就是说 q 1 / p 1 − 1 q_1/p_1-1 q1/p1−1是一个整数,这样 q 1 / p 1 q_1/p_1 q1/p1也必须得是整数。立即看出, p 1 p_1 p1必须也是 q 1 q_1 q1的一个因子,这与 q 1 q_1 q1是质数矛盾了。这说明,最初的假设是错误的。
思路:使用位运算,为短整数左移(补0)至β长度,然后与整数相减,然后逐渐右移并相减得出商和余数。
解:(29,1,0),过程略。
证明思路:利用定理31.9,可分别证明 gcd ( a + k n , n ) = gcd ( a , n ) = gcd ( a m o d    n , n ) \gcd(a+kn,n)=\gcd(a,n)=\gcd(a\mod n,n) gcd(a+kn,n)=gcd(a,n)=gcd(amodn,n)和 gcd ( a , n ) = gcd ( a − k n , n ) = gcd ( a m o d    n , n ) \gcd(a,n)=\gcd(a-kn,n)=\gcd(a\mod n,n) gcd(a,n)=gcd(a−kn,n)=gcd(amodn,n)(假设k为正整数)
解:
EUCLID(a,b)
while b != 0
k = a
a = b
b = k mod b
return a
证明:
b ≥ F k + 1 ≈ ϕ k + 1 / 5 b \ge F_{k + 1} \approx \phi^{k + 1} / \sqrt{5} b≥Fk+1≈ϕk+1/5
k + 1 < log ϕ 5 + log ϕ b ≈ 1.67 + log ϕ b k + 1 < \log_\phi \sqrt{5} + \log_\phi b \approx 1.67 + \log_\phi b k+1<logϕ5+logϕb≈1.67+logϕb
k < 0.67 + log ϕ b < 1 + log ϕ b . k < 0.67 + \log_\phi b < 1 + \log_\phi b. k<0.67+logϕb<1+logϕb.
因为 d ⋅ a m o d    d ⋅ b = d ⋅ ( a m o d    b ) d \cdot a \mod d \cdot b = d \cdot (a \mod b) d⋅amodd⋅b=d⋅(amodb), gcd ( d ⋅ a , d ⋅ b ) \gcd(d \cdot a, d \cdot b) gcd(d⋅a,d⋅b)与 gcd ( a , b ) \gcd(a, b) gcd(a,b)有相同的迭代次数,所以可以令 b ′ = b / gcd ( a , b ) b' = b / \gcd(a, b) b′=b/gcd(a,b),不等式 k < 1 + log ϕ ( b ′ ) = 1 + log ϕ ( b / gcd ( a , b ) ) k < 1 + \log_\phi(b') = 1 + \log_\phi(b / \gcd(a, b)) k<1+logϕ(b′)=1+logϕ(b/gcd(a,b))就成立。
解:如果 k k k是奇数,得到 ( 1 , − F k − 2 , F k − 1 ) (1, -F_{k-2}, F_{k - 1}) (1,−Fk−2,Fk−1);如果 k k k是偶数,得到 ( 1 , F k − 2 , − F k − 1 ) (1, F_{k-2}, -F_{k - 1}) (1,Fk−2,−Fk−1)。证明略。
证明(过程来自https://blog.csdn.net/z84616995z/article/details/21945197):
下面需要证明如下等式:gcd(a0,a1,…,an)=gcd(ai,gcd(a1,.a(i-1),a(i+1)…,an)).
1.设d=gcd(a0,a1,…,an) 则d|ai(i=0,1,…n),d是ai的公约数,所以d|aj(j=0,1…n且(j≠i))且d|ai
所以d|gcd(a0,a1…a(i-1),a(i+1)…an),由于且d|ai ,
所以d|gcd(ai,gcd(a1,.a(i-1),a(i+1)…,an)),由此可知:gcd(ai,gcd(a1,.a(i-1),a(i+1)…,an))≥d=gcd(a0,a1,…,an) …(1)
2.设d‘=gcd(ai,gcd(a1,.a(i-1),a(i+1)…,an))则d’|ai,d’|gcd(a1,.a(i-1),a(i+1)…,an)=>d’|ai(i=0,1,…n)=>d’是ai的公约数
所以的d’≤d,gcd(ai,gcd(a1,.a(i1),a(i+1)…,an))≤gcd(a0,a1,…,an)…(2)
由(1)和(2)知gcd(ai,gcd(a1,.a(i-1),a(i+1)…,an))=d=gcd(a0,a1,…,an) 其中i=0,1…n 也就是说a0,a1…an的最大公约数就是等于其中任意一个ai与剩下的gcd(a1,.a(i-1),a(i+1)…,an)的最大公约数。
解:
假设
gcd ( a 0 , gcd ( a 1 , a 2 , ⋯   , a n ) ) = a 0 ⋅ x + gcd ( a 1 , a 2 , ⋯   , a n ) ⋅ y \gcd(a_0, \gcd(a_1, a_2, \cdots, a_n)) = a_0 \cdot x + \gcd(a_1, a_2, \cdots, a_n) \cdot y gcd(a0,gcd(a1,a2,⋯,an))=a0⋅x+gcd(a1,a2,⋯,an)⋅y
且
gcd ( a 1 , gcd ( a 2 , a 3 , ⋯   , a n ) ) = a 1 ⋅ x ′ + gcd ( a 2 , a 3 , ⋯   , a n ) ⋅ y ′ , \gcd(a_1, \gcd(a_2, a_3, \cdots, a_n)) = a_1 \cdot x' + \gcd(a_2, a_3, \cdots, a_n) \cdot y', gcd(a1,gcd(a2,a3,⋯,an))=a1⋅x′+gcd(a2,a3,⋯,an)⋅y′,
所以 a 1 a_1 a1的系数是 y ⋅ x ′ y \cdot x' y⋅x′.·
EXTENDED-EUCLID(a, b)
if b == 0
return (a, 1, 0)
(d, x, y) = EXTENDED-EUCLID(b, a mod b)
return (d, y, x - (a / b) * y)
EXTENDED-EUCLID-MULTIPLE(a)
if a.length == 1
return (a[0], 1)
g = a[a.length - 1]
xs = [1] * a.length
ys = [0] * a.length
for i = a.length - 2 downto 0
(g, xs[i], ys[i + 1]) = EXTENDED-EUCLID(a[i], g)
m = 1
for i = 1 to a.length
m *= ys[i]
xs[i] *= m
return (g, xs)
解:
两数的乘积等于最大公约数乘最小公倍数。
gcd(a, b)
if b == 0
return a
return gcd(b, a mod b)
lcm(a, b)
return a / gcd(a, b) * b
lcm-MULTIPLE(a)
l = a[0]
for i = 1 to a.length
l = lcm(l, a[i])
return l
证明:
假设 n 1 n 2 x + n 3 n 4 y = 1 n_1n_2 x + n_3n_4 y = 1 n1n2x+n3n4y=1,可得 n 1 ( n 2 x ) + n 3 ( n 4 y ) = 1 n_1(n_2 x) + n_3(n_4 y) = 1 n1(n2x)+n3(n4y)=1,因此 n 1 n_1 n1与 n 3 n_3 n3互质, n 1 n_1 n1与 n 4 n_4 n4, n 2 n_2 n2与 n 3 n_3 n3, n 2 n_2 n2与 n 4 n_4 n4都互质。又因为 gcd ( n 1 n 3 , n 2 n 4 ) = 1 \gcd(n_1n_3, n_2n_4) = 1 gcd(n1n3,n2n4)=1,所以所有对都互质。
一般性:在第一轮中,将元素分成两组,元素数量相等,分别计算两组的乘积,如果两个乘积互质,那么一组中的元素与另一组中的元素互质。在下一次迭代中,对于每个集合,我们将元素划分为两个子集,假设我们有子集 ( s 1 , s 2 ) , ( s 3 , s 4 ) , … {(s_1,s_2),(s_3,s_4),\ldots} (s1,s2),(s3,s4),…,然后我们计算 s 1 , s 3 , … {s_1, s_3,\ldots} s1,s3,…和 s 2 , s 4 , … {s_2,s_4,\ldots} s2,s4,…的乘积,如果两个结果互质,则所有子集对都是成对互质,类似于第一轮。在每次迭代中,子集中元素的数量是原始集合的一半,因此有 ⌈ lg k ⌉ \lceil \lg k \rceil ⌈lgk⌉对结果。
解:
( Z 4 , + 4 ) (\mathbb Z_4,+_4) (Z4,+4) | 0 | 1 | 2 | 3 |
---|---|---|---|---|
0 | 0 | 1 | 2 | 3 |
1 | 1 | 2 | 3 | 0 |
2 | 2 | 3 | 0 | 1 |
3 | 3 | 0 | 1 | 2 |
( Z 4 , ⋅ 4 ) (\mathbb Z_4,·_4) (Z4,⋅4) | 1 | 2 | 3 | 4 |
---|---|---|---|---|
1 | 1 | 2 | 3 | 4 |
2 | 2 | 4 | 1 | 3 |
3 | 3 | 1 | 4 | 2 |
4 | 4 | 3 | 2 | 1 |
α ( x ) = 2 x − 1 \alpha(x) = 2^{x-1} α(x)=2x−1.
解:
Z 9 \mathbb Z_9 Z9:
⟨ 0 ⟩ = 0 \langle 0 \rangle = { 0 } ⟨0⟩=0,
⟨ 1 ⟩ = 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 \langle 1 \rangle = { 0, 1, 2, 3, 4, 5, 6, 7, 8 } ⟨1⟩=0,1,2,3,4,5,6,7,8,
⟨ 2 ⟩ = 0 , 2 , 4 , 6 , 8 \langle 2 \rangle = { 0, 2, 4, 6, 8 } ⟨2⟩=0,2,4,6,8。
Z 13 ∗ \mathbb Z_{13}^* Z13∗:
⟨ 1 ⟩ = 1 \langle 1 \rangle = { 1 } ⟨1⟩=1,
⟨ 2 ⟩ = 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 \langle 2 \rangle = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 } ⟨2⟩=1,2,3,4,5,6,7,8,9,10,11,12。
证明思路:根据定理的条件和群的定义可证明S‘是一个群,再由子群的定义可证明定理。
证明: ϕ ( p e ) = p e ⋅ ( 1 − 1 p ) = p e − 1 ( p − 1 ) \phi(p^e) = p^e \cdot \left ( 1 - \frac{1}{p} \right ) = p^{e - 1}(p - 1) ϕ(pe)=pe⋅(1−p1)=pe−1(p−1)
证明:对于每一个 a a a和 n n n,都有唯一的 x x x对应唯一的 y = f ( x ) y=f(x) y=f(x),所以 f ( x ) f(x) f(x)是一个双射函数。所以函数 f : Z n ∗ → Z n ∗ f: \mathbb Z_n^*\rightarrow\mathbb Z_n^* f:Zn∗→Zn∗是 Z n ∗ \mathbb Z_n^* Zn∗的一个置换。
解:6,16,26,36,46。
证明:由 a x ≡ a y ( m o d    n ) ax≡ay(\mod n) ax≡ay(modn)得 a x = a y + n k    ⟹    a ( x − y ) = n k    ⟹    n ∣ a ( x − y ) ax=ay+nk\implies a(x-y)=nk\implies n|a(x-y) ax=ay+nk⟹a(x−y)=nk⟹n∣a(x−y)且 g c d ( a , n ) = 1 gcd(a,n)=1 gcd(a,n)=1,根据推论31.5得 n ∣ ( x − y )    ⟹    x − y = n k    ⟹    x = y + n k    ⟹    x ≡ y ( m o d    n ) n|(x-y) \implies x-y=nk \implies x=y+nk\implies x≡y(\mod n) n∣(x−y)⟹x−y=nk⟹x=y+nk⟹x≡y(modn)。
解:能;假设 x 0 ≥ n / d x_0 \ge n / d x0≥n/d,方程的最大解为 x 0 + ( d − 1 ) ⋅ ( n / d ) ≥ d ⋅ n / d ≥ n x_0 + (d - 1) \cdot (n / d) \ge d \cdot n / d \ge n x0+(d−1)⋅(n/d)≥d⋅n/d≥n,这是不可能的,所以 x 0 < n / d x_0 < n / d x0<n/d。
证明:
解: m 1 = 11 , m 2 = 5. m 1 − 1 = 1 , m 2 − 1 = 9. c 1 = 11 , c 2 = 45. a = ( c 1 ⋅ a 1 + c 2 ⋅ a 2 ) m o d    ( n 1 ⋅ n 2 ) = ( 11 ⋅ 4 + 45 ⋅ 5 ) m o d    55 = 49. \begin{aligned} m_1 & = 11, m_2 = 5. \\ m_1^{-1} & = 1, m_2^{-1} = 9. \\ c_1 & = 11, c_2 = 45. \\ a & = (c_1 \cdot a_1 + c_2 \cdot a_2) \mod (n_1 \cdot n_2) \\ & = (11 \cdot 4 + 45 \cdot 5) \mod 55 = 49. \end{aligned} m1m1−1c1a=11,m2=5.=1,m2−1=9.=11,c2=45.=(c1⋅a1+c2⋅a2)mod(n1⋅n2)=(11⋅4+45⋅5)mod55=49.
解: 10 + 504 i 10 + 504i 10+504i, i ∈ Z i \in \mathbb Z i∈Z.
证明: gcd ( a , n ) = 1 → gcd ( a , n i ) = 1. \gcd(a, n) = 1 \rightarrow \gcd(a, n_i) = 1. gcd(a,n)=1→gcd(a,ni)=1.
证明:基于 31.28 \text{31.28} 31.28– 31.30 \text{31.30} 31.30.
Z 11 ∗ \mathbb Z_{11}^* Z11∗ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
2 | 1 | 4 | 9 | 5 | 3 | 3 | 5 | 9 | 4 | 1 |
3 | 1 | 8 | 5 | 9 | 4 | 7 | 2 | 6 | 3 | 10 |
4 | 1 | 5 | 4 | 3 | 9 | 9 | 3 | 4 | 5 | 1 |
5 | 1 | 10 | 1 | 1 | 1 | 10 | 10 | 10 | 1 | 10 |
6 | 1 | 9 | 3 | 4 | 5 | 5 | 4 | 3 | 9 | 1 |
7 | 1 | 7 | 9 | 5 | 3 | 8 | 6 | 2 | 4 | 10 |
8 | 1 | 3 | 5 | 9 | 4 | 4 | 9 | 5 | 3 | 1 |
9 | 1 | 6 | 4 | 3 | 9 | 2 | 8 | 7 | 5 | 10 |
10 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
g = 2 g = 2 g=2
元素 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
阶 | 10 | 1 | 8 | 2 | 4 | 9 | 7 | 3 | 6 | 5 |
解:
MODULAR-EXPONENTIATION(a, b, n)
c = 0
d = 1
let be the binary representation of b
for i = 0 to k
if b[i] == 1
c = c + 1
d = (d · a) mod n
c = 2c
a = (a · a) mod n
return d
解:调用MODULAR-EXPONENTIATION(a, Φ(n)-1, n)。
a ϕ ( n ) ≡ 1 ( m o d    n ) , a ⋅ a ϕ ( n ) − 1 ≡ 1 ( m o d    n ) , a − 1 ≡ a ϕ ( n ) − 1 ( m o d    n ) . \begin{array}{rlll} a^{\phi(n)} & \equiv & 1 & (\mod n), \\ a\cdot a^{\phi(n) - 1} & \equiv & 1 & (\mod n), \\ a^{-1} & \equiv & a^{\phi(n)-1} & (\mod n). \end{array} aϕ(n)a⋅aϕ(n)−1a−1≡≡≡11aϕ(n)−1(modn),(modn),(modn).
解: ϕ ( n ) = ( p − 1 ) ⋅ ( q − 1 ) = 280 \phi(n) = (p - 1) \cdot (q - 1) = 280 ϕ(n)=(p−1)⋅(q−1)=280.
d = e − 1 m o d    ϕ ( n ) = 187 d = e^{-1} \mod \phi(n) = 187 d=e−1modϕ(n)=187.
P ( M ) = M e m o d    n = 254 P(M) = M^e \mod n = 254 P(M)=Memodn=254.
S ( C ) = C d m o d    n = 25 4 187 m o d    n = 100 S(C) = C^d \mod n = 254^{187} \mod n = 100 S(C)=Cdmodn=254187modn=100.
证明: e d ≡ 1 m o d    ϕ ( n ) ed \equiv 1 \mod \phi(n) ed≡1modϕ(n)
e d − 1 = 3 d − 1 = k ϕ ( n ) ed - 1 = 3d - 1 = k \phi(n) ed−1=3d−1=kϕ(n)
如果 p , q < n / 4 p, q < n / 4 p,q<n/4,
ϕ ( n ) = n − ( p + q ) + 1 > n − n / 2 + 1 = n / 2 + 1 > n / 2. \phi(n) = n - (p + q) + 1 > n - n / 2 + 1 = n / 2 + 1 > n / 2. ϕ(n)=n−(p+q)+1>n−n/2+1=n/2+1>n/2.
k n / 2 < 3 d − 1 < 3 d < 3 n kn / 2 < 3d - 1 < 3d < 3n kn/2<3d−1<3d<3n,所以 k < 6 k < 6 k<6,所以可以解得 3 d − 1 = n − p − n / p + 1 3d - 1 = n - p - n / p + 1 3d−1=n−p−n/p+1。
证明思路:
乘法:因为e和n互质。
解密:在每次迭代中随机选择一个素数 m m m, m m m与 n n n互质,如果我们可以解密 m ⋅ M m \cdot M m⋅M,那么我们可以返回 m − 1 M m^{ - 1} M m−1M,因为 m − 1 = m n − 2 m^{-1}=m^{n - 2} m−1=mn−2。