Welcome to the SHIFT repository! This project implements an advanced, cryptographically verifiable append-only filesystem and Host Security Module (HSM) designed specifically for the ECTF 2026 competition.
The project is divided into several key directories:
firmware/: Contains the core C codebase for the MSPM0L2228 microcontroller. This is where the primary HSM logic, cryptographic handlers, and flash driver reside.firmware/README.md: Start here for an architectural overview of how the firmware operates, handles UART communications, and secures data in flash.
firmware/utils/: Contains the Python tooling required to derive and provision device-specific cryptographic identities (derive_secrets.py).firmware/utils/README.md: Read this to understand how the asymmetric shared-secret derivation handles user permissions securely at build-time.
firmware/external/: Submodules containing third-party cryptographic primitives (ascon,micro-ecc).
We have heavily documented the internal C source code and Python utilities using a concise, Linux-kernel documentation style to explain the how and why behind the critical hardware security mechanisms.
To view the complete API reference, function call graphs, and structural definitions, you can generate the local HTML documentation site:
-
Ensure you have Doxygen installed on your machine.
-
From the root of the repository, run:
doxygen Doxyfile
-
Open
docs/html/index.htmlin your preferred web browser.
The Doxyfile is also configured to support high-quality PDF generation.
If you have a LaTeX distribution (like texlive) installed:
-
Run
doxygen Doxyfileas shown above. -
Navigate to the newly created
latexdirectory:cd docs/latex -
Build the PDF:
make
-
Open the generated
refman.pdfdocument.
- Sumedh Girish
- Aditya Naskar
- Shriniketh Kana