首页
社区
课程
招聘
未解决 [求助]加密之后会多出来一位,是什么加密方式?
发表于: 2021-4-11 17:01 3533

未解决 [求助]加密之后会多出来一位,是什么加密方式?

2021-4-11 17:01
3533


给几段数据大家分析下,不知道是什么加密方式,请大神帮忙看看,小弟在此谢过。


1.

原始数据(16进制):78 DA 33 32 30 32 D4 35 30 D1 35 30 02 00 0A 7C 01 E6 

加密之后(16进制):4E 3B DE 71 01 76 20 C6 67 7E 9D 7A 09 39 34 2B 47 20 C6

2.

原始数据(16进制):78 DA 33 32 30 32 D4 35 30 D7 35 30 04 00 0A 87 01 E8

加密之后(16进制):4E 3B DE 71 01 76 20 C6 67 7E 9B 7A 09 3F 34 2B BC 20 C8

3.

原始数据(16进制):78 DA 33 32 30 32 D4 35 34 D0 35 30 04 00 0A 70 01 E2

加密之后(16进制):4E 3B DE 71 01 76 20 C6 67 7A 9C 7A 09 3F 34 2B 4B 20 C2




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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 8059
活跃值: (3759)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
1.
原始数据(16进制):   78 DA 33 32 30 32 D4 35 30 D1 35 30 02 00 0A 7C 01 E6 
加密之后(16进制):4E 3B DE 71 01 76 20 C6 67 7E 9D 7A 09 39 34 2B 47 20 C6
                   xor 43 04 42 33 46 12 12 52 4E 4C 4F 39 3B 34 21 3B 21 20
2.
原始数据(16进制):   78 DA 33 32 30 32 D4 35 30 D7 35 30 04 00 0A 87 01 E8
加密之后(16进制):4E 3B DE 71 01 76 20 C6 67 7E 9B 7A 09 3F 34 2B BC 20 C8
                   xor 43 04 42 33 46 12 12 52 4E 4C 4F 39 3B 34 21 3B 21 20

3.
原始数据(16进制):   78 DA 33 32 30 32 D4 35 34 D0 35 30 04 00 0A 70 01 E2
加密之后(16进制):4E 3B DE 71 01 76 20 C6 67 7A 9C 7A 09 3F 34 2B 4B 20 C2
                   xor 43 04 42 33 46 12 12 52 4E 4C 4F 39 3B 34 21 3B 21 20


最后于 2021-4-11 22:59 被arab编辑 ,原因:
2021-4-11 22:57
1
雪    币: 381
活跃值: (309)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
arab 1. 原始数据(16进制):   78 DA 33 32 30& ...
什么意思?
2021-4-12 00:13
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
是你的密钥里面多了空格?
2021-4-12 08:48
0
雪    币: 381
活跃值: (309)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
牧风 是你的密钥里面多了空格?
什么密钥?我连这是什么加密算法都不知道
2021-4-12 10:12
0
雪    币: 381
活跃值: (309)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
除了我都是猪 什么密钥?我连这是什么加密算法都不知道
我猜测多出来的那位有可能代表数据的长度,但是也用了某种方式加密了,比如第一位4E,代表的长度是18
2021-4-12 10:22
0
雪    币: 381
活跃值: (309)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
arab 1. 原始数据(16进制):   78 DA 33 32 30& ...
感谢大神,我知道怎么回事了,但是前面那个4E是怎么回事呢?
2021-4-12 10:31
0
雪    币: 8059
活跃值: (3759)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8

先考虑最简单的情况,假设相同的明文(原始数据)加密出来的密文是相同的。

对照三组数据,可见明文的前八个字节是一样的,相应的,密文的前九个字节是一样的,所以假设明文前八个字节对应密文的前九个字节,然后将明文第九字节的后续字节与密文第十字节的后续字节对齐。


1.
原始数据(16进制):30 D1 35 30 02 00 0A 7C 01 E6
加密之后(16进制):7E 9D 7A 09 39 34 2B 47 20 C6
2.
原始数据(16进制):30 D7 35 30 04 00 0A 87 01 E8
加密之后(16进制):7E 9B 7A 09 3F 34 2B BC 20 C8
3.
原始数据(16进制):34 D0 35 30 04 00 0A 70 01 E2
加密之后(16进制):7A 9C 7A 09 3F 34 2B 4B 20 C2


继续对照三组数据,可见:

1. 明文(35 30 xx 00)的变化不影响后续的密文(7A 09 xx 34),因此应该是按字节加密

2. 相同明文(0x30)在不同位置得出的密文不同,因此应该不是一一对应的查表替代法


既然是按字节加密又不是查表法,所以明文和密文之间应该是通过一个公式计算出来的,所以简单的尝试一下 xor --- 明文 xor 密文


1.
原始数据(16进制):30 D1 35 30 02 00 0A 7C 01 E6
加密之后(16进制):7E 9D 7A 09 39 34 2B 47 20 C6
                    4E 4C 4F 39 3B 34 21 3B 21 20
2.
原始数据(16进制):30 D7 35 30 04 00 0A 87 01 E8
加密之后(16进制):7E 9B 7A 09 3F 34 2B BC 20 C8
                    4E 4C 4F 39 3B 34 21 3B 21 20
3.
原始数据(16进制):34 D0 35 30 04 00 0A 70 01 E2
加密之后(16进制):7A 9C 7A 09 3F 34 2B 4B 20 C2
                    4E 4C 4F 39 3B 34 21 3B 21 20


三组数据得到的结果一致,证明加密算法就是简单的按字节 xor,但密钥不是固定值而是一个序列。



回过头来看前八位。八字节明文得到九字节密文,所以多出的字节应该在这九个字节里。

继续按简单思路来看,做为加密算法,除非有专门的处理函数,否则没理由在密文中插入一个不相关的数据,所以假设第一个字节就是多出来的,所以,对齐,xor,就得到最终结果


1.
原始数据(16进制):   78 DA 33 32 30 32 D4 35 30 D1 35 30 02 00 0A 7C 01 E6 
加密之后(16进制):4E 3B DE 71 01 76 20 C6 67 7E 9D 7A 09 39 34 2B 47 20 C6
                   xor 43 04 42 33 46 12 12 52 4E 4C 4F 39 3B 34 21 3B 21 20
2.
原始数据(16进制):   78 DA 33 32 30 32 D4 35 30 D7 35 30 04 00 0A 87 01 E8
加密之后(16进制):4E 3B DE 71 01 76 20 C6 67 7E 9B 7A 09 3F 34 2B BC 20 C8
                   xor 43 04 42 33 46 12 12 52 4E 4C 4F 39 3B 34 21 3B 21 20
 
3.
原始数据(16进制):   78 DA 33 32 30 32 D4 35 34 D0 35 30 04 00 0A 70 01 E2
加密之后(16进制):4E 3B DE 71 01 76 20 C6 67 7A 9C 7A 09 3F 34 2B 4B 20 C2
                   xor 43 04 42 33 46 12 12 52 4E 4C 4F 39 3B 34 21 3B 21 20


具体是不是,还得看更多的数据是否支持这个结论了。




2021-4-12 10:54
1
雪    币: 381
活跃值: (309)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
arab 先考虑最简单的情况,假设相同的明文(原始数据)加密出来的密文是相同的。对照三组数据,可见明文的前八个字节是一样的,相应的,密文的前九个字节是一样的,所以假设明文前八个字节对应密文的前九个字节,然后将明 ...
是这样的,谢谢了,前面多的4E是作者自己加进去的,是密文多出来的一个,用于匹配的,不参与xor的
2021-4-12 12:34
1
游客
登录 | 注册 方可回帖
返回
//