Skip to content

PassBot-789 is a secure password manager designed for the CMPT-789: Applied Cryptography course, taking inspiration from Keepass. It offers a reliable solution for managing passwords securely.

License

Notifications You must be signed in to change notification settings

jugal09xx/PassBot-789

Repository files navigation

PassBot-789 - Secure Password Manager

PassBot-789 is a secure password manager designed for the CMPT-789 Applied Cryptography course project, taking inspiration from KeePassXC. It offers a reliable solution for managing passwords securely. The tool stores encrypted data in (.csv) database files. The database can be accessed using a master password. The application employs AES-256 encryption in CBC mode, using a 32-byte key generated by hashing the master password with SHA-256. This key is then employed for data encryption, with a randomly generated Initialization Vector (IV) for each new database file. Encrypted data is stored in a CSV file within the project directory, and access to this database relies on the user remembering their master password.

Table of Contents

Installation

  1. Clone the repository: git clone <repository-url>
  2. Navigate to the project directory: cd PassBot-789
  3. Install dependencies: npm install

Usage

  1. Run the application: npm start
  2. Follow on-screen instructions to create a new database or open an existing one.
  3. Manage passwords through interactive menus.

Features

  • Create New Database: Create a new password database with a master password.
  • Open Existing Database: Access an existing password database by providing the master password.
  • View Entries: Display a list of stored credentials, with an option to copy passwords to the clipboard.
  • Add New Entry: Introduce a new entry with a title, username, and a user-defined or randomly generated password.
  • Delete Entry: Remove a stored entry from the database.
  • Generate Random Password: Optionally create a random password with default settings (16 characters, including uppercase, lowercase alphabet, and special characters).
  • Encryption: Implements AES-256 encryption in CBC mode, with a SHA-256 hashed master password and a randomly generated Initialization Vector (IV) for each new database file.

User Flow

Welcome Menu

  1. Create New Database
  2. Open Existing Database
  3. Exit

Password Vault Menu

  1. View Entries
  2. Add New Entry
  3. Delete Entry
  4. Back

Security Details

  • Encryption Algorithm: AES-256 in CBC mode
  • Key Derivation Function: SHA-256 hash of the master password
  • Initialization Vector (IV): Randomly generated for each new database file created

Video Demo

Watch the demo here

License

This project is licensed under the MIT License.


Note: PassBot-789 is developed for educational purposes and is inspired by the features of Keepass. It does not guarantee the highest level of security. Use it at your own risk.

About

PassBot-789 is a secure password manager designed for the CMPT-789: Applied Cryptography course, taking inspiration from Keepass. It offers a reliable solution for managing passwords securely.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published