I just took over two radio systems (using 433Mhz) - one communicates with 6 bit messages, one with 14 bit messages. Both have a lots of transmitters and one receiver (and, yes bits not bytes).
For the first, 4 bits are used for the ID of the device, and 2 bits for other info. For the second, 10 bits are used for the ID of the device, and 4 bits for other info.
They work completely independent - all they have in common is that the messages are very small and are sent in CLEAR.
Now I have to implement authenticity/confidentiality/integrity for these messages - but I have to keep them short (as for the second system far less than the max 2^10 devices are already jamming each other)
I haven't decided yet, if it is better to use one key for the entire system, or one key for each transmitter. (for both situations, the keys will be considered known for both transmitter/receiver)
I agree with "don't implement your own security", so I have read about different standard solutions, but the end message gets monstrously big and I cannot use them.
What algorithms/combinations would give me the smallest size for the resulting message but with also a reasonable security?
P.S. I was thinking about a solution using umac, as you can get away with non cryptographic hashes which are smaller.
Edit: To be more clear - I don't want for a third party to:
- read the info part of the message (the ID part can be public)
- emit messages and the receiver not to detect that are not from his system transmitters
- replay a previously valid message and the receiver not to detect that
Edit2: There is no time for either of the devices.