I'm planning to implement my own home automation system. In will contain the central Raspberry PI server and a number of sensors and switches based on 8-bit PIC16 microcontrollers which are communicating to the central Raspberry PI over the radio (using nRF24L01, 2.4GHz).
As an example consider PIC16F1705 with 16k ROM and 1k RAM.
In order to secure the system I need some cryptographic algorithms, like
- Hash functions
- Block ciphers
- Random number generators
Now my questions are:
- Which cryptographic algorithms are available for PIC16?
- Which algorithms can be ported or implemented?
For example, Advanced Encryption Standard (AES) in my understanding can't be implemented due to the RAM restriction.