I have an Arduino with a GSM shield. This enables me to send short arbitrary messages to any server.

What do I need to do to enable sending "secure" messages (that cannot be intercepted and have a trusted origin)?

Do I need to add some sort of security IC or is it sufficient to do this in software with public-key cryptography? Does the hardware impose a limit to the security?


With an Arduino, you are limited in many ways. One of the ways you are limited is in your entropy (the random bits) which you need for ANY encryption system.

You could add entropy randomness using the analogue pins of your Arduino, van Heusden has a example here.

He has also quite some interesting articles about entropy and how it affects security.

A 'Security IC' always has parts of this solution for its own use and could solve the problem for you.

| improve this answer | |
  • Thanks! Could you be more precise on the steps I need to take to achieve a secure message exchange? – Hauke Holtkamp Apr 29 '15 at 11:07
  • Without knownin what you want to protect against what (threat). not really. – LvB May 1 '15 at 9:58
  • No threat in particular. I am just trying to get more familiar with security measures. – Hauke Holtkamp May 5 '15 at 13:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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