Magic Behind Signal Messenger App

As soon as people started using gadgets and applications to make calls and exchange text messages, communication changed once and for all. It brought many advantages like communication with other people from all over the world and spending less money on international calls, which makes messengers very popular.

Among the disadvantages of messengers are loss of privacy and data security. For this reason, secure messaging apps are gaining popularity. A great example of how to make communication secure is the Signal messenger app, which is a popular solution for encrypted messaging.

###What is Signal App and How Does it Work

![signal messenger app](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290718/c6c7ad0f-5f68-b756-e6aa-083bcb0e2ec1.png)

The Signal messenger app was developed on the basis of the existing RedPhone and TextSecure applications and was launched in March 2015 by Open Whisper Systems. It is free for users and gets money only from donations and grants.

The Signal messenger app is different from other chat apps because Signal source code is available on GitHub for anyone who wants to examine it or check for security flaws. By the way, in 2016 Signal was independently audited, which resulted in the Signal encryption app and has been officially deemed secure.

Besides, their repository is set up with BitHub so that professional developers can easily configure and deploy Signal and make money from it if their pull request is accepted.

With the help of Signal encrypted calls and Signal text messages can be made from anywhere in the world. Signal encrypted messaging is protected by end-to-end encryption.

###Is Signal App Really Secure?

Billions of users all over the world use messaging apps, which means that their data is in danger of being compromised.

The primary concern for developers who stand behind the app is Signal app security. The app uses end-to-end encryption, which means that all messages are encrypted before they are sent and can only be decrypted on the device of the intended recipient.

The Signal private messenger app relies on the following cryptographic protocols:

- Extended Triple Diffie-Hellman (X3DH)
- Double Ratchet algorithm, Curve25519
- AES-256
- HMAC-SHA256

These protocols ensure protection against the MITM (man-in-the-middle).

After one of the Signal updates, all voice and video calls were protected with the same Signal Protocol that secured only text messages. This protocol was first implemented in the TextSecure× apps, on which Signal messenger app was later developed.

Signal encryption has additional security features such as the protection of messages and notifications with a passphrase. The keyboard works in incognito mode, which means that it does not collect data on what text is typed. Also, Signal disappearing messages are very useful, like those that Snapchat uses.

This app also provides a mechanism to verify the identities of your contacts with a unique safety number (fingerprint).

There are seven criteria to check how secure a chat app is:

- communication encrypted in transit
- no provider has access to the key the communication is encrypted with
- independent verification of a correspondent's identity
- secure past communications if the keys are stolen
- code open to independent review
- well-documented cryptographic design
- an independent security audit

Signal messenger app conforms to all the standards, unlike other apps. The table below shows the security assessment of the Signal encrypted messaging app in comparison to other chat apps:

![signal private messenger](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290718/50ab54cd-a8f8-8380-bb72-22054a305e0d.png)

According to the above given criteria, the Signal messenger app offers unprecedented security compared with its major competitors. The app maintains this level of security while encrypted messaging is being used.

###Signal Messaging App: Features to Include

Although the core feature of the Signal private messenger is encrypted messaging, there are many functions that are worth mentioning:

- Registration with a phone number

The Signal messaging app uses a phone number and confirmation code to verify user registration and login which makes the process of registration easier because you don't need to remember passwords or login information. 

- Disappearing messages

There is even a possibility to set up a timer ranging from 5 seconds to 1 week for all the seen messages to disappear. The app doesn't even allow to take a screenshot of a chat. Besides, push notifications with Signal disappearing messages (whether or not it is disappearing) can be captured via screenshot as the security of the Signal messenger app, running in the background, can't block standard device functions.

- Voice and video calls

The Signal messaging app has a possibility to make crystal-clear and secure voice and video calls, which make the application suitable for business communication.

- Group chats

A user can have private, encrypted conversations with their friends by using one-to-one secure chats. Also, the Signal messaging app server has no access to any group metadata including icons, titles, and membership lists.

- Content sharing and entertainment

The Signal messenger app continues to develop and introduce new features. For now, the safe chat app lets users share texts, gifs, photos, videos, locations, any document or file, and even voice messages.

More details can be found [here](https://mlsdev.com/blog/130-how-to-develop-a-secure-messenger-like-signal)