Chinaunix首页 | 论坛 | 博客
  • 博客访问: 336767
  • 博文数量: 79
  • 博客积分: 2466
  • 博客等级: 大尉
  • 技术积分: 880
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-07 16:47
文章分类

全部博文(79)

文章存档

2014年(3)

2012年(7)

2011年(14)

2010年(2)

2009年(2)

2008年(2)

2007年(18)

2006年(31)

分类:

2010-10-31 19:20:36

a^2 = r (mod p) ,式中的 r 称为平方剩余。

已知 r, p a 。如果 p 是合数,上述问题的复杂度和整数的因数分解问题复杂度相同,目前为止没有多项式复杂度的算法。当 p 是素数,这个问题有高效算法 Tonelli-Shanks 算法。特别的,当 p-1 的因数分解中只有一个 2 的时候(即 p = 3 (mod 4) ), Tonelli-Shanks 算法能够进一步简化为

a = (+-)(r ^ ((p+1)/4)) (mod p)

使用 Tonelli-Shanks 算法的时候还需要求 x^y (mod m) 的高效算法,这个算法可以网上搜“ modular exponentiation ”或者中文“同余幂”。

同余幂是一个单向函数。已知 x, y, m R = x^y (mod m) 是容易的,即使 x, y, m 都是很大的数字(数百位的十进制数)也没关系。但是求所谓的“离散对数”,即已知 R, x, m y ,目前为止还是公认的难解问题。

一开始提到的平方剩余问题,英文是 Quadratic residue

阅读(1964) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~