I have theoretical questions about encryption when there's a lot of devices involved. Specifically it's about reading meters (water/gas/heat meters).
Here's some introduction.
I was trying to read a water meter but it turned out data frames are encrypted with AES-128. What's not encrypted is the water meter number (actually its a radio thingy).
I was able to download a pretty old version of the software (released 8 years ago, I know there's newer version but I don't have access). It was written in .Net so I decompiled it with JustDecompile soft. I was looking for any classes responsible for encryption. What I found about AES is connected to USB stick, so I assume that all the decryption stuff (or the important one) is placed on USB stick.
And here's the question - remember - just theoretical one - how would you solve problem of encryption if you were the programmer/engineer behind it? Would it be just one decryption key? Or key would be generated based on device's number? What about device itself? Each would have different encryption KEY based on its numbers?
As I said - these are just theoretical questions. I know that I have no chance of decrypting it without some serious reverse engineering, but I've already spent hours on this, so I'm just curious.