Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Cathedrow/Cryptosuite
Cryptographic suite for Arduino (SHA, HMAC-SHA)
https://github.com/Cathedrow/Cryptosuite
Last synced: 3 months ago
JSON representation
Cryptographic suite for Arduino (SHA, HMAC-SHA)
- Host: GitHub
- URL: https://github.com/Cathedrow/Cryptosuite
- Owner: Cathedrow
- Created: 2010-05-26T14:15:07.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2018-08-08T14:43:36.000Z (over 6 years ago)
- Last Synced: 2024-08-02T15:50:26.131Z (6 months ago)
- Language: Java
- Homepage:
- Size: 186 KB
- Stars: 317
- Watchers: 30
- Forks: 147
- Open Issues: 18
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
- Awesome-arduino - Cryptosuite - Cryptographic suite for Arduino (SHA, HMAC-SHA) (Libraries)
- awesome-arduino - Cryptosuite - Cryptographic suite for Arduino (SHA, HMAC-SHA) (Libraries)
README
Cryptosuite is a cryptographic library for Arduino (including SHA and HMAC-SHA)
It currently supports secure hashing and hashed message authentication using SHA-1, SHA-256, HMAC-SHA-1 and HMAC-SHA-256.
Installation:
Make a 'libraries' directory with your Arduino sketches folder if you do not already have one.
Copy the 'Sha' directory into that directory.
Restart Arduino to rescan for new libraries.Using SHA-1:
#include "sha1.h"
...
uint8_t *hash;
Sha1.init();
Sha1.print("This is a message to hash");
hash = Sha1.result();The hash result is then stored in hash[0], hash[1] .. hash[19].
Using HMAC-SHA-1:
#include "sha1.h"
...
uint8_t *hash;
Sha1.initHmac("hash key",8); // key, and length of key in bytes
Sha1.print("This is a message to hash");
hash = Sha1.resultHmac();The hash result is then stored in hash[0], hash[1] .. hash[19].
Using SHA-256:
#include "sha256.h"
...
uint8_t *hash;
Sha256.init();
Sha256.print("This is a message to hash");
hash = Sha256.result();The hash result is then stored in hash[0], hash[1] .. hash[31].
Using HMAC-SHA-256:
#include "sha256.h"
...
uint8_t *hash;
Sha256.initHmac("hash key",8); // key, and length of key in bytes
Sha256.print("This is a message to hash");
hash = Sha256.resultHmac();The hash result is then stored in hash[0], hash[1] .. hash[31].
Verification:
The provided example code tests against published test vectors.
SHA-1: FIPS 180-2, RFC3174 compliant
HMAC-SHA-1: FIPS 198a compliant
SHA-256: FIPS 180-2, RFC4231 compliant
HMAC-SHA-256: RFC4231 compliant