Skip to content

amckenna/Cryptosuite

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

The old repo for this was abandoned and no longer works with the Arduino IDE v1.6+

I have implemented a few changes so it now compiles. Below is the original readme (with a bit of formatting).

###Description

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 of this project into that directory.
  • Restart the Arduino IDE 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

About

Cryptographic suite for Arduino (SHA, HMAC-SHA)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Processing 55.5%
  • C++ 44.5%