encryption - 解密 ZigBee paquets

标签 encryption aes zigbee 802.11p

我想从 Xiaomi Aqara switch 解密 Zigbee paquets .这是我在网络上嗅探到的原始加密帧:

原始加密帧

61 88 64 47 24 00 00 8A 5C 48 02 00 00 8A 5C 1E 5D 28 E1 00 00 00 01 3C E8 01 00 8D 15 00 01 00 01 12 00 04 01 01 62 18 C3 0A 55 00 21 01 00 AC 4C 76 AF 8A FB

这是相同的解密帧(用 Ubiqua 解密):

解密帧

61 88 64 47 24 00 00 8A 5C 48 02 00 00 8A 5C 1E 5D 28 E1 00 00 00 01 3C E8 01 00 8D 15 00 01 EA 59 DE 1F 96 0E EA 8A EE 18 5A 11 89 30 96 41 4E 05 A2 43 8A FB

这是同一帧的详细信息:

MAC Header :    61 88 64 47 24 00 00 8A 5C
MAC Payload:    48 02 00 00 8A 5C 1E 5D
NWK Aux Header: 28 E1 00 00 00 01 3C E8 01 00 8D 15 00 01
NWK Payload:    00 01 12 00 04 01 01 62 
APS Payload:    18 C3 0A 55 00 21 01 00 
NWK MIC:        AC 4C 76 AF 
MAC Footer:     8A FB

我也知道 ZigBee 网络 key :

AD:8E:BB:C4:F9:6A:E7:00:05:06:D3:FC:D1:62:7F:B8

我想写一个解密 paquets 的代码,但我不知道该怎么做。我知道使用的算法是 EAS-128,我尝试在线工具,如 cryptii , 但我无法输出上面显示的解密帧。

我也不知道应该使用哪个版本(CBC、CFB、OFB、CTR、GCM、ECB),也不知道初始化向量 IV 是什么。

欢迎任何解释、使用在线工具的工作解决方案,或使用 Python、node.js、PHP 或 C/C++ 编写的代码。

最佳答案

关于encryption - 解密 ZigBee paquets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66156637/

相关文章:

java - 如何确定java中CipherOutputStream加密和解密所用的时间?

java - 使用流解密和解压缩以限制内存使用?

ios - 如何将 NSData 对象中的 key 放入 Crypto++ 的 key/iv 数组中?

encryption - Solidity 合约中的 AES 解密

python - 为什么 PyCrypto 不使用默认 IV?

ZigBee 设备 ID、客户端输入/输出和服务器输入/输出集群定义

python - 使用 Python 和 python-xbee 时识别从 XBee 传输的数据

php - 如何使用 PHP 的 OpenSSL 模块更改私钥的密码?

java - AES 密码安全性在客户端上使用 CryptoJS,在服务器上使用 Java 的 Cipher

protocols - Zigbee 和 Zigbee PRO 有什么区别?