[C] AES encryption and descryption, course project

Background

In Spring 2023, I took CSC 230 C and Software Tools. This course explored standard library, compilation, memory management, and debugging for C programs.

AES encryption and decryption

The encryption/decryption project was the fifth major assignment that we had in the course. The objective was to encrypt a text file, then decrypt it as needed.

io.c

The first file was used for file I/O. It had two major functions: a reader and a writer.

aes.c

The second file contained the functions in common between encryption and decryption. This was the most difficult module to implement, since the functions were very particular about which constants could produce the desired outcome.

encrypt.c

This file called the functions from aes.c, in order to encrypt a file read in from io.c.

decrypt.c

This file called the functions from aes.c, in order to decrypt a file read in from io.c.