Arduino OATH Token
- This is a basic Open-Source implementation of a TOTP (compliant with OATH http://www.openauthentication.org/) code in Arduino.
Basicaly it generates 6 digits OTP based in a EPOCH time stored in a variable called birthTime There is no time drift. The OTP is updated each 30 seconds.
- For HMAC-SHA1 hash this implementation uses the code from Cathedrow / Cryptosuite (https://github.com/Cathedrow/Cryptosuite).
However a small change was added to sha1.h and sha1.c: The method size_t Sha1Class::writebytes(const uint8_t* data, int length)
- For debug purposes the main important functions are printed to serial output.
- The entire source-code can be found @ https://github.com/damico/ARDUINO-OATH-TOKEN
- This small project was built in order to explain how to implement a OATH token with only open-source tools. Also, this project will be presented at International Free Software Forum (FISL13 http://softwarelivre.org/fisl13/about-the-event)
- Author: Jose (Ricardo de Oliveira) Damico (jd dot comment at gmail dot com)