中国剩余定理

1. 引言

中国剩余定理(Chinese Remainder Theorem,CRT),又名孙子定理,最早可见于中国南北朝时期(公元5世纪)的数学著作《孙子算经》卷下第二十六题,叫做“物不知数”问题,原文如下:

有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?
即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。

孙子算经》中首次提到了同余方程组问题,以及以上具体问题的解法,因此在中文数学文献中也会将中国剩余定理称为孙子定理。

孙子定理是初等数论中的一个重要定理,凝结着中国古代数学家的智慧,在加密、秘密共享、数字签名等领域都有重要应用。

假设希望求解以下方程组:
x ≡ 2 ( m o d 5 ) x \equiv 2 \pmod{5} x2(mod5)
x ≡ 3 ( m o d 7 ) x \equiv 3 \pmod{7} x3(mod7)
若有一个解 y y y,则 y + 35 y+35 y+35 也是其解。因此,只需寻找模 35 35 35 的解。通过穷举可以发现其唯一解为: x ≡ 17 ( m o d 35 ) x \equiv 17 \pmod{35} x17(mod35)

对于任意类似的方程组,中国剩余定理告诉我们总是存在一个模某一特定模数的唯一解,并描述了如何高效地找到该解。

中国剩余定理:设 p , q p, q p,q coprime互质。则方程组:
x ≡ a ( m o d p ) x \equiv a \pmod{p} xa(modp)
x ≡ b ( m o d q ) x \equiv b \pmod{q} xb(modq)
在模 p q pq pq 意义下对 x x x 有唯一解。
反之亦成立:给定 x ∈ Z p q x \in \mathbb{Z}_{pq} xZpq,可以将 x x x 分别对 p p p q q q 取模,得到上述形式的两个方程。

证明
p 1 = p − 1 ( m o d q ) p_1 = p^{-1} \pmod{q} p1=p1(modq) q 1 = q − 1 ( m o d p ) q_1 = q^{-1} \pmod{p} q1=q1(modp)。由于 p , q p, q p,q 互质,这样的逆元必然存在。声明,如果 y y y 是满足以下关系的整数:
y ≡ a ⋅ q ⋅ q 1 + b ⋅ p ⋅ p 1 ( m o d p q ) y \equiv a \cdot q \cdot q_1 + b \cdot p \cdot p_1 \pmod{pq} yaqq1+bpp1(modpq)
y y y 同时满足以下两个方程:

  • p p p 意义下,有 y ≡ a ⋅ q ⋅ q 1 ≡ a ( m o d p ) y \equiv a \cdot q \cdot q_1 \equiv a \pmod{p} yaqq1a(modp),因为 q ⋅ q 1 ≡ 1 ( m o d p ) q \cdot q_1 \equiv 1 \pmod{p} qq11(modp)
  • q q q 意义下,类似地可得 y ≡ b ( m o d q ) y \equiv b \pmod{q} yb(modq)

因此, y y y x x x 的解。

接下来,证明在模 p q pq pq 意义下没有其他解:

  • z ≡ a ( m o d p ) z \equiv a \pmod{p} za(modp),则 z − y z-y zy p p p 的倍数;
  • z ≡ b ( m o d q ) z \equiv b \pmod{q} zb(modq),则 z − y z-y zy 也是 q q q 的倍数。
  • 由于 p , q p, q p,q 互质,得 z − y z-y zy p q pq pq 的倍数,即 z ≡ y ( m o d p q ) z \equiv y \pmod{pq} zy(modpq)。∎

该定理表明,可以用一个 Z p \mathbb{Z}_p Zp 和一个 Z q \mathbb{Z}_q Zq 的元素表示 Z p q \mathbb{Z}_{pq} Zpq 的一个元素,反之亦然。换句话说, Z p q \mathbb{Z}_{pq} Zpq Z p × Z q \mathbb{Z}_p \times \mathbb{Z}_q Zp×Zq 之间存在双射。如:

  • 可以将 17 ∈ Z 35 17 \in \mathbb{Z}_{35} 17Z35 表示为 ( 2 , 3 ) ∈ Z 5 × Z 7 (2, 3) \in \mathbb{Z}_5 \times \mathbb{Z}_7 (2,3)Z5×Z7
  • 也可以将 1 ∈ Z p q 1 \in \mathbb{Z}_{pq} 1Zpq 表示为 ( 1 , 1 ) ∈ Z p × Z q (1, 1) \in \mathbb{Z}_p \times \mathbb{Z}_q (1,1)Zp×Zq

事实上,这种对应关系不仅仅是重新标记。假设 x , y ∈ Z p q x, y \in \mathbb{Z}_{pq} x,yZpq 分别对应于 ( a , b ) , ( c , d ) ∈ Z p × Z q (a, b), (c, d) \in \mathbb{Z}_p \times \mathbb{Z}_q (a,b),(c,d)Zp×Zq。通过简单推导可知, x + y x+y x+y 对应于 ( a + c , b + d ) (a+c, b+d) (a+c,b+d),而 x y xy xy 对应于 ( a c , b d ) (ac, bd) (ac,bd)

2. 中国剩余定理应用

中国剩余定理应用场景可为:

  • 若需要对 x ∈ Z p q x \in \mathbb{Z}_{pq} xZpq 执行大量计算(如 RSA 签名和解密),可以先将 x x x 转换为 ( a , b ) ∈ Z p × Z q (a, b) \in \mathbb{Z}_p \times \mathbb{Z}_q (a,b)Zp×Zq,在 a a a b b b 上完成所有计算后再转换回去。
  • 这通常更高效,因为对于许多算法,输入大小翻倍会导致运行时间超过翻倍。

如:

  • 计算 17 × 17 ( m o d 35 ) 17 \times 17 \pmod{35} 17×17(mod35),可以在 Z 5 × Z 7 \mathbb{Z}_5 \times \mathbb{Z}_7 Z5×Z7 中计算 ( 2 × 2 , 3 × 3 ) = ( 4 , 2 ) (2 \times 2, 3 \times 3) = (4, 2) (2×2,3×3)=(4,2),然后通过中国剩余定理找到 ( 4 , 2 ) (4, 2) (4,2) 对应的值是 9 ( m o d 35 ) 9 \pmod{35} 9(mod35)

3. 通常形式的中国剩余定理

通常形式的中国剩余定理为:

  • m 1 , … , m n m_1, \dots, m_n m1,,mn 两两互质(即当 i ≠ j i \neq j i=j gcd ⁡ ( m i , m j ) = 1 \gcd(m_i, m_j) = 1 gcd(mi,mj)=1)。则 n n n 个方程组成的系统:
    x ≡ a 1 ( m o d m 1 ) x \equiv a_1 \pmod{m_1} xa1(modm1)
    ⋯ \cdots
    x ≡ a n ( m o d m n ) x \equiv a_n \pmod{m_n} xan(modmn)
    在模 M = m 1 ⋯ m n M = m_1 \cdots m_n M=m1mn 意义下对 x x x 有唯一解。

证明:这可以从前面的中国剩余定理形式通过归纳法轻松得出,或者可以直接写出解:
定义 b i = M / m i b_i = M / m_i bi=M/mi(即除 m i m_i mi 外所有模数的乘积),以及 b i ′ = b i − 1 ( m o d m i ) b_i' = b_i^{-1} \pmod{m_i} bi=bi1(modmi)。通过类似的推导,可得
x ≡ ∑ i = 1 n a i b i b i ′ ( m o d M ) x \equiv \sum_{i=1}^n a_i b_i b_i' \pmod{M} xi=1naibibi(modM)
是唯一解。∎

3.1 Prime Powers First

通常形式的中国剩余定理的一个重要推论是:

  • 在研究一般模算术时,可以首先研究模素数幂的情况,然后应用中国剩余定理将结果推广。

对于任意整数 n n n,将其分解为素数因子 n = p 1 k 1 ⋯ p m k m n = p_1^{k_1} \cdots p_m^{k_m} n=p1k1pmkm,然后用中国剩余定理得到:
Z n = Z p 1 k 1 × ⋯ × Z p m k m \mathbb{Z}_n = \mathbb{Z}_{p_1^{k_1}} \times \cdots \times \mathbb{Z}_{p_m^{k_m}} Zn=Zp1k1××Zpmkm
在证明 Z p k \mathbb{Z}_{p^k} Zpk 中的statement声明时,从 Z p \mathbb{Z}_p Zp 开始,逐步递归到 Z p k \mathbb{Z}_{p^k} Zpk。因此,最重要的情况是研究 Z p \mathbb{Z}_p Zp

参考资料

[1] The Chinese Remainder Theorem
[2] 百度百科 孙子定理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值