信息安全数学基础——中国剩余定理


  中国剩余定理(CRT),又称孙子定理,最早见于公元5-6世纪,我国南北朝的一部经典数学著作《孙子算经》中的“物不知数”问题:
  “今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”
  这其实是求解一个一次同余方程组,即
{ x ≡ 2   m o d   3 x ≡ 3   m o d   5 x ≡ 2   m o d   7 \begin{cases} x\equiv2\ mod\ 3 \\ x\equiv3\ mod\ 5 \\ x\equiv2\ mod\ 7 \end{cases} x2 mod 3x3 mod 5x2 mod 7
  令 x = A + B + C x=A+B+C x=A+B+C,若 A A A B B B C C C满足以下条件,则为解。这里 [ a ] m [a]_m [a]m表示模 m m m a a a同余。
A = [ 2 ] 3 ,   B = [ 0 ] 3 ,   C = [ 0 ] 3 A = [ 0 ] 5 ,   B = [ 3 ] 5 ,   C = [ 0 ] 5 A = [ 0 ] 7 ,   B = [ 0 ] 7 ,   C = [ 2 ] 2 \begin{matrix} A=[2]_3,\ B=[0]_3,\ C=[0]_3 \\ A=[0]_5,\ B=[3]_5,\ C=[0]_5 \\ A=[0]_7,\ B=[0]_7,\ C=[2]_2 \end{matrix} A=[2]3, B=[0]3, C=[0]3A=[0]5, B=[3]5, C=[0]5A=[0]7, B=[0]7, C=[2]2
  看最左边一列, A A A 5 × 7 5\times7 5×7的倍数,且模 3 3 3 2 2 2,这样 A A A就比较容易求解了。 A A A可以用以下方法计算。
   A = ( 5 × 7 ) ( 5 × 7 ) − 1 × 2 A=(5\times7)(5\times7)^{-1}\times2 A=(5×7)(5×7)1×2。因为这个表达式中有 ( 5 × 7 ) (5\times7) (5×7),因此是 5 5 5 7 7 7的倍数。同时这个表达式模 3 3 3 2 2 2。原因是: ( 5 × 7 ) = 35 (5\times7)=35 (5×7)=35 ( 5 × 7 ) − 1 (5\times7)^{-1} (5×7)1表示 ( 5 × 7 ) (5\times7) (5×7) 3 3 3的逆元, 35 35 35 3 3 3的逆元是 2 2 2,两者相乘必然模 3 3 3 1 1 1。因此,再乘以 2 2 2后必然模 3 3 3 2 2 2。即 A = 35 × 2 × 2 = 140 A=35\times2\times2=140 A=35×2×2=140 3 3 3 2 2 2,且为 5 5 5 7 7 7的倍数。
  同理, B B B 3 × 7 3\times7 3×7的倍数,且模 5 5 5 3 3 3,于是,可以用以下方法计算: B = ( 3 × 7 ) ( 3 × 7 ) − 1 × 3 B=(3\times7)(3\times7)^{-1}\times3 B=(3×7)(3×7)1×3,这里 ( 3 × 7 ) − 1 (3\times7)^{-1} (3×7)1表示 ( 3 × 7 ) (3\times7) (3×7) 5 5 5的逆元。 3 × 7 = 21 3\times7=21 3×7=21 21 21 21 5 5 5的逆元是 1 1 1。因此, B = 21 × 1 × 3 = 63 B=21\times1\times3=63 B=21×1×3=63
  同理, C C C 3 × 5 3\times5 3×5的倍数,且模 7 7 7 2 2 2,于是,可以用以下方法计算: C = ( 3 × 5 ) ( 3 × 5 ) − 1 × 2 C=(3\times5)(3\times5)^{-1}\times2 C=(3×5)(3×5)1×2,这里 ( 3 × 5 ) − 1 (3\times5)^{-1} (3×5)1表示 ( 3 × 5 ) (3\times5) (3×5) 7 7 7的逆元。 3 × 5 = 15 3\times5=15 3×5=15 15 15 15 7 7 7的逆元是 1 1 1。因此, C = 15 × 1 × 2 = 30 C=15\times1\times2=30 C=15×1×2=30
  于是 x = A + B + C = 140 + 63 + 30 = 233 x=A+B+C=140+63+30=233 x=A+B+C=140+63+30=233,又 233   m o d   105 = 23 233\ mod\ 105=23 233 mod 105=23。因此,所有解为 105 K + 23 105K+23 105K+23
  一般地,如果 m 1 m_1 m1 m 2 m_2 m2 m 3 m_3 m3是两两互素的正整数,对于同余方程组
{ x ≡ a 1   m o d   m 1 x ≡ a 2   m o d   m 2 x ≡ a 3   m o d   m 3 \begin{cases} x\equiv a_1\ mod\ m_1 \\ x\equiv a_2\ mod\ m_2 \\ x\equiv a_3\ mod\ m_3 \end{cases} xa1 mod m1xa2 mod m2xa3 mod m3
m = ∏ i = 1 3 m i m=\prod_{i=1}^3m_i m=i=13mi M i = m / m i M_i=m/m_i Mi=m/mi,则解为
x = ∑ i = 1 3 M i M i − 1 a i   ( m o d   m ) x=\sum_{i=1}^3M_iM_i^{-1}a_i\ (mod\ m) x=i=13MiMi1ai (mod m)

定理3.3(中国剩余定理)

  设 m 1 m_1 m1 m 2 m_2 m2 … \dots m k m_k mk k k k个两两互素的正整数,令 m = ∏ i = 1 k m i m=\prod_{i=1}^km_i m=i=1kmi M i = m / m i   ( i = 1 , 2 , … , k ) M_i=m/m_i\ (i=1,2,\dots,k) Mi=m/mi (i=1,2,,k),则对任意的整数 a 1 a_1 a1 a 2 a_2 a2 … \dots a k a_k ak,同余式组
{ x ≡ a 1   m o d   m 1 x ≡ a 2   m o d   m 2 ⋮ x ≡ a k   m o d   m k \begin{cases} x\equiv a_1\ mod\ m_1 \\ x\equiv a_2\ mod\ m_2 \\ \vdots \\ x\equiv a_k\ mod\ m_k \end{cases} xa1 mod m1xa2 mod m2xak mod mk
有唯一解,即
x ≡ ∑ i = 1 k M i M i − 1 a i   ( m o d   m ) x\equiv\sum_{i=1}^kM_iM_i^{-1}a_i\ (mod\ m) xi=1kMiMi1ai (mod m)
其中:
M i M i − 1 ≡ 1   ( m o d   m i ) M_iM_i^{-1}\equiv1\ (mod\ m_i) MiMi11 (mod mi)

证明:

  由于 ( m i , m j ) = 1 , i ≠ j (m_i,m_j)=1,i≠j (mi,mj)=1,i=j,即得 ( M i , m i ) = 1 (M_i,m_i)=1 (Mi,mi)=1,由定义2.3和定理2.8知,对每一个 M i M_i Mi,有一个 M i − 1 M_i^{-1} Mi1存在,使得 M i M i − 1 ≡ 1 ( m o d   m i ) M_iM_i^{-1}\equiv1(mod\ m_i) MiMi11(mod mi)。另外,由于 m = m i M i m=m_iM_i m=miMi,因此 m j ∣ M i ,   i ≠ j m_j|Mi,\ i≠j mjMi, i=j,故
∑ i = 1 k M i M i − 1 a i ≡ M i M i − 1 a i ≡ a i   ( m o d   m i ) i = 1 , 2 , … , k \sum_{i=1}^kM_iMi^{-1}a_i\equiv M_iM_i^{-1}a_i\equiv a_i\ (mod\ m_i)\quad i=1,2,\dots,k i=1kMiMi1aiMiMi1aiai (mod mi)i=1,2,,k
  若 x 1 x_1 x1 x 2 x_2 x2是满足同余式组的任意两个解,则 x 1 ≡ x 2 ( m o d   m i ) ( i = 1 , 2 , … , k ) x_1\equiv x_2(mod\ m_i)(i=1,2,\dots,k) x1x2(mod mi)(i=1,2,,k),因为 ( m i , m j ) = 1 , i ≠ j (m_i,m_j)=1,i≠j (mi,mj)=1,i=j,于是 x 1 ≡ x 2 ( m o d   m ) x_1\equiv x_2(mod\ m) x1x2(mod m),所以同余式组的解唯一。


总结

  本文主要介绍了中国剩余定理及其证明方法。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MOOC(大规模在线开放课程,即Massive Open Online Course)是一种通过互联网上的平台提供的大规模、免费的在线教育。信息安全数学基础是MOOC课程中的一门课程,主要涵盖了信息安全和数学基础两个方面的内容。 在这门课程中,学生能够学到信息安全的基本概念、原理和技术。这些内容包括对称密码学、非对称密码学、哈希函数、数字签名、公钥基础设施等。通过学习这些内容,学生可以了解信息的保密性、完整性和可用性的概念,并学会使用相应的技术手段来保护信息的安全。 此外,信息安全数学基础课程还包括了一些数学基础知识的学习。这些知识包括数论、离散数学、概率论等。这些数学基础知识在信息安全领域中具有重要的应用价值,例如在公钥密码学中使用的大素数、欧拉定理等。通过学习这些数学基础知识,学生可以更好地理解信息安全技术的原理和算法。 MOOC信息安全数学基础课程不仅提供了相关知识的学习,还通过在线作业和测验来帮助学生巩固所学知识。同时,学生还可以通过在线讨论和互动,与其他学生和教师一起共同学习和解决问题。 总而言之,MOOC信息安全数学基础课程是一门很有价值的课程。通过学习这门课程,学生可以了解到信息安全和数学基础之间的密切关系,并且可以掌握一些基本的信息安全技术和数学算法。这将为他们在信息安全领域的学习和职业发展打下良好的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值