Implementation of an end-to-end 2048-bit RSA encrypted messenger
Data security is crucial. The internet as we know it would not exist without data security; data communicated over the internet would be as vulnerable to interception as a message yelled across a crowded room. Therefore securing these messaging services is crucial using the best techniques.
A traditional browser-based web app for Customer service which can be attached to various websites that wants communication between two users encrypted and safe live on the app. We will try to show an implementation of an end-to-end 2048-bit RSA encrypted messenger
Utilizing Vue.js
for coordinating the frontend functionality along with Node.js
for integrating the backend and platform.
Using of socket.io
to connect members for communication and sending messages which will be shown on the web app in real time which we will try to make using JavaScript Framework like Vuejs.
Adding of Encryption in our messenger using asymmetric encryption cryptography(to encrypt and decrypt a message and protect it from unauthorized access or use).
Vue.js - For coordinating the frontend functionality
Nodejs- For integrating backend and for modules
Socket.io- For sending messages between users
Asymmetric Encryption (Public key cryptography)(one to one)/E2E
Run these commands on the terminal to run this chat app
1- Clone this project on ypur system
git clone https://github.com/baazis/Secure-Chat--App.git
2- Go to the directory
cd Secure-Chat--App
3- Install all the dependencies
npm install
4- Run the Web app
npm start
5- Open localhost:3000 to see the web-app
Open the localhost from two different browsers and join the same room.
Try to join the same room from different browser, it will notify and stop the third user to enter the room.
The code given abpve uses RSA crypto web worker for implementing Encryption and providing security.
In folder More Crypto Workers
I have added three more crypto web workers.
For using those web workers exchange the code of /public/crypto-worker.js
with these codes.