中国剩余定理 CRT

CRT:某一范围整数可以通过它的一组剩余类数来重构,这组剩余类数是对该整数用一组两两互素的整数取模得到。

功能:使得模M的大数运算转化到更小的数上来进行运算,当M为150位或150位以上时,这种方法非常有效,但我们需要事先分解M

 上面说的有点悬乎,那我们举个例子看看:

Z10(0,1,2,3....9)中的10个整数可通过它们对2和5(10的两个因子)取模所得的两个余数来重构。假设已知十进制数x的余数r2=0且

r5=3,即 x mod 2=0 且x mod 5=3,则x是Z10中的偶数且被5除余3,故唯一解为 x=8

 

再举个正式的CRT实例,经常用到,掌握下面这个例子CRT基本也就掌握了

将973 mod 1813表示为模37和49的两个数。

我们定义: m1=37, m2=49, M=1813, A=973

先分解M,则M1=49 且M2=37,

再利用扩展的欧几里得算法有M1^-1=34 mod M1且 M2^-1=4 mod M2, 每个Mi和Mi^-1只需计算一次就行,

对37和49取模,因为 973 mod 37=11,972 mod 49=42, 所以973可以表示为(11,42)

 

 

你可能感兴趣的:(Infomation,Security)