首页
社区
课程
招聘
[原创]一篇关于TencentPediyKeygenMe的贴子
发表于: 6小时前 177

[原创]一篇关于TencentPediyKeygenMe的贴子

6小时前
177

好耶!

花了半个月时间,把这题出了.但是毕竟题还是要自己做嘛,不能给脚本和flag.那就失去了学习的必要了.做题毕竟还是为了学习嘛,对吗?

先说这题.其他算法不必多说,文章将聚焦于其中素数域椭圆曲线的攻击,不提供题目相关思路和flag.

本文的代码在语法上不保证能够100%正确运行,所以请各位喜欢ctrl-c+ctrl-v的大师傅们用之前记得改一改啊...#(滑稽)

下文为方便,pollard-rho算法和pollard-kangaroo算法均简称为rho和kangaroo.

听说,有个工具叫sagemath.听说,他是用python写的.听说,核心代码是09年的.#(滑稽)

于是,我开始了逆向...

不行了,他的python代码一大堆注释,而且代码结构松散...老开源都这样...

这是修改后的rho(少量优化):

这是修改后的kangaroo(又叫lambda)(少量优化):

自动生成曲线测试下rho的速度...

好慢啊...

rho跑2^32域的速度大约为2秒一个,勉强能跑...

kangaroo范围大一点就出不来了...就不贴出来了...

不行不行...这怎么做题,题目的域可是2^64级的...

转成c先,部分算法采用汇编实现...

以下代码全部最大域限制为2^64...

整数除法,128位除以64位...

整数平方根...

齐次坐标转仿射坐标...

倍点...

倍点对应的c代码(不完全对应)...

点加...

点加对应的c代码(不完全对应)...

模n,模p 加,减,素数模乘法逆元...

模乘...

点乘标量...

kangaroo汇编版...

kangaroo c版...

由于kangaroo只有在高并发下才能发挥优势,所以上了线程池....我的机器是8核的,但是效果仍然不咋样...应该是并发数还是太少...

rho好多了,在我的机器上3秒钟能跑2^28级的数据256次,2^40的数据3次,10秒钟能跑2^48的数据一次.


[培训]《冰与火的战歌:Windows内核攻防实战》!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。

最后于 1小时前 被n00bzx编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回