diff options
author | jaseg <git-bigdata-wsl-arch@jaseg.de> | 2020-03-09 22:10:46 +0100 |
---|---|---|
committer | jaseg <git-bigdata-wsl-arch@jaseg.de> | 2020-03-09 22:10:46 +0100 |
commit | 6880468862a498d359a0a6ed4bd9dd116a478fa9 (patch) | |
tree | 7534be5aea9b81eaac8f8d37ee2808ba628e6c63 /controller/fw/src/crypto.h | |
parent | b0a523248766c1e001ea0f5d2e40c23b3178e629 (diff) | |
download | master-thesis-6880468862a498d359a0a6ed4bd9dd116a478fa9.tar.gz master-thesis-6880468862a498d359a0a6ed4bd9dd116a478fa9.tar.bz2 master-thesis-6880468862a498d359a0a6ed4bd9dd116a478fa9.zip |
WIP cryptographic design
Diffstat (limited to 'controller/fw/src/crypto.h')
-rw-r--r-- | controller/fw/src/crypto.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/controller/fw/src/crypto.h b/controller/fw/src/crypto.h new file mode 100644 index 0000000..61a0da8 --- /dev/null +++ b/controller/fw/src/crypto.h @@ -0,0 +1,33 @@ +#ifndef __CRYPTO_H__ +#define __CRYPTO_H__ + +#include <stdint.h> + +#include <sodium.h> + + +#define OOB_TRIGGER_LEN 16 +#define PRESIG_MSG_LEN 16 + + +enum trigger_domain { + TRIGGER_DOMAIN_ALL, + TRIGGER_DOMAIN_VENDOR, + TRIGGER_DOMAIN_SERIES, + TRIGGER_DOMAIN_COUNTRY, + TRIGGER_DOMAIN_REGION, + _TRIGGER_DOMAIN_COUNT +}; + +extern uint8_t presig_store[_TRIGGER_DOMAIN_COUNT][PRESIG_STORE_SIZE][crypto_sign_BYTES]; +extern uint8_t oob_trigger_pubkey[crypto_sign_PUBLICKEYBYTES]; +extern uint8_t presig_messages[_TRIGGER_DOMAIN_COUNT][PRESIG_STORE_SIZE][PRESIG_MSG_LEN]; +extern uint8_t oob_presig_iv[16]; +extern int presig_first_serial; + + +extern void oob_trigger_activated(enum trigger_domain domain, int serial); + +int oob_message_received(uint8_t msg[static OOB_TRIGGER_LEN]); + +#endif /* __CRYPTO_H__ */ |