During one of my courses at Grand Valley State University, we were tasked with writing a program that
does something useful in terms of cryptography. We were offered a couple examples, such as an
encrypted group chat or password manager.
The idea for this project somewhat piggybacks on the idea of password managers, in the sense that
a password manager is intended to encrypt data, store it somewhere, and then make that data
visible to you once you have input your password. I took this concept, and applied it to a known
issue that people have on their computers, which is keeping sensitive files in plaintext.
With this application, I have come up with a solution to this problem, where you can select certain
files on your computer to be encrypted using a key generated with PBKDF2 key derivation
and ChaCha20Poly1305 encryption. This application is written in Python and utilizes the cryptography
module for all cryptographic operations. You can find the standalone executable and source code
here.
Thats right, this website is one of my projects! I decided that building a website would be a worthwhile
project to increase my skills in a variety of areas including web design, HTML, CSS, and JavaScript.
I also used this project as a way to improve my networking ability. To be able to host this project
successfully, I had to familiarize myself with acquiring a domain, creating DNS records, and much more.