Hi guys,
I'm working a little in python to make a helping tool for when I'm working in ZigBee. This is to verify messages, help in testing (simulating nodes for example).
So I have a package in Python that supports AES-CCM (pycryptodome), but I'm having some issues (that's an understatement :) ) getting the same result between the message I sniffed and trying to reproduce (to verify the python code).
I understand that CCM* is just a specific way to use CCM, for example what's included when calculating the MAC, and what the nonce shall be. The AuthData shall be the NwkHeader and AuxHeader, to be included when calculating the MAC. The nonce shall be extended src || security frame counter || security control field (all in all, 13 bytes, 8 +4 +1). I include the AuthData before calculating the MAC, I have the nonce as input as well when encrypting.
So, if someone have some pointers for me, done something similar, or have example vectors that I can try to see how it goes, it would be awesome.
This is a bit narrow area, perhaps the wrong forum?
Thanks and best regards
Fredrik