Inspiration

Several of our friends have parents that constantly read their text messages. We decided to figure out a way to prevent our friends' privacies from being violated.

What it does

Our custom Android keyboard is built around a simple interface that enables the user to send and receive encrypted messages. After typing out a message, the keyboard will convert the text to encrypted text. The encrypted text will then be committed to the text field, and the message can be sent.

If an encrypted message is received over SMS, our keyboard will automatically decrypt the message and display it in a way that allows for easy disposability, security, and privacy from onlookers. Rather than the traditional display of the message in the texting interface, the message will be concealed in the keyboard itself. The words of the message will fill the labels of the keys. Anyone who is secretly looking over your shoulder will be so baffled that they will not recognize where the message is being displayed. When the user is done with the message, a simple swipe to the left or right on the keyboard will clear the message forever. No need to worry about a sneaky sibling or friend or parent looking at your messaging history, because there will be none.

Our keyboard also has a built in clipboard system. Five items in the clipboard can be stored at a time. Each item in the clipboard is securely stored in a hidden location - the 1 key.

How we built it

We used Android Studio and Google's InputMethodService API to build our own custom input method for the Android system. We programmed the encryption and decryption process using Base128 implementation.

Future Improvements for KryptoKeyboard

In the future, we can improve the UI of the keyboard in addition to adding more features that any modern keyboard has, such as emojis and suggested words. The encryption method can also be complexified to ensure even stronger security. We can also add image encryption and encryption for other file types.

Built With

Share this project:

Updates