CryptoVault is a secure file storage prototype that protects files using client-side hybrid encryption.
Files are encrypted directly inside the browser before being stored, ensuring confidentiality, integrity, and controlled access.
The system demonstrates how modern web applications can use cryptography to protect sensitive data without relying entirely on server-side trust.
Application:
https://cryptovault-secure-file-storage-qcc.vercel.app
To access the secure vault dashboard, use the following credentials:
| Field | Value |
|---|---|
| demo@cryptovault.com | |
| Password | CryptoVault@123 |
These credentials allow access to the demo vault environment for evaluating the hybrid encryption workflow.
- Client-side file encryption before storage
- Hybrid cryptography architecture
- Secure file upload and retrieval
- Integrity verification using hashing
- Modern responsive interface
- Built using Next.js and modern web technologies
CryptoVault uses a hybrid encryption model to balance performance and security.
AES-GCM
Used for fast encryption of file contents.
RSA-OAEP
Used to encrypt and protect the AES encryption key.
SHA-256
Used to generate a hash fingerprint of the file to detect tampering.
- The file is encrypted locally using AES-GCM.
- The AES key is encrypted using RSA-OAEP.
- A SHA-256 hash is generated for integrity verification.
- The encrypted file and metadata are stored securely.
- Next.js
- React
- TypeScript
- Tailwind CSS
- Web Crypto API
- AES-GCM Encryption
- RSA-OAEP Key Protection
- SHA-256 Hashing
- Vercel
cryptovault
│
├── app
│ ├── page.tsx
│ └── vault
│
├── lib
│ ├── crypto.ts
│ └── storage.ts
│
├── public
│
├── screenshots
│
├── package.json
├── tsconfig.json
└── README.md
- User uploads a file through the CryptoVault interface.
- The file is encrypted locally using AES-GCM.
- The encryption key is protected using RSA-OAEP.
- A SHA-256 hash is generated for file integrity.
- The encrypted file is stored in the vault.
- Only authorized retrieval can decrypt the file.
Clone the repository
Navigate into the project folder
cd cryptovault-secure-file-storage
Install dependencies
npm install
Start the development server
npm run dev
Open the app in your browser
http://localhost:3000
- Cloud storage integration
- Multi-user authentication
- End-to-end encrypted file sharing
- Secure key management system
- Large file encryption optimization
Diya Kharb
This project was developed as an academic prototype demonstrating secure client-side encryption techniques.