An End-to-End Encryption
based Online Chatting Android App
Friendly Chat
is an End-to-End Encryption
based online chat app (just like Whatsapp
). It uses the RSA
cryptography algorithm to encode the text messages and the image URLs of the user before they are sent to the Firebase Firestore
database. The sender uses the public key of the receiver, which is available on the Firebase
database, to encrypt the messages. The targeted receiver can then use his/her private key to decrypt the messages locally on his/her device. Thus, the administrator (in this case, the Firebase
administrator for Friendly Chat
) has no knowledge of what messages are exchanged between its users. Thus, Friendly Chat
users have full privacy in terms of communicating with their Friends
.
The user can sign in to the Friendly Chat
App using their Google account. Friendly Chat
uses the google
account as the primary key to refer to any friend that an user might want to chat with.
The FriendListActivity
displays the list of all the friends that the user has added. More friends can be added by clicking on the Add friend
floating action button. This opens up the AddFriendActivity
where the user can enter the gmail address of the friend and the name field is optional. The new friend will be added only if the friend is currently using the Friendly Chat
app.
This is a screenshot of the message room in the devices of Rishita Burman
and Apple pie
. The name of the person with whom the user is chatting will be shown on the Action bar of the corresponding message room.
Messages created by the user appears the right aligned and in pink chat bubble
and those received from the friend will appear left aligned and in turquoise bubble. Further, the timestamp is attached below every message.
Friends can share images with each other by selecting them from File Explorer
. On clicking the image
icon at the left corner of the message type bar, the Image Picker
opens up. The user, then, can choose any valid image file to send to his/her friend.