首页
社区
课程
招聘
[原创]看雪CTF2017 readyu crackme 设计思路
发表于: 2017-5-31 19:34 5431

[原创]看雪CTF2017 readyu crackme 设计思路

2017-5-31 19:34
5431

readyu's crackme 2017

readyu@pediy
2017-05-31

根据规则,crackme 内部name固定。 SN唯一。
本题sn为:

7A7102F36F3B344D666132A6FF7EF4BA05B99640BB815C9E712A72C64B6ABC582C2

正确提示:
"Oh Yes! You got it.",


设计思路:

(1)
考虑一条有限域椭圆曲线上的已知点 G1, G2, 以及给定的系数 h1,h2,h3,
求点S(x,y) 满足方程, 以下大写字母表示有限域椭圆曲线上的点, 小写字母表示数值:

h1( S + h3*G1) = h2(S + h3*G2)   mod n

那么, 判断正确的key, 等价于判断方程两边运算的点的x坐标: 两个大数相等。

因此, 比较key,不会出现明文比较。这里S是可以计算的,并没有用到ECDLP(椭圆曲线离散对数)。

那么,如何求出S(x,y):

=> (h1 - h2) S = h2*h3*G2 - h1*h3*G1

S(x,y) = (h2*h3/(h1 - h2)) * G2-  (h1*h3/(h1 - h2)) * G1  mod n

sn = S(x,y) , x,y is the point on the cuver ECC2K-130

椭圆曲线选取公开的ECC2K-130:

(参数取自如下pdf文档)

6e1K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3g2U0j5#2)9J5k6r3y4Z5j5h3I4D9k6h3&6Y4k6g2)9J5k6h3W2F1k6X3!0Q4x3V1k6S2L8X3!0F1i4K6u0W2M7r3c8X3

========
ECC2K-130   GF(2^m)
========

E:     y^2  + xy =   x^3 + a*x^2 + b 

m = 131
f = x^131 + x^13 + x^2 + x + 1

a = 0
b = 1

E 即:  y^2 + xy = x^3 + 1  , over  GF(2^131)


point P (G1):
X= 51C99BFA6F18DE467C80C23B98C7994AA
Y= 42EA2D112ECEC71FCF7E000D7EFC978BD

Point Q (G2):
X= 6C997F3E7F2C66A4A5D2FDA13756A37B1
Y= 4A38D11829D32D347BD0C0F584D546E9A

np (number of points) =
80000000000000001353F755C0E8FC9A4

n  (prime order) =

200000000000000004D4FDD5703A3F269

(2)

补充细节的考虑 之一 关于hash。

为了使得h1, h2, h3 线性无关,并且与name, 和相关字符 关联起来, 这里取md5 hash作为系数。
h1 = hash1(0x1 name - pediy);
h2 = hash2(0x2 0x2 name - 2017);
h3 = hash3(0x3 0x3 0x3 name - crackme);
hash 采用md5

例如: name = readyu

readyu-pediy
hexstring= 017265616479752D7065646979
hash1=
51c75f1f444baa97ed18dd6c340835d7

readyu-2017
hexstring= 02027265616479752D32303137
hash2=
0e5cf7f068d6efa16f42f935ec424a75

readyu-crackme
hexstring= 0303037265616479752D637261636B6D65
hash3=
a4cd1d64486abde1be441944460cd41d

(3)

补充细节的考虑 之二 关于sn 编码。

采用一个素数P269, 把S(x,y) 用d加密编码。 结果就是sn。用到了费马小定理。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 1
支持
分享
最新回复 (5)
雪    币: 14462
活跃值: (3935)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
2
win7  正常注册
2017-5-31 20:16
0
雪    币: 11705
活跃值: (975)
能力值: ( LV12,RANK:779 )
在线值:
发帖
回帖
粉丝
3

修正了一个SN 长度,大小范围的判断问题,  重新上传了附件。



2017-5-31 21:49
0
雪    币: 14462
活跃值: (3935)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
4
已更新
2017-5-31 22:15
0
雪    币: 11705
活跃值: (975)
能力值: ( LV12,RANK:779 )
在线值:
发帖
回帖
粉丝
5

已修正为只接受数字和大写字母。



2017-5-31 23:32
0
雪    币: 7357
活跃值: (3878)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
6
2017-6-27 12:32
0
游客
登录 | 注册 方可回帖
返回