Secure Bootloader


Project Context

Along with my excellent teammates Warren Yun and Jayden Koh, I created this project while at the MIT Beaver Works embedded security summer program. It was my group’s final design project, where we developed a secure bootloader for embedded devices and participated in an attack-defense competition, attacking other groups and defending our bootloader from attacks. Our bootloader remained unbroken throughout the entire competition.

Project Description

My group and I spent most of our time fooling around, and as a result our bootloader is very over the top. To ensure data security, we implemented AES-GCM, Elliptic Curve Cryptography, and a classical cipher, Vigenere for fun.

Below is a diagram of our bootloader’s architecture:

Flowchart describing our encryption and decryption process

More information, including diagrams and psuedocode are available in the repositories README.