Skip to content

Abdallah-Afifi/Password-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Password-Manager

Development Flow for the Password Manager

  1. Define the Password Manager Data Structure: This is the foundation of the program and should be designed with security in mind.
  2. Implement Cryptography: Encryption and decryption functions should be implemented to ensure that all stored passwords are secure. Biometric authentication can also be integrated at this stage.
  3. Add User Input and Output Functions: Functions should be added to allow users to interact with the program and to display output to users.
  4. Implement Password Generation Function: A password generation function should be added to allow users to create strong, random passwords.
  5. Implement Error Handling Functions: Functions should be added to handle errors, such as incorrect input, file reading/writing errors, and authentication failures.
  6. Implement Automatic Password Change Function: A function should be added to allow users to schedule automatic password changes.
  7. Add Customization Options: Settings should be added to allow users to customize password length, complexity requirements, and other preferences.
  8. Implement File Handling: Functions should be added to read and write encrypted credentials to a file.
  9. Implement Search and Retrieve Function: A function should be added to allow users to search for and retrieve stored passwords.
  10. Add Two-Factor Authentication: Two-factor authentication should be implemented to enhance the security of the program.
  11. Add Integration with Other Security Tools: Functions should be added to allow the program to communicate with other security tools, such as anti-virus software or firewalls.
  12. Add Limited Sharing Options: A sharing function should be added to allow users to share passwords securely with multiple users.
  13. Add Screenshotting limitation.

Tasks

Adham:

• Define the Password Manager Data Structure. • Implement Cryptography: Encryption and decryption functions, and biometric authentication. • Add User Input and Output Functions. • Implement Error Handling Functions. • Add Customization Options.

Abdallah:

• Implement Password Generation Function. • Implement Automatic Password Change Function. • Implement File Handling. • Implement Search and Retrieve Function. • Add Two-Factor Authentication. • Add Integration with Other Security Tools. • Add Limited Sharing Options.

Remarks

You can use a strong encryption algorithm like AES or Blowfish to encrypt the password. You can also use a hashing algorithm like SHA-256 or SHA-512 to hash the password for additional security. Instead of using AES or Blowfish, you can use more advanced encryption algorithms like Twofish or Serpent. These algorithms provide a higher level of security and are harder to crack.

You can use a random number generator and a library like Boost or OpenSSL to generate a secure random password. You can also use best practices for password generation, such as using a mix of uppercase and lowercase letters, numbers, and symbols.

Use a Key Derivation Function: Instead of storing the encryption key in the program or a separate file, you can use a key derivation function like PBKDF2 or scrypt to generate the key from the user's password. This makes it harder for attackers to obtain the encryption key.

Instead of storing the encrypted passwords in a file, you can store them in a secure database. Use a library like SQLite to store the encrypted credentials and implement secure database access.

Use secure input and output functions to prevent attackers from intercepting the user's input or output. For example, use functions like getpass() to get the user's password instead of the standard input function.

Implement error handling and logging functions to detect and log errors and unusual activity. This can help to identify potential security breaches and improve the overall security of the program.

Add two-factor authentication to the program as a second layer of security. Like Google's safe device or Google Authenticator.

You can use AES with adjusting the Key length and complexity to ensure effiecinecy, security, and performance.

Timeline

By the end of Monday 10/4:

Define the Password Manager Data Structure: This is the foundation of the program and should be designed with security in mind. (Adham) Implement File Handling: Functions should be added to read and write encrypted credentials to a file. (Abdallah)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages