Inspiration

We decided on facial recognition and encryption since the idea of facial recognition as a login service is becoming more frequently used, but securing specific data/files remained an unexplored area

What it does

The goal of CamCrypt is to be able to encrypt and decrypt files based on facial recognition. The point is to add a layer of security but with technology we find ourselves incorporating more and more into our lives.

How I built it

Initially, we attempted to solely use OpenCV to capture the image and compare facial features. However, we quickly discovered that this was an inaccurate and inefficient method of providing authentication. Because of this, we transitioned to using DLib, a facial recognition API that vastly improved our accuracy. For encryption, we used an AES key to lock down the file and used facial recognition to decrypt the file with the key.

Challenges I ran into

No one on the team had much (or any) experience with python or any of the libraries we used. One member knew nothing of GUI's yet overcame the challenge by writing the GUI's for the program. It was the first time any of us dealt with facial recognition, and it was hard to get accurate facial recognition.

Accomplishments that I'm proud of

Making a program that not only runs smoothly but also accomplishes its task as intended. The majority of the program was new to us and yet we were able to divide and conquer, provide good code and learn what we programmed.

What I learned

Throughout this hack, we ran into a multitude of problems that occurred solely due to the fact that our team was split down the middle between macOS and Windows. On top of learning that certain libraries and APIs are unavailable based on the operating system, we also learned how to encrypt files using randomly generated keys. Finally, we learned how to use the basic webcams on our laptops to create a reliable facial recognition app to lock down our sensitive data.

What's next for CamCrypt

To upgrade CamCrypt to get it to a point where it can recognize Picture vs the actual user (as to not cheat the system)

Built With

Share this project:

Updates