- 1、本文档共189页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(1) 随机选an; (4)对a选t次重复,则n以(1-1/2t)概率为素数. Solovag –Strassen素性检测算法 由欧拉判别准则和二次符号可知如果n是素数,则 算法原理: 算法过程: (2)若(a,n)?1,则n为合数,终止. (3)计算j=a(p-1)/2 (mod n) 和J=(a/n): 若j?J,则n为合数,终止. 若j=J,n以50%概率为素数,继续; 设n是奇整数,因式分解为: n-1=2r·m, m为奇数. 若am??1 (mod n),或对某些0sr,满足 a2s·m?-1 (mod n), 则n是基数为a的强伪素数. Miller-Rabin素性检测算法 算法原理: 如果n是一个素数,则Z/n中应该只有1的两个平 方根,即1和n-1。 算法过程: 首先,因式分解n-1=2r·m,m为奇数; ①随机选1an-1; ②设s=0;计算z=am mod n, ③如果z=?1,则停止,n以?3/4的概率是素数, a是n是 素数的证据. ④否则继续:s=s+1,计算z=z2 mod n. 若sr且z=-1,停止,n以?3/4的概率为素数; 若z=1,n为合数,终止测试. ⑤若s=r,且没有一个z等于-1,则n为合数; 以上步骤重复k次,若每个a都说明n以?3/4的概率 是素数,则n是素数的概率为1-(1/4)k. s++ z?z2 mod n sr? z=-1? z=1? n可能为素数 n为合数 Y Y N Y s=0,z?am mod n N N 证明: 由于y是模p的平方数,设y=x2,则有 (y(p+1)/4)2=y(p+1)/2=xp+1=xp·x=x·x=y 所以x?y(p+1)/4 (mod p)是y模p的一个二次根. mod n 的二次根 定理:设p是满足p?3(mod 4)的素数,如果同余式 x2?a (mod p) 有解,则其解是x??a(p+1)/4 (mod p). 举例: (1)求6模19的二次根 a(p-1)/2 mod p=69 mod 19=1 x=?a(p+1)/4 mod p=65 mod 19=5 课内作业: 求3模107以及2模19的主二次根. 模是合数的根(n=p1p2…pk) 当方程的模数为合数n(p1p2…pk)时,如何求解? 如方程 x2?a (mod p1p2) (p1和p2互素). 求解方法: 分别求解x2?a (mod p1) 和x2?a (mod p2), 再利用中国剩余定理求解x2?a (mod p1p2). 举例: x2?-1 (mod 13×17×29) ? 8个解. 解: x2?-1 (mod 13) ? x?±5(mod 13) x2?-1 (mod 17) ? x?±4(mod 17) x2?-1 (mod 29) ? x?±12(mod 29) 模是合数的根(n=pk) 定理(亨泽尔): 如解方程 x2=2 mod 73,计算 mod 54. 假设f是一个多项式,其系数属于Z, p为素数, 如果x=x1 mod p 是同余式 f(x)?0 (mod p) 的一个解,且 (f’(x1),p)=1,则同余式 f(x)?0 (mod pk) 有解:x=xk mod pk 其中xk由下面关系式递归得到: xi?xi-1-f(xi-1)f’(x1)-1 (mod pi) i=2,…,k Rabin公钥密码 由Rabin设计,可以看成是e和d固定的RSA. 密钥的生成: 选择两个大素数p和q,满足模4同 余3,计算n=pq;则公钥为n, 私钥为p,q. 加密: m2 mod n ?c 解密: 求解 x2?c (mod n),决定其中一个为明文. 根据中国剩余定理求解 x2?c (mod n)的解为: x??(c(p+1)/4?q? (q-1 mod p) ?c(q+1)/4?p? (p-1 mod q)) (mod n) 说明:为了确定明文,在消息后添加尾缀. (1) 求一次同余式6x≡ 3 (m
文档评论(0)