https://github.com/dotdot0/crypto
https://github.com/dotdot0/crypto
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/dotdot0/crypto
- Owner: dotdot0
- Created: 2024-10-05T22:20:09.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-17T18:38:18.000Z (over 1 year ago)
- Last Synced: 2025-01-29T09:48:53.553Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://crypto-zeta-dun.vercel.app/
- Size: 9.96 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# VeriDoc
## Team Members:
1.Satyam Rathor(22bec042)
2.Aditya Roushan(22bec003)
3.Pratush Rai(22bec035)
4.Ansh Goyal(22bcs014)
## Introduction
**VeriDoc** is a secure, scalable document verification system designed to verify the integrity of files using advanced cryptographic algorithms. It employs digital signatures, SHA-256, and RSA algorithms to ensure data authenticity and integrity.
- **Backend**: Built with Python for cryptographic operations and API management.
- **Frontend**: Developed using Next.js with Tailwind CSS and Redux Toolkit for state management.
- **Storage and Authentication**: Utilizes Firebase for file storage and user authentication.
- **Deployment**: Docker ensures seamless scalability and deployment.
---
## Tech Stack
- **Frontend**:
- Next.js
- Tailwind CSS
- Redux Toolkit
- Firebase Authentication
- **Backend**:
- Python
- **Cryptography**:
- SHA-256 (Hashing)
- RSA (Key Generation & Digital Signatures)
- **Storage**:
- Firebase
- **Containerization**:
- Docker
---
## Features
### **Core Features**
- **Secure File Upload**: Users can upload files securely to Firebase.
- **Cryptographic Verification**: Ensures document integrity using SHA-256 hashing and RSA-based digital signatures.
- **File Integrity Check**: Compares uploaded files to detect any alterations.
- **File Reference and Comparison**: Allows users to upload a new file and compare it against previously stored versions.
- **User Authentication**: Secure login and registration via Firebase Authentication.
### **Cryptographic Operations**
- **Signing**: Creates a digital signature for the provided message.
- **Hashing**: Generates a SHA-256 hash of the data.
- **Verification**: Validates data integrity using the hash and digital signature.
### **Deployment**
- **Dockerized Deployment**: Streamlined deployment and enhanced scalability using Docker.
---
## API Endpoints
- **POST `/api/extract-text-from-pdf`**
Extracts text from a PDF file.
- **POST `/api/sign`**
Signs a message. Takes an input message and returns:
- Message
- Message Hash
- Public Key
- Digital Signature
- **POST `/api/verify`**
Verifies the integrity of a message by comparing its hash with the digital signature.
- Returns: `true` if valid, otherwise `false`.
- **POST `/api/hash`**
Hashes the provided data using SHA-256 and returns the hash value.
---
## Source Code
Access the source code on GitHub:
[VeriDoc Repository](https://github.com/dotdot0/crypto)
## Live Demo
Try it live:
[VeriDoc Live Application](https://crypto-zeta-dun.vercel.app/)
---
## License
This project is licensed under the [MIT License](LICENSE).