-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathREADME
executable file
·37 lines (26 loc) · 1.64 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
ARDUINO-OATH-TOKEN
==================
This is a basic Open-Source implementation of a TOTP (compliant with OATH*) 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.
A picture of a working prototype can be found at:
https://github.com/damico/ARDUINO-OATH-TOKEN/blob/master/arduino-oath-token-prototype.png
*http://www.openauthentication.org/
For compilation purposes, make sure that you have the following directory structure:
---> ARDUINO-OATH-TOKEN/
---> ---> arduino_oath_token/
---> ---> ---> arduino_oath_token.ino
---> ---> Sha/
---> ---> ---> sha1.cpp
---> ---> ---> sha1.h
Also, check you libraries directory inside arduino installation folder. It must contain the Sha folder inside it (the arduino installation folder may have different locations and versions, depending of OS).
---> arduino-1.0.1/
---> ---> libraries/
---> ---> ---> Sha
---> ---> ---> ---> sha1.cpp
---> ---> ---> ---> sha1.h
The Sha library folder can be found at https://github.com/Cathedrow/Cryptosuite as mentioned before but change the sha1.cpp and sha1.h by the ones found at https://github.com/damico/ARDUINO-OATH-TOKEN/tree/master/Sha repository.
author: Jose (Ricardo de Oliveira) Damico (jd dot comment at gmail dot com)