首页
社区
课程
招聘
[求助]x ^ 6 % 32 == 17 求 x ?
发表于: 2013-9-13 18:24 10652

[求助]x ^ 6 % 32 == 17 求 x ?

2013-9-13 18:24
10652
如题
x的6次方,余32等于17,求x

请勿枚举,如果从1开始枚举的话,数得x == 7,但如果 6, 32, 17这些数字很大的话,就没法数了
求高效算法

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 62
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
了解如下几点即可:
1、x显然是奇数,奇数显然与32互素,所以问题可以转化为模32的剩余类乘法群来解决;
2、(x^6)^3mod32=17 ->x^18mod32=17->x^2mod32=17->x^4mod32=1->4是x的阶;
3、搜索小于32的所有非1奇数m,若m^4mod32=1且x^2mod32!=1,记录下来,设为m1,m2,...mt,最后的解为mi+32k。

附上问题的解:7+32k,23+32k,25+32k
2013-9-20 00:46
0
雪    币: 306
活跃值: (85)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
3
LS,比较专业,理解貌似比较麻烦点
(x+32)^6%32=x^6%32 其他项包含32肯定被整出, (C6 1 ).. x^6(C6 0)

这样理解,貌似容易点。。
2013-9-20 10:58
0
雪    币: 196
活跃值: (96)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
多谢 高手们 ~
2013-9-20 11:21
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我接着2楼的思路来分析一下。
1、用模32的剩余类乘法群来分析应该是比较规范的;
2、但“3、搜索小于32的所有非1奇数m,若m......”这个我觉得有点不符合LZ的“请勿枚举”本意,虽然穷举空间减少了一半;
3、按照2楼的思路进行纯粹的数论推导来求x是可行的:
3.1  (x^6)^2 = 17^2 = 1 (mod 32)     i.e.     x^12 - 1  = 0 (mod 32)
3.2  由 x^12-1 = (x^4-1) * (x^8+x^4+1) = 0 (mod 32) 推出 x^4 - 1 =0 (mod32)
3.3  由 x^4 - 1 = (x^2 + 1) * (x^2 - 1) = 0 (mod 32)可推出:2整除(x^2 + 1),16整除(x^2 - 1)
3.4  利用x^2 - 1 = (x+1)*(x-1)=0 (mod 16)可以推导出:
    2整除x+1  且 8整除x-1    或者   8整除x+1 且 2整除x-1  
      从而分别得到:
    x=9,17,25  或者 x=7,15,23,31        (注意:起点+8)
3.4  经进一步验证得到:
    x=7,9,23,25
注意:上述推导过程中用到了一个小知识点:
a奇时,a+1与a-1有公因子2^1,不可能有2^2以上
2013-9-21 15:15
0
雪    币: 1022
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
φ(32)= φ(2^5)= 2^4 = 16.
x^6 = 17 mod 32 ==>
(x^2)^3 = 17 mod 32
因((x^2)^3)^3 = x^18 = x^(18-φ(32)) = x^2 mod 32
即 17^3 = x^2 = 17 mod 32
然后再用Cipolla's algorithm求解二次剩余。
1、若指数(即例子中的6)与φ()互素,即:
x^y = z mod n
因x^φ(n) = 1 mod p
令ans*y = 1 mod φ(n)
所以x^ans = x mod n
2、若φ() + 2 = 0 mod 4,计算二次剩余为:
17^((φ(32)+2)/2) = x mod 32
2013-9-21 22:08
0
雪    币: 680
活跃值: (68)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
ls好专业
2013-9-21 22:24
0
雪    币: 62
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
第3步确实可以用更简单的方法求得,不过需要用到有限群的分解方面的知识,对于模数为2^n的情况,还可以有一般化的方法。
2013-9-21 22:53
0
游客
登录 | 注册 方可回帖
返回
//