Skip to content

Latest commit

 

History

History
58 lines (45 loc) · 2.92 KB

README.md

File metadata and controls

58 lines (45 loc) · 2.92 KB

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.