首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无线M总线/ OMS分组解码

无线M总线/ OMS分组解码
EN

Stack Overflow用户
提问于 2014-08-03 13:57:03
回答 1查看 4K关注 0票数 2
代码语言:javascript
复制
3E4424237952324825077A09503005702970D754206CF3FFA5A2EE90103E42049140ACA625243A7DC4550DB811208D8299D7A34EB9ECBEE9CD751A685F0FF05D1A3D004F320600211B

这是我从wm总线(OMS)水表中接收到的数据包,它是CRC字节的条带。

正如我从OMS文档中得到的,这是CBC的初始向量:

代码语言:javascript
复制
24237952324825070909090909090909

密码是: 1111111111111111

据我所知,第一个需要解码的AES块是:

代码语言:javascript
复制
702970d754206cf3ffa5a2ee90103e42 

解码后,前两个字节应该是2f2f,但它们不是。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-07 14:27:51

如果您没有得到0x2F 0x2F,那么简单的回答是:您拿错了aes密钥。

Detail: --您似乎获得了正确的字节,并为这封OMS电报导出了正确的IV。如果解密部分的前两个字节不会导致0x2F 0x2F,那么这表明您对此电报使用了错误的AES密钥。

你说你的钥匙是1111111111111111 -但这是什么?用于OMS的AES-CBC密钥使用16字节(128位)。您只有16个字符,但是要用十六进制表示16个字节,则需要32个字符。因此,这个键有一些可疑之处:0x01010101010101010101010101010101无法工作。

0x31313131313131313131313131313131也不是(在ASCII中是16乘1)。

不过,我成功地解密了

代码语言:javascript
复制
0x11111111111111111111111111111111

//Decrypted telegram:
3E 44 24 23 79 52 32 48 25 07 7A 09 50 30 05 2F 2F 0C 13 00 02 00 00 02 5A F5 00 02 FD 17 00 10 02 FD 74 ED 16 C2 01 6C DF 17 CC 01 13 00 02 00 00 2F 2F 2F 2F 2F 2F 2F 2F 2F 2F 2F 2F 2F 2F

最后,看起来你只拿走了一半的密钥,这就是解密失败的原因。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25105381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档