初等数论--同余--MILLER-RABIN素性检测算法
博主是初学初等数论(整除+同余+原根),本意是想整理一些较难理解的定理、算法,加深记忆也方便日后查找;如果有错,欢迎指正。
我整理成一个系列:初等数论,方便检索。
和费马素性检测算法思路是一致的,都是已知公式推素数概率,只是这里的公式条件更强了,费马素性检测算法是通过伪素数的公式,MILLER-RABIN算法是通过强伪素数的公式,推素数概率。
设 n 为 奇 素 数 , 且 n − 1 = 2 s t , 则 有 以 下 因 数 分 解 式 : b n − 1 − 1 = b 2 s t − 1 = ( b 2 s − 1 t + 1 ) ⋅ ( b 2 s − 1 t − 1 ) = ( b 2 s − 1 t + 1 ) ⋅ ( b 2 s − 2 t + 1 ) ⋅ ( b 2 s − 2 t − 1 ) = … … = ( b 2 s − 1 t + 1 ) ⋅ ( b 2 s − 2 t + 1 ) ⋅ … … ⋅ ( b 2 0 t + 1 ) ⋅ ( b 2 0 t − 1 ) 即 如 果 b n − 1 − 1 = 0 , 至 少 以 下 式 子 有 一 个 成 立 : b 2 s − 1 t = − 1 b 2 s − 2 t = − 1 b 2 s − 3 t = − 1 … … b 2 0 t = − 1 b 2 0 t = 1 设n为奇素数,且n-1=2^st,则有以下因数分解式:\\ b^{n-1}-1\\ =b^{2^st}-1\\ =(b^{2^{s-1}t}+1)·(b^{2^{s-1}t}-1)\\ =(b^{2^{s-1}t}+1)·(b^{2^{s-2}t}+1)·(b^{2^{s-2}t}-1)\\ =……\\ =(b^{2^{s-1}t}+1)·(b^{2^{s-2}t}+1)·……·(b^{2^{0}t}+1)·(b^{2^{0}t}-1)\\ 即如果b^{n-1}-1=0,至少以下式子有一个成立:\\ b^{2^{s-1}t}=-1\\ b^{2^{s-2}t}=-1\\ b^{2^{s-3}t}=-1\\……\\ b^{2^{0}t}=-1\\ b^{2^{0}t}=1 设n为奇素数,且n−1=2s