QuantumCrackSim is a modular simulation framework that models password cracking logic using Groverโs Algorithm over contextual dictionaries and hashcat-like masks. It is designed for experimentation within Azure Quantum environments, offering insight into quantum search acceleration over classical brute-force techniques.
To evaluate the feasibility and performance of Grover's algorithm when applied to password search problems modeled from real-world dictionaries and structured character masks. The simulation highlights how quantum principles reduce search complexity from linear O(N) to quadratic O(โN).
QuantumCrackSim/ โโโ Quantum/ โ โโโ GroverSearch.qs # Quantum algorithm in Q# โโโ host/ โ โโโ host.py # Hybrid dispatcher with entropy and cracking logic โโโ data/ โ โโโ dictionary.txt # Sample wordlist (useful for testing) โ โโโ mega_diccionario_tolima.txt # High-volume dictionary (14M+ entries) โโโ config/ โ โโโ target_config.json # Hash target + encoding โโโ masks/ โ โโโ mask_config.json # Hashcat-style mask definitions โโโ scripts/ โ โโโ process_cap_files.py # Extracts SSID/BSSID info from .cap โ โโโ cap_to_hashcat.py # Converts .cap โ .hccapx / .22000 โ โโโ grover_oracle_builder.py # Builds Grover oracle from target โ โโโ entropy_analyzer.py # Entropy stats from dictionary data โ โโโ mask_evaluator.py # Evaluates mask complexity + pattern entropy โ โโโ quantum_launcher.py # Main Grover executor across masks/dictionary โโโ requirements.txt # Dependency list for virtual environment โโโ setup_env.sh # Quick environment setup script โโโ README.md # Project documentation
- Converts dictionary and masks into quantum-searchable states
- Constructs oracles dynamically to encode โcorrect passwordโ logic
- Executes Grover iterations based on search space size and success probability
- Outputs simulated discovery step, query count, and resource estimation
- Q#: Core quantum operations and Grover loop logic
- Python (QDK): Host application and input preprocessing
- Azure Quantum: Backend simulator or physical quantum providers
- Hashcat-like parsing: Converts masks (
?u?l?d?s) to binary sets
- Python 3.8+
- Visual Studio Code w/ Q# extension
- Azure Quantum workspace + subscription
- Microsoft Quantum Development Kit (QDK)
git clone https://github.com/TxilorAlvarez/QuantumCrackSim.git
cd QuantumCrackSim
pip install -r host/requirements.txt- Place your password dictionary in
data/dictionary.txt - Define mask(s) in
masks/mask_config.json - Specify the target entry in
config/target_config.json:
{
"target": "Pa5$word",
"encoding": "ascii"
}python host/host.py --dictionary data/dictionary.txt --mask masks/mask_config.json --target config/target_config.jsonAzure Quantum simulator will run Grover's algorithm over the constructed oracle to search for the target.
- Quantum query count (Grover iterations)
- Simulated password found
- Binary representation of candidate match
- Search efficiency comparison vs classical brute-force
- Optional resource estimates for real quantum execution
- Add support for GPU-based fallback if Quantum simulator is slow
- Integrate Bash script triggers for hybrid workflow compatibility
- Embed hooks into hashcat outputs for live dictionary generation
- Adapt mask parsing to include regex-style constraints
- Azure Quantum Documentation
- Grover's Algorithm โ Q# Samples
- Hashcat Mask Attack Docs
- Quantum Resource Estimator
MIT ยฉ 2025 โ QuantumCrackSim by [Txilor_alvarez]
Educational tool for research in quantum search applications
git clone https://github.com/TxilorAlvarez/QuantumCrackSim.git
---