Build an Encrypted Messaging App for Android

Nick Parsons
The Startup
Published in
9 min readMar 27, 2020

--

Courtesy of Schwäbisch Gmünd, Germany via Unsplash

In this tutorial, we’ll build an encrypted chat/messaging example app for Android. To do this, we will combine both Stream Chat and Virgil Security platforms. Stream and Virgil make it easy to build a solution with excellent security by combining all of the features you would expect as a developer when creating a messaging app.

These two services allow developers to integrate chat that is zero knowledge to your backend or Stream. The example app embeds Virgil Security’s eThree Kit — a secure encrypted messaging platform — with Stream Chat’s Android components.

Note that all source code for this example, Android app is available on GitHub. Additionally, before jumping into this tutorial, I recommend checking out the Stream Chat Android tutorial, which will walk you through how to implement Stream Chat from a high-level overview.

What Is End-To-End Encrypted Messaging?

End-to-end encrypted messaging means that the users within that specific chat can only read messages sent between two people. To enable this, the messages that are sent are encrypted before leaving a user’s device, and can only be decrypted by the intended recipient (end-user).

Virgil Security is a vendor that allows developers to create end-to-end encryption via public/private…

--

--