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.


1 Answer 1


You may be interested in the Skein family of cryptographic hash functions, which are designed to be efficiently implemented on a wide variety of small and large processors. You can trade RAM for speed, or vice versa. The hash can be implemented with as few as 100 bytes of state. The Skein primitive is the basis for both hashing and encryption.

The home page has a post offering a freely available PIC implementation; although I didn't find the link, you can probably search online for it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.