首页
社区
课程
招聘
[讨论]一 CrackMe 求解 (C^3 mod eax)^3 mod edx
2011-5-3 20:45 6656

[讨论]一 CrackMe 求解 (C^3 mod eax)^3 mod edx

2011-5-3 20:45
6656
在新人区看到的
http://bbs.pediy.com/showthread.php?t=133173

东西很简单是一个 SMC
算法在 401000 : M = (C^3 mod eax)^3 mod edx
请懂的人教一下解法
thx

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (7)
雪    币: 105
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
loongboy 2011-5-3 22:20
2
0
额。。原来在这里公布有点消息了
刚看完老师用输入法软键盘写了俩小时单片机汇编的占位+路过
雪    币: 242
活跃值: (418)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
XPoy 3 2011-5-4 02:13
3
0
Out[i]= In[i]
不好玩,太难算了 /:^| 我打幼儿园起就是数学白小痴。可能已经算错了一堆。

盯着一串div和mul郁闷了很久很久后发现:
//?
temp= (((in[i] mod low32) ^ 2 mod low32)^ 2)mod low32;//
Out[i]= (((temp mod hign32) ^ 2 mod hign32)^ 2)mod hign32;//mod
知道Out[0]==0x??????78
in[0]==0xce3f446e

学习了http://baike.baidu.com/view/1171192.html之后,发现*是可以被拆开的。多层mod可以被一直拆。
然后到了和S大一样的步骤了:
temp= (in[i] ^ 3) mod low32;//
Out[i]= (temp^ 3)mod hign32;//mod

((0xce3f446e^ 3) mod x)^ 3 mod y==0x??????78

0xce3f446e^ 3乘里面,每次的乘结果都只有低于x的位才影响mod的结果。
然后x不会大于0xffffffff.
mod x后的运算也是这样的。
有二个情况,假设x比0x81858A10大,假设x比0x81858A10小. 但只有一个0x78看着有点晕。

暂时就想到这么多:
(0x81858A10mod x)^ 3 mod y==0x??????78

稀里糊涂写了没用的一堆,然后我就伤脑筋了。mark了明天看。
雪    币: 2071
活跃值: (77)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
sessiondiy 4 2011-5-4 02:22
4
0
这算是 Dual RSA 吗 ?
雪    币: 242
活跃值: (418)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
XPoy 3 2011-5-4 03:32
5
0
回复大S,我不知道什么是dual rsa。但看这个样子,按照九年义务教育的我理解,根据大S的提示,可以换成
out=temp* temp* temp mod y
这样就是y==n, 0x81858A10 mod x结果是RSA的加密后字符串d,同时也是e。 m=(c^2* e)%n
还是睡觉先,起来了找找RSA的算法加个随机x的进去试试看.32*32的1024应该还是有可能的。

不知道有没有研究密码学的可以看看...
雪    币: 242
活跃值: (418)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
XPoy 3 2011-5-6 08:24
6
0
这两天忙着写东西,调试东西,要等几天后才能玩。大S发生了什么事情呢? :P
想偷懒学习了...
雪    币: 2071
活跃值: (77)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
sessiondiy 4 2011-5-6 17:46
7
0
除了那个78h
我认为除非能猜对至少一组DWord的明文才有可能.
而 edx 应该大于 F6D1E949
雪    币: 95
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zjwzssbzt 2012-7-3 21:32
8
0
大牛们的对话,太深了!
游客
登录 | 注册 方可回帖
返回