About Me

I’m Matt Gerst and I recently graduated from Iowa State University with a degree in Computer Engineering. I have an interest in security and programming. While at Iowa State I worked for the ISEAGE Lab helping run the Cyber Defense Competitions, having competed in them for several years before.



Senior Design

My group’s Senior Design Project is to build a Community Awareness System for Android. This involves creating a mesh network with Android devices that can query each other for information. This information is to be used by other teams to build better authentication systems using the data from surrounding devices.

A large part of our project was sending data between the devices in the mesh. My role in the project was to create the APIs the other team members used to send the data.

Project Web Site More Info

Flag Bearer

While at ISEAGE, I developed a small program to help new competitors correctly place their flags, as well as provide a convenient tool for experienced competitors and Red Teamers. This tool interacts with the IScorE API in order to get the list of flags for the current user and provides the ability to automatically place them.

After graduating and starting red teaming, I created the Red Team version of Flag Bearer: Flag Slurper. While it incorporates the functionality of Flag Bearer, it is aimed at Red Team.

Flag-Bearer GitHub More Info
A diagram of our MIPS processor

Operating Systems: 32-bit MIPS Processor

For our final project in Computer Engineering 381 (Computer Organization and Assembly Programming), my lab partner and I were tasked with designing and implementing a 32-bit MIPS processor using VHDL and ModelSim. During this project I learned a lot about the way a processor works and some of the techniques used to speed up execution (Data Forwarding, Stalling, etc.).

More Info

Embedded Systems: Mars Rover

During this project I worked with a team to program a robot to navigate an obstacle course. We combined the skills we learned throughout the semester in order to control the robot over Bluetooth and navigate the course. We also used our skills to detect different sized obstacles as well as determine where the goal of the course was based on the size of the object.

I learned valuable skills during this project including programming with C in an embedded environment. For example, in this project we worked with various sensors to detect the size of objects as well as cliff sensors for detecting a drop off.

More Info
Early prototype of Audio Visio's Level Editor

Software Development: Audio Visio

As part of a software design course, we were tasked with forming teams and creating a software project. For this project we chose to create a small game called Audio Visio. The core concept of the game is that one player can only see the world, while the other can only “hear” it.

This project helped me to improve my skills in working on a team. It also required me to become familiar with reading the technical documentation for the technologies we used to create the game.

More Info