CryptMail is a small-scale, full-stack web application that simulates a secure end-to-end encrypted email and login system. It combines modern encryption techniques β AES for fast symmetric encryption and RSA for secure asymmetric key exchange β to deliver both speed and security. Users can register, log in from multiple devices, and send/receive encrypted messages within a clean, responsive UI.
[Link here]
- React
- HTML / CSS
- Material UI (MUI)
- Bootstrap
- Figma (UI prototyping)
- Node.js
- Express
- TypeScript
- Axios
- MongoDB
-
π End-to-End Encryption
Utilizes AES for fast message encryption and RSA for secure key exchange between users. -
π Secure Multi-Device Authentication
Implements a custom handshake protocol and backend polling system to share private keys securely between devices. -
π± Responsive UI
-
π¬ Email Functionality (CRUD)
- Register & login
- Compose and send messages
- View received (inbox) and sent messages
-
π₯οΈ Multi-Page Interface
Includes:- Login / Register pages
- Inbox (new messages)
- Sent messages
- Email composition form
Follow these steps to run the project locally:
git clone [repo-link]
cd backend
npm install
npm startIn another terminal:
cd frontend
npm install
npm run dev