Am currently doing some micro controller communication using PICs and investigating their software encryption libraries. Just wanted to know if there are any integrated circuits that are dedicated for encryption. This will help me speed things up, although clearly this exposes me to the risk of any one with a physical access to my pcb can actually just read data off.
Still it would be good to know what encryption IC are out there like the one below,
Google is your friend: https://en.wikipedia.org/wiki/AES_instruction_set#...
Dunno if there are many microcontrollers out there with it, but I wouldn't be surprised.
You might consider one of the fpga chips for a truly unbreakable encription. You would just wire from your micro controller in parallel to the fpga then out to the world
Atmel have tiny encryption parts such as the ATECC508A, ST & Infineon also.
Thanks for the valuable suggestions. As far as I understand there are two options.
A. Do the encryption in the microcontroller using either code only or code with specialized units available inside the microcontroller.
PRO: This is more secure since data is encrypted before leaving the microcontroller.
CON: Encryption can slow the processing of other functions. Also changing a microcontroller on an existing project can be difficult.
B. Do encryption outside the microcontroller using either a dedicated IC or FPGA.
PRO: This is faster.
CON: Unencrypted data must leave microcontroller and go to the dedicated encryption IC/FPGA. This would allow any hacker with logic analyser
and access to the board to read unencrypted data.
Is there any way the data can be sent to the dedicated encryption unit in a safe way? I am thinking of a hybrid strategy where a weak encryption is done on the microcontroller and then this weakly encrypted data is sent to the dedicated encryption device.
Any suggestions in this context would be good!