中国剩余定理(孙子定理)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangzhengyi03539/article/details/80274599

中国国剩余定理,又名孙子定理,是中国古代求解一次同余式组的方法。当前可用于解决密码学中的秘密共享问题,也可以用来解决布隆过滤器的false positive问题。

1. 中国剩余定理

如果,有如下一元线性同余方程组 ( p i )

(1) { x a 1 ( mod p 1 ) x a 2 ( mod p 2 ) . . . x a n ( mod p n )

方程的解为
(2) x = ( i = 1 n a i t i M i ) + k M
其中 M = i = 1 n p i , M i = M / p i , t i = M i 1 ( mod p i )
由解的周期性可知, [ 0 , m ] 内有且仅有一个解。

2. 扩展欧几里得算法

辗转相除法可以很方便的求解两个数的最大公约数,如果把求解过程中记录下来就可以用于求解方程 a x + b y = g c d ( a , b ) ,这个方法可以用于求解上面涉及到的 t i t i = M i 1 ( mod p i )
(3) t i × M i 1 ( mod p i )
所以只需要求解
(4) x M i + y p i = 1 = g c d ( M i , p i )
(5) t i = x

猜你喜欢

转载自blog.csdn.net/zhangzhengyi03539/article/details/80274599