Skip to content

A desktop cryptography and password management toolkit built with JavaFX.

License

Notifications You must be signed in to change notification settings

BarkinBalci/GearStick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GearStick

A desktop cryptography and password management toolkit built with JavaFX.

Java Maven

Features

GearStick provides four core security tools in a single desktop application:

1. Cryptography Module

  • Text Encryption/Decryption: AES-256 encryption for text strings
  • File Encryption/Decryption: Secure file encryption with AES-256
  • Key Derivation: PBKDF2 with HMAC-SHA256 (65,536 iterations) for password-based key generation
  • Secure IV Generation: Cryptographically secure initialization vectors using SecureRandom

2. Password Vault

  • Secure Credential Storage: Encrypted password storage with master password protection
  • Multi-Vault Support: Create and manage multiple vaults with independent master passwords
  • Credential Management: Add, view, copy, and organize credentials
  • Encryption: All credentials encrypted using vault-specific salt and IV

3. Password Generator

  • Customizable Generation: Configure length and character sets (uppercase, lowercase, numbers, special characters)
  • Cryptographically Secure: Uses SecureRandom for unpredictable password generation
  • Vault Integration: Save generated passwords directly to your vault

4. Checksum Calculator

  • File Integrity Verification: Calculate MD5 and SHA-256 checksums
  • File Comparison: Verify file integrity and detect tampering

Prerequisites

  • Java 17 or higher
  • Maven 3.8+
  • JavaFX 19 (included as dependency)

Quick Start

Clone and Build

# Build with Maven
mvn clean package
# Run the application
mvn javafx:run

Design Decisions

Why AES-256 with PBKDF2?

AES-256 provides strong encryption suitable for both text and file data, while PBKDF2 with 65,536 iterations makes password-based attacks computationally expensive. The combination balances security and performance for a desktop application.

Why Vault-Specific Salts and IVs?

Each vault generates its own salt and IV during creation, ensuring that identical passwords in different vaults produce different encrypted outputs. This prevents cross-vault attacks and adds an extra layer of security.

About

A desktop cryptography and password management toolkit built with JavaFX.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •