1
0
Fork 0
CTR and EAX modes built on nrf51 AES peripheral.
Go to file
Shawn Nock f3e0affe8f Adds cached associated data version of eax for when AD doesn't change 2017-08-03 15:54:07 -04:00
scripts Clang-format and clang-tidy fixes 2016-09-29 12:50:08 -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
LICENSE
Makefile Removes division/modulo reduces memset 2017-08-02 16:20:06 -04:00
README.md Adds target tests 2016-06-07 14:16:30 -04:00
aes.c Eliminate extra block copy on encrypt 2017-08-02 15:59:58 -04:00
aes.h Eliminate extra block copy on encrypt 2017-08-02 15:59:58 -04:00
block.c Eliminate extra block copy on encrypt 2017-08-02 15:59:58 -04:00
block.h Eliminate extra block copy on encrypt 2017-08-02 15:59:58 -04:00
ckdf.c Clang-format and clang-tidy fixes 2016-09-29 12:50:08 -04:00
ckdf.h Clang-format and clang-tidy fixes 2016-09-29 12:50:08 -04:00
cmac.c Fixes compiler warning 2017-08-02 16:24:03 -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 Removes division/modulo reduces memset 2017-08-02 16:20:06 -04:00
ctr.h Updates for UART capabities in client apps 2016-09-02 11:54:42 -04:00
eax.c Adds cached associated data version of eax for when AD doesn't change 2017-08-03 15:54:07 -04:00
eax.h Adds cached associated data version of eax for when AD doesn't change 2017-08-03 15:54:07 -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 Clang-format and clang-tidy fixes 2016-09-29 12:50:08 -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.