Skip to content

A Comparative Study of Brute-Force Search and Grover's Algorithm

Notifications You must be signed in to change notification settings

krabello/Grovers-Algorithm

Repository files navigation

Password Cracker: Classical vs. Quantum

This project provides a comparative analysis of password cracking techniques using classical brute-force methods and quantum-inspired Grover's algorithm principles. It includes tools to simulate both approaches, analyze time and space complexity, and generate visualizations for enterprise-level applications.


Features

  • Classical Brute-Force Simulation:

    • Systematically generates all possible password combinations.
    • Demonstrates exponential time complexity for longer passwords.
  • Quantum Grover's Algorithm Simulation:

    • Uses Qiskit's Aer simulator to estimate quantum search processes.
    • Provides theoretical quadratic speedup for password searches.
  • Time and Space Complexity Analysis:

    • Measures time and space usage for both methods.
    • Generates visualizations comparing classical and quantum approaches.
  • Enterprise Logging:

    • Logs results and errors to both a console and a file (password_cracker.log).

File Structure

  • main.py: Main script to simulate password cracking and compare methods.
  • classical_crack.py: Implements the classical brute-force cracking approach.
  • quantum_crack.py: Simulates quantum cracking using Grover's algorithm principles.

Dependencies

To run the project, install the following dependencies:

  • cd into project directory
    python3.10 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    python main.py

About

A Comparative Study of Brute-Force Search and Grover's Algorithm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages