使用1字节密钥解码1个字节

时间:2015-01-08 12:23:14

标签: encryption hex byte decode

我开发了一个应用程序,它从服务器接收信息,自动读取数据包并将其保存为数据库中的浮点。

实施例: 收到的数据(00 00 D0 41) - >反向顺序(41 D0 00 00) - >转换为浮点(26.0)

最近该信息略有变化,而不是发送4个字节,服务器现在发送5。

实施例: 0A 0C 0C C0 0F

我发现第一个字节是某种键,当这个键是06时,数据没有加密。

实施例: 06 00 00 D0 41

到目前为止,我见过的唯一关键是00 06 08和0A。

样品含义相同:
    06 00 00 D0 41(原件,钥匙06)
    08 32 32 12 B4(用钥匙08编码)
    00 EF EF 1B BF(用键00编码)
    0A 0C 0C C0 0F(用密钥0A编码)

看起来它只是逐字节编码,我得出了这个结论,因为在几个数据包上,我知道原始字节是什么,加密字节保持不变。

示例:00(密钥06)= 32(密钥08)=每个数据包中的EF(密钥00)= 0C(密钥0A)。

我在数字上发现了一些差异为4的逻辑

密钥0A

00=>0C
04=>1C
08=>6C
0C=>7C
10=>CB
14=>DB
18=>2C
1C=>3C
20=>8B
24=>9B
28=>EB
2C=>FB
30=>4D
34=>5D
38=>AD
3C=>BD

我的问题是,找出加密算法的最佳方法是什么?

  • 我是否应该强行执行多项操作(xor,旋转等等)并查看它们是否匹配?
  • 是否存在具有此行为的算法?

1 个答案:

答案 0 :(得分:0)

我将按顺序回答这两个相关问题。

  • 是的,我会使用通常的嫌疑人来强制算法。别忘了添加(模256)。
  • 这不是我所知道的算法,它似乎不是编码或加密,而是混淆问题。

现代加密算法不处理已知的单字节密钥,并产生无法区分随机数据的数据。它也没有编码,其中至少有字节似乎在字符编码所预期的字节之外或者例如字符编码。 BCD编码。