

You can have a look at an example of using Multiple Hardware Serials by going to File → Examples → Communication → MultiSerial While Arduino Uno has a single Hardware Serial, other boards like Mega have multiple. That facilitates communication between your computer/laptop and the Arduino. In Arduino Uno, for instance, pins 0 and 1 have UART support,and they are connected to the USB via a USB-to-UART converter.


Spritz may be simple enough to implement easily, and still more secure. What crypto libraries do you currently use for Arduino or microcontroller projects? We’ve been fans of XXTEA for ages, but more because it’s simple and small than because it’s secure. links it in his writeup, but just for completeness, here’s the Spritz paper (PDF).

This doesn’t exclude subtle flaws in the implementation of the library (no offence, !) or your work downstream, but at least the underlying algorithm seems to be the real deal. In case you are afraid of new implementations of new ciphers (and you should be), Spritz’s pedigree should help to put you at ease: it was developed by to be a successor to his RC4 algorithm, and it incorporates a lot of the lessons learned about that algorithm over the past. It looks like Spritz is a one-stop-shop for all of your encryption needs, and now you can run it on your Arduino. It works both as a two-way cipher and as a one-way hash function. Instead of taking in fixed blocks of data and operating on them, it allows you to process it in (almost) whatever chunks it comes in naturally, and then extract out the encrypted results piecewise. While we’re not big enough crypto-nerds to assess the security of the code, it looks like it’s going to be pretty handy. Hackaday.io user has written an implementation of the new(ish) Spritz cipher and hash for Arduino.
