This project is a Digital Signature Verification System developed using Elliptic Curve Digital Signature Algorithm (ECDSA). It provides robust authentication for messages by allowing users to securely sign and verify the authenticity of data. The application is built with Django and uses PostgreSQL as its database for reliable data storage.
- Generate Key Pair: Allows users to generate a secure ECDSA key pair (Private Key, Public Key X, Public Key Y).
- Message Signing and Verification: Users can input messages, sign them with their private key, and verify authenticity using the generated signature.
- User-Friendly Interface: A clean and responsive UI for an enhanced user experience.
- Enhanced Security: Utilizes ECDSA to provide a high level of cryptographic security.
- PostgreSQL Database: Stores user data and keys securely in a robust, SQL-compliant database.
Generate Key Pair | Sign Message | Verify Signature |
---|---|---|
- Backend: Django for handling request processing, key generation, signing, and verification.
- Database: PostgreSQL for secure, structured data storage.
- Frontend: HTML, CSS, and JavaScript for a responsive user interface.
- Cryptography: ECDSA, using private-public key pairs to ensure data integrity and non-repudiation.
- Generate Key Pair: Click on "Generate Key Pair" to create a private-public key pair. The generated keys are displayed on the screen.
- Sign Message: Enter a message, use the private key to generate a unique signature, and obtain signature values (R, S).
- Verify Signature: Input the original message, public key, and the signature values to validate the authenticity of the message.
- Document Authentication: Extend functionality to include document signing and verification, ensuring integrity and authenticity of larger files.
- Timestamping Feature: Integrate a timestamp to provide a verified time for each signature, improving non-repudiation.
- User Authentication and Access Control: Add user registration, authentication, and role-based access control for secure multi-user operations.
- Clone the repository.
git clone https://github.com/Pratham-verma/Digital_Signature_Verification.git cd Digital_Signature_Verification
- Install dependencies.
pip install -r requirements.txt
- Open the browser and go to
http://127.0.0.1:8000
to access the application.