首页
社区
课程
招聘
[原创]Crackme1 by qxtianlong 的算法分析
发表于: 2005-10-26 07:28 11417

[原创]Crackme1 by qxtianlong 的算法分析

2005-10-26 07:28
11417
收藏
免费 7
支持
分享
最新回复 (18)
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
やるのはです!
2005-10-26 07:43
0
雪    币: 313
活跃值: (250)
能力值: ( LV9,RANK:650 )
在线值:
发帖
回帖
粉丝
3
何时能到这个级别,现在加紧学习。算法分析太强了先顶再说。
2005-10-26 12:25
0
雪    币: 615
活跃值: (1267)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
学习!-加紧学习
2005-10-26 12:31
0
雪    币: 234
活跃值: (370)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
5
绝对学习,楼主的分析能力确实强啊!
2005-10-26 12:33
0
雪    币: 233
活跃值: (130)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
最初由 wenglingok 发布
F_En( )是作者自己设计的一个加密算法。
........


那个加密是标准的RC6算法
#define rotr(x,n)   _lrotr(x,n)
#define rotl(x,n)   _lrotl(x,n)

#endif

#define f_rnd(i,a,b,c,d)                                \
        t = rotl(b * (b + b + 1), 5);                   \
        u = rotl(d * (d + d + 1), 5);                   \
        a = rotl(a ^ t, u & 0x0000001f) + l_key[i];     \
        c = rotl(c ^ u, t & 0x0000001f) + l_key[i + 1]  \

#define i_rnd(i,a,b,c,d)                                \
        u = rotl(d * (d + d + 1), 5);                   \
        t = rotl(b * (b + b + 1), 5);                   \
        c = rotr(c - l_key[i + 1], t & 0x0000001f) ^ u; \
        a = rotr(a - l_key[i], u & 0x0000001f) ^ t      \

/* encrypt a block of text  */

void rc6encrypt(unsigned long in_blk[], unsigned long out_blk[], unsigned long  l_key[44])
{   unsigned long  a,b,c,d,t,u;

    a = in_blk[0]; b = in_blk[1] + l_key[0];
    c = in_blk[2]; d = in_blk[3] + l_key[1];

    f_rnd( 2,a,b,c,d); f_rnd( 4,b,c,d,a);
    f_rnd( 6,c,d,a,b); f_rnd( 8,d,a,b,c);
    f_rnd(10,a,b,c,d); f_rnd(12,b,c,d,a);
    f_rnd(14,c,d,a,b); f_rnd(16,d,a,b,c);
    f_rnd(18,a,b,c,d); f_rnd(20,b,c,d,a);
    f_rnd(22,c,d,a,b); f_rnd(24,d,a,b,c);
    f_rnd(26,a,b,c,d); f_rnd(28,b,c,d,a);
    f_rnd(30,c,d,a,b); f_rnd(32,d,a,b,c);
    f_rnd(34,a,b,c,d); f_rnd(36,b,c,d,a);
    f_rnd(38,c,d,a,b); f_rnd(40,d,a,b,c);

    out_blk[0] = a + l_key[42]; out_blk[1] = b;
    out_blk[2] = c + l_key[43]; out_blk[3] = d;
};

用户名->MD5->RC6加密->和注册码比较
佩服LZ的分析能力

RC6的特征:
初始化密钥是有0xb7e15163, 0x9e3779b9
子密钥DWORDkey[44] 共176字节长 最大特征了
20轮
加密解密过程常有左移5位 和 & 1F
2005-10-26 13:21
0
雪    币: 214
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
分析得好详细啊!!顶上,我当时看到头晕眼花看不出什么
2005-10-26 14:31
0
雪    币: 671
活跃值: (723)
能力值: ( LV9,RANK:1060 )
在线值:
发帖
回帖
粉丝
8
最初由 南蛮妈妈 发布

那个加密是标准的RC6算法
#define rotr(x,n) _lrotr(x,n)
........
RC6的特征:
初始化密钥是有0xb7e15163, 0x9e3779b9
子密钥DWORDkey[44] 共176字节长 最大特征了
20轮
加密解密过程常有左移5位 和 & 1F

兄弟眼光果然尖锐,我对RC6不熟悉,害我跟了半天。就当学习一下Rc6。^_^
2005-10-26 14:40
0
雪    币: 233
活跃值: (130)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
9
最初由 wenglingok 发布

兄弟眼光果然尖锐,我对RC6不熟悉,害我跟了半天。就当学习一下Rc6。^_^


能把密码学的算法分析的这么清楚
功力很深啊!
2005-10-26 14:48
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
10
功力非常的深厚了!!

支持+收藏!!!
2005-10-27 10:05
0
雪    币: 50
活跃值: (145)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
11
好强啊,佩服的同时学习
2005-10-27 22:59
0
雪    币: 279
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
12
强贴~

学习啊~~
2005-11-14 10:01
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tom
13
请问SBox[44]里的数据是经过SBox[i]=SBox[i-1]-0x61C88647得来的,还没经过这个计算得来的,或者是从其它地方得来的。谢谢
2005-11-14 23:33
0
雪    币: 671
活跃值: (723)
能力值: ( LV9,RANK:1060 )
在线值:
发帖
回帖
粉丝
14
最初由 tom 发布
请问SBox[44]里的数据是经过SBox=SBox[i-1]-0x61C88647得来的,还没经过这个计算得来的,或者是从其它地方得来的。谢谢

首先SBox[0]=B7E15163,然后用SBox[i]=SBox[i-1]-0x61C88647填充其他的43个,填完成了,再经过20轮变化得到!
2005-11-15 07:11
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
楼主爆强,算法分析实在是厉害
学习……
2005-12-23 09:25
0
雪    币: 158
活跃值: (43)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
分析得很详细,
但自己太菜,顶上去先.....
2005-12-23 16:21
0
雪    币: 214
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
17
真的是高手啊 果然不同凡响
2006-1-3 19:57
0
雪    币: 207
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
18
太强了! 虽然还不怎么看得懂,但是收下先...
2006-1-4 21:44
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
一个字,强。学习中。。。。。。。。。
2006-1-5 10:30
0
游客
登录 | 注册 方可回帖
返回
//