summaryrefslogtreecommitdiff
path: root/controller/fw/src/crypto.h
diff options
context:
space:
mode:
authorjaseg <git-bigdata-wsl-arch@jaseg.de>2020-03-09 22:10:46 +0100
committerjaseg <git-bigdata-wsl-arch@jaseg.de>2020-03-09 22:10:46 +0100
commit6880468862a498d359a0a6ed4bd9dd116a478fa9 (patch)
tree7534be5aea9b81eaac8f8d37ee2808ba628e6c63 /controller/fw/src/crypto.h
parentb0a523248766c1e001ea0f5d2e40c23b3178e629 (diff)
downloadmaster-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.h33
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__ */