End to End encrypted chat application

  

End to End encrypted chat application

-18it024 Vedantsinh Dabhi
-18IT054 Pranay Maheriya


INTRODUCTION 


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).

How does end to end encryption work?

In the app, we used AES (Advanced Encryption Standard) It is a symmetric block cipher chosen by the U.S. government to protect classified information. AES is implemented in software and hardware throughout the world to encrypt sensitive data. It is essential for government computer security, cybersecurity, and electronic data protection.

AES includes three block ciphers: AES-128, AES-192 and AES-256.

AES-128 uses a 128-bit key length to encrypt and decrypt a block of messages, while AES-192 uses a 192-bit key length and AES-256 a 256-bit key length to encrypt and decrypt messages. Each cipher encrypts and decrypts data in blocks of 128 bits using cryptographic keys of 128, 192 and 256 bits, respectively.






The main advantage of end-to-end encryption is its restriction of transmitted data from anyone but the recipient. It is as if when you mailed a letter you put it in a box that was physically impossible to open — immune to any sledgehammer, saw, lockpick, and so forth — except by the addressee. End-to-end encryption ensures the privacy of your communication.



CONS OF END TO END ENCRYPTION

It does not hide message metadata, such as the time the message was sent and who it was sent to.

It also only protects the message in transit – once the message reaches its endpoint, it is still vulnerable to attack and needs to be covered by other security measures.


Tools used for developing the application:
  • java is used as the main platform for developing
  • firebase as a backend for storing and retrieving data
  • various dependencies for accessing firebase and other things
  • AES standard was used for encryption of data

Functionalities:

  • user sign-in authentication using firebase as backend
  • adding multiple accounts 
  • chat in real-time
  • chats are encrypted and can be only accessed by the sender and the receiver

work still needs to be done:

  • improve UI of the app
  • separating messages with different profiles
  • adding basic functionalities for chatting like gifs and stickers

resources used:

  • Android studio for development
  • youtube tutorials
  • various blogs and articles on end to end encryption and AES standard

Comments

Popular posts from this blog

Android and Flutter