Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Hack36 9.0 Template Readme

Built at Hack36

Introduction:

MediCrypt is a secure, end-to-end encrypted medical records management system that enables patients and doctors to exchange medical reports safely using Hybrid Encryption (AES + RSA).
All encryption and decryption occur client-side, ensuring that even the server or database never sees the unencrypted data.

🩺 Workflow Summary:

  1. Doctor Key Setup:

    • Doctors generate RSA key pairs in the browser.
    • Private key is encrypted with a password (AES-GCM).
    • Only the encrypted private key and public key are stored in the database.
  2. Patient Report Upload:

    • Patient encrypts the report using AES-256-GCM.
    • The AES key is encrypted using the doctor’s public key (RSA-OAEP).
    • Encrypted file and metadata are uploaded to the backend (stored in Cloudinary + MongoDB).
  3. Doctor Decryption:

    • Doctor decrypts private key using password (AES).
    • Decrypts AES key using private RSA key.
    • Finally decrypts the medical report locally in the browser.

🛡️ Result: Full end-to-end privacy — only patient and doctor can access the report.


🎥 Demo Video:

Watch MediCrypt Demo on YouTube

📊 Presentation:

View MediCrypt Presentation on Canva


Table of Contents:


Technology Stack:

🧠 Backend:

  • Node.js
  • Express.js
  • MongoDB
  • Cloudinary

💻 Frontend:

  • React.js (Vite)
  • Web Crypto API (for client-side RSA + AES encryption)
  • Axios

🔐 Security:

  • AES-256-GCM
  • RSA-4096-OAEP
  • PBKDF2 key derivation

🔐 Encryption Flow Diagram (Summary)

Hybrid Encryption Steps:
Patient Device
├── Generates AES key → Encrypts report (AES-GCM)
├── Encrypts AES key with Doctor’s Public RSA key
├── Uploads encrypted report + encrypted AES key → Server

Server (Zero Knowledge)
├── Stores encrypted data (no decryption possible)

Doctor Device
├── Retrieves encrypted report + encrypted AES key
├── Decrypts private key with password (AES)
├── Uses private RSA key to decrypt AES key
├── Decrypts and downloads report locally

Contributors:

Team Name : DEVLOK

Made at:

Built at Hack36

About

AES+RSA based medical report submitter from patient-side and received from doctor side. User and keys stored in MongoDB, reports (Encrypted, Decrypted) in Cloudinary.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages