反向工程用于生成校验位的算法

时间:2014-02-04 14:06:55

标签: hash cryptography reverse-engineering cryptanalysis

基本上我的问题是我有一些数据,我需要生成一个校验位,但我没有原始程序的来源用于这样做。数据被分成块,其中单个块中总是有16个字节。块的前15个字节用于存储数据,第16个字节用作校验位,以确保块中数据的完整性:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 93
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 93
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 93

如您所见,空块的校验字节值为0x93

以下是我可用数据的相关部分:

1a 3b 9a c5 bf 9f 6e ee ed 79 4a 48 4f 4e 03 23
05 58 20 40 00 ff ff ff ff ff ff ff ff ff ff 85
83 5b 03 00 0e 00 04 05 de 27 00 10 09 00 00 67

0e 00 dd 57 ed ee dd 67 00 00 00 00 ff ff ff 5d
00 00 00 00 00 00 00 00 00 00 00 01 08 50 00 4e
16 fc ff ff ff ff ff ff ff ff ff ff 0f 5a 01 e8

0b 00 dd 47 ea ee dd 57 00 00 00 00 ff ff ff dc
00 00 00 00 00 00 00 00 00 00 00 01 08 50 00 4e
16 fc ff ff ff ff ff ff ff ff ff ff 0f 5a 01 e8

21 1e 07 ae dd 67 83 5b 03 00 1f 00 03 10 00 80
01 04 3a 00 00 00 00 00 00 00 00 00 00 00 00 36
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 93

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 93
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 93
00 21 00 00 02 00 00 00 00 00 00 00 6f 02 00 9a

4a 48 4f 4e 03 23 83 5b 03 00 0e 00 10 03 00 ea
04 01 3a 00 00 00 00 00 00 00 00 00 00 00 00 18
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 93

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 93
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 93
00 21 00 00 02 00 00 00 00 00 00 00 6e 02 00 31

53 54 55 2d 4d 00 00 00 00 00 00 00 00 00 00 15
00 00 00 00 00 00 00 ff 00 00 ff ff 00 00 00 6c
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 93

我尝试通过公共哈希函数运行字节及其各自的和和产品以及几个其他组合,以查看检查字节是否可以是,例如,MD5或SHA-256哈希的最后一个字节。数据字节的某种组合,但无法找到任何模式。我显然不是一个非常熟练的密码分析师,但如果有人在这里看到一些我很可能错过的明显模式可以帮助我,我会很高兴...

由于

0 个答案:

没有答案