Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/harish-balaji-b/password-manager
In developing a secure client-server model, we implement the Advanced Encryption Standard (AES) and a hashing algorithm from scratch. The AES implementation includes key expansion, key-mixing operations, and secure modes like Cipher Block Chaining (CBC). For hashing, we choose SHA-256 and ensure its resistant to common cryptographic attacks.
https://github.com/harish-balaji-b/password-manager
aes-encryption cbc cryptography pbkdf2 sha-256
Last synced: 1 day ago
JSON representation
In developing a secure client-server model, we implement the Advanced Encryption Standard (AES) and a hashing algorithm from scratch. The AES implementation includes key expansion, key-mixing operations, and secure modes like Cipher Block Chaining (CBC). For hashing, we choose SHA-256 and ensure its resistant to common cryptographic attacks.
- Host: GitHub
- URL: https://github.com/harish-balaji-b/password-manager
- Owner: Harish-Balaji-B
- License: mit
- Created: 2024-06-18T06:06:02.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-06-18T08:02:57.000Z (5 months ago)
- Last Synced: 2024-06-19T07:43:52.269Z (5 months ago)
- Topics: aes-encryption, cbc, cryptography, pbkdf2, sha-256
- Language: Python
- Homepage:
- Size: 221 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Password Manager
## Introduction
The Password Manager is a security-focused tool designed to securely store and manage user credentials and sensitive information. This presentation outlines the key functionalities and implementation details of the project.Our project addresses the critical need for robust password management through the development of a secure and efficient Password Manager. As a pivotal tool in fortifying online security practices, our Password Manager goes beyond conventional approaches, integrating advanced encryption techniques and a secure client-server model.
Through meticulous implementation of the Advanced Encryption Standard (AES) and a custom SHA-256 hashing algorithm, we establish a formidable defense against unauthorized access and potential data breaches.
## Proposed Methodology
### Web Framework Selection:
Flask, a lightweight and extensible web framework, is chosen for its simplicity and flexibility in handling HTTP requests. It facilitates the creation of web applications with minimal boilerplate code.### Password Security Measures:
The master password is hashed using the SHA-256 algorithm, a widely accepted and secure hashing function. Hashing provides a one-way transformation, enhancing the security of stored passwords.### Key Derivation with PBKDF2:
The PBKDF2 key derivation function is applied to the hashed master password for generating an encryption key. This process introduces computational complexity, making it resistant to brute-force attacks and enhancing key security.### AES Encryption:
The Advanced Encryption Standard (AES) is employed for encrypting passwords. AES is a symmetric encryption algorithm widely recognized for its security and efficiency.### Secure Password Storage:
Encrypted passwords are securely stored, and only the hashed master password is stored for verification purposes. This adds an additional layer of security, as even if the stored data is compromised, it would be challenging to retrieve the original master password.### Web API Endpoints for Operations:
The application exposes two main endpoints - one for storing passwords securely and another for retrieving passwords. These endpoints follow best practices for handling JSON data and provide a simple yet effective interface for password management.### Error Handling and User Feedback:
The code includes error handling mechanisms to provide meaningful feedback to users, ensuring a smooth an user-friendly experience. This is essential for effective communication in case of incorrect inputs or potential issues.## AES Encryption:
The flowchart shows the steps involved in encrypting a block of data (plaintext) using the AES algorithm. The first step is to add the plaintext to the initial key (K0). This is followed by nine rounds of transformations.![lmao](https://github.com/Harish-Balaji-B/Password-Manager/blob/main/Sample/aes.jpg)
## SHA 256![lmao](https://github.com/Harish-Balaji-B/Password-Manager/blob/main/Sample/sha.jpg)
## Implementation
![lmao](https://github.com/Harish-Balaji-B/Password-Manager/blob/main/Sample/pm.jpg)
### Website
![lmao](https://github.com/Harish-Balaji-B/Password-Manager/blob/main/Sample/web1.png)
![lmao](https://github.com/Harish-Balaji-B/Password-Manager/blob/main/Sample/web2.jpg)
![lmao](https://github.com/Harish-Balaji-B/Password-Manager/blob/main/Sample/web3.jpg)
## Future Work
In advancing this password management system, several key areas warrant exploration. First, the integration of biometric authentication can enhance user convenience and security. Additionally, the implementation of a robust intrusion detection system and anomaly detection algorithms will fortify the application against evolving cyber threats. Enhancing scalability through cloud-based storage solutions and exploring blockchain for decentralized security measures are avenues for consideration. To improve user experience, incorporating a comprehensive password strength evaluation mechanism and refining the user interface for mobile responsiveness will be beneficial. Lastly, continuous security audits and adherence to emerging cryptographic standards will ensure the system remains resilient in the face of emerging threats, contributing to a sustainable and secure password management solution.