Inspiration
We were inspired by issues with lack of encryption in many modern communication apps. Recently, Snapchat was involved in a scandal where employees were accused of spying on specific users, which highlights the need for this kind of technology, especially on established platforms. Many people share important personal details on these apps, and are too comfortable with established platforms to switch to more secure messengers. Our app hopes to bridge the gap between insecure and secure methods of communication.
What it does
It allows the user to generate public & private keys, and stores them on the user's phone. Public keys can then be shared, and people can communicate privately by copying and sending their public keys and encrypted messages on any other app. The interface is extremely simple, but basic knowledge of encryption is required.
How we built it
Android XML with three switchable tabs: generate, decrypt, and encrypt. Backend has a somewhat custom implementation of GPG. Originally we used a library called BouncyCastle that provided a crypto backend, but it was clunky, outdated, and out of the scope of the project. We decided to fix this square wheel and build our own (limited) version of PGP/GPG as a result.
Challenges we ran into
Figuring out the basics of Android development, XML, GitHub, and working with different layouts and features of Android Studio. Frontend: Buttons & fragments. Backend: We had huge hiccups with decryption and key generation. There was a minor disagreement about how to implement the code behind our ideas.
Accomplishments that we're proud of
Getting the layout to work. Getting keys to generate properly.
What's next for Simple-Encryption-for-Android
QR code integration, dedicated in-app copy/paste buttons, less-clunky user interface, database keyring, logo.
Log in or sign up for Devpost to join the conversation.