I'm trying to encrypt a protocol that shares data between devices on a local area network (i.e.no connection to the internet). I don't want to use predefined keys because they're too easy to read from the firmware. What I'd like is for the devices to dynamically setup an encrypted network which prevents anyone reverse engineering the protocol. Someone once told me that when it comes to encryption "never roll your own" so I'm wondering what's out there.
The requirements are:
- Must work over Ethernet (minimum of 10MB/s).
- Must not require internet access.
- Must not have hardcoded or otherwise predictable keys, and keys must be revocable/replaceable (from HedgeMage).
- Devices can be added and removed from the network (note all devices are supplied by us).
- Messages can be sent unicast and multicast (between multiple devices).
- Encryption should be immune to replay attacks.
- Encryption should be capable of being run on an ARM CPU with only basic HW cryptographic support (i.e. solution can't rely on any specialised HW).
- No scope to add additional HW like smart card readers.
Does anything like this already exist?