1
0
Fork 0
CTR and EAX modes built on nrf51 AES peripheral.
Go to file
Shawn Nock 2e2e4951c5 Makes block print usable in embedded applications if this repo is submodule 2016-09-07 13:00:09 -04:00
scripts Auto formatted and tidy'd 2016-06-07 12:51:42 -04:00
template Makes block print usable in embedded applications if this repo is submodule 2016-09-07 13:00:09 -04:00
tests Adds CMAC KDF extract, preliminary expand (counter mode) present but not passing vectors 2016-08-26 12:37:16 -04:00
.gitignore Initial Commit 2016-06-01 15:07:50 -04:00
LICENSE Adds LICENSE and minor cleanups 2016-06-01 15:25:05 -04:00
Makefile Adds target tests 2016-06-07 14:16:30 -04:00
README.md Adds target tests 2016-06-07 14:16:30 -04:00
aes.c Const annotation for relevant functions for use with flash-backed keys 2016-09-01 14:30:15 -04:00
aes.h Const annotation for relevant functions for use with flash-backed keys 2016-09-01 14:30:15 -04:00
block.c Makes block print usable in embedded applications if this repo is submodule 2016-09-07 13:00:09 -04:00
block.h Makes block print usable in embedded applications if this repo is submodule 2016-09-07 13:00:09 -04:00
ckdf.c Const annotation for relevant functions for use with flash-backed keys 2016-09-01 14:30:15 -04:00
ckdf.h Const annotation for relevant functions for use with flash-backed keys 2016-09-01 14:30:15 -04:00
cmac.c Const annotation for relevant functions for use with flash-backed keys 2016-09-01 14:30:15 -04:00
cmac.h Const annotation for relevant functions for use with flash-backed keys 2016-09-01 14:30:15 -04:00
ctr.c Adds support for reinitializing key and nonce separately 2016-06-20 16:08:08 -04:00
ctr.h Updates for UART capabities in client apps 2016-09-02 11:54:42 -04:00
eax.c Updates for UART capabities in client apps 2016-09-02 11:54:42 -04:00
eax.h Updates for UART capabities in client apps 2016-09-02 11:54:42 -04:00
main.c Adds target tests 2016-06-07 14:16:30 -04:00
openocd.cfg Adds target tests 2016-06-07 14:16:30 -04:00
rng.c Auto formatted and tidy'd 2016-06-07 12:51:42 -04:00
rng.h Adds AES128-CTR mode and NRF51 RNG peripheral utility functions 2016-06-06 11:26:08 -04:00

README.md

Cryptography Library for nRF51

  • Uses AES-ECB hardware peripheral
  • Includes target test app that runs the EAX test vectors
  • Includes host test app that verifies the test vectors from NIST 800-38B, EAX papes, NIST 800-38A F5.1 (requires OpenSSL)

Usage

  1. Edit Makefile, special note to edit the path to the NRF-SDK (tested against SDK 10.0)

  2. Edit main.c:

 #define SUCCESS_LED 10
 #define ERROR_LED 12
 #define LED_ACTIVE LOW
  1. make:

    Output files in _build directory. Program to nRF51 dev. board to run tests on target.

  2. make test:

    Fakes ECB peripheral using openssl, then runs tests on host.