This repository holds the implementation for MTU's secure MISC
design, as described by the mtu_design_doc.pdf
specification.
application_processor
- Code for the application processorproject.mk
- Unchanged from reference designMakefile
- Some extra flags added for WolfSSL compilation, mostly unchanged from reference designinc
- Directory with c header filesap_messaging.h
- Defines our messaging struct and the routines for sending and receiving it over I2Ccrypto_util.h
- Defines our encryption, decryption, and hashing routinesgeneral_util.h
- Defines routines for TRNG and timing-resistantmemcmp
src
- Directory with c source filesap_messaging.c
- Implementation forap_messaging.h
crypto_util.c
- Implementation forcrypto_util.h
general_util.c
- Implementation forgeneral_util.h
wolfssl
- Contains wolfssl library source code for our crypto utilities
component
- Code for the componentsproject.mk
- Unchanged from reference designMakefile
- Some extra flags added for WolfSSL compilation, mostly unchanged from reference designinc
- Directory with c header filescomp_messaging.h
- Defines our messaging struct and the routines for sending and receiving it over I2Ccrypto_util.h
- Defines our encryption, decryption, and hashing routines. AP and Component copies are the samegeneral_util.h
- Defines routines for TRNG and timing-resistantmemcmp
. AP and Component copies are the same
src
- Directory with c source filescomp_messaging.c
- Implementation forcomp_messaging.h
crypto_util.c
- Implementation forcrypto_util.h
. AP and Component copies are the samegeneral_util.c
- Implementation forgeneral_util.h
. AP and Component copies are the same
wolfssl
- Contains wolfssl library source code for our crypto utilities
deployment
- Code for deployment secret generationMakefile
- Securely generate a random AES encryption key and flash magic value for use between AP and Component in global_secrets.h
ectf_tools
- Unchanged from reference designshell.nix
- Unchanged from reference designcustom_nix_pkgs
- Unchanged from reference designmtu_design_doc.pdf
- Our final design document PDF
The Nix environment, Poetry environment, and build process should all work exactly as they do in the reference design. No additional setup is required, so refer to the reference design documentation for usage.