1
0
Fork 0

Const annotation for relevant functions for use with flash-backed keys

This commit is contained in:
Shawn Nock 2016-09-01 14:30:15 -04:00
parent 455a9eb749
commit 7c7447ab30
7 changed files with 14 additions and 12 deletions

2
aes.c
View File

@ -11,7 +11,7 @@
static ecbdata_t g_ecbdata;
void aes128_init(uint8_t *key) {
void aes128_init(const uint8_t *key) {
if (key != NULL) {
memmove(g_ecbdata.key, key, 16);
#ifndef HOST_BUILD

2
aes.h
View File

@ -10,6 +10,6 @@ typedef struct {
uint8_t out[16];
} ecbdata_t;
void aes128_init(uint8_t *);
void aes128_init(const uint8_t *);
void aes128_ecb(uint8_t *, uint8_t const *const);
void aes_dump_state(void);

12
block.c
View File

@ -7,6 +7,7 @@
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include "uart.h"
#ifdef HOST_BUILD
void block_print(char const *const label, uint8_t const *const b) {
@ -24,19 +25,20 @@ void block_print(char const *const label, uint8_t const *const b) {
printf("\n");
return;
}
#endif /* HOST_BUILD */
void block_print_bytes(char const *const label, uint8_t const *const b,
uint32_t num_bytes) {
printf("%s: ", label);
debug_printf("%s: ", label);
for (int i = 0; i < num_bytes; i++) {
printf("%.2x", b[i]);
debug_printf("%.2x", b[i]);
if (!((i + 1) % 4)) {
printf(" ");
debug_printf(" ");
}
}
printf("\n");
debug_printf("\n");
}
#endif /* HOST_BUILD */
void block_xor(uint8_t *dest, uint8_t *const a, uint8_t *const b) {
for (uint_fast8_t i = 0; i < 4; i++) {

4
ckdf.c
View File

@ -12,7 +12,7 @@
#include "cmac.h"
void ckdf_extract(uint8_t *prk, uint8_t *salt, uint8_t *ikm,
void ckdf_extract(uint8_t *prk, const uint8_t *salt, const uint8_t *ikm,
uint32_t ikm_len) {
uint8_t zeros[16] = {0};
if (salt == NULL) {
@ -20,7 +20,7 @@ void ckdf_extract(uint8_t *prk, uint8_t *salt, uint8_t *ikm,
} else {
cmac_aes128_init(salt);
}
cmac_aes128(prk, ikm, ikm_len, 16);
cmac_aes128(prk, (uint8_t*) ikm, ikm_len, 16);
}
void ckdf_expand(uint8_t *okm, uint8_t *prk, uint8_t *info,

2
ckdf.h
View File

@ -7,6 +7,6 @@
Shawn Nock - <nock@nocko.se>
*/
void ckdf_extract(uint8_t *, uint8_t *, uint8_t *, uint32_t);
void ckdf_extract(uint8_t *, const uint8_t *, const uint8_t *, uint32_t);
void ckdf_expand(uint8_t *, uint8_t *, uint8_t *, uint32_t, uint32_t);

2
cmac.c
View File

@ -22,7 +22,7 @@ void cmac_get_subkeys(uint8_t *dest) {
}
#endif /* HOST_BUILD */
void cmac_aes128_init(uint8_t *key) {
void cmac_aes128_init(const uint8_t *key) {
/* Initialize AES engine and cache subkeys */
if (key != NULL) {
aes128_init(key);

2
cmac.h
View File

@ -7,5 +7,5 @@
void cmac_aes128(uint8_t *, uint8_t *, size_t, uint_fast8_t);
void cmac_aes128_expand_key(uint8_t const *const, uint8_t *, uint8_t *);
void cmac_aes128_init(uint8_t *);
void cmac_aes128_init(const uint8_t *);
void cmac_get_subkeys(uint8_t *);