Using Markov Chains, the N-gram model learns the statistical likelihood of character sequences in passwords, enabling it to generate highly probable password candidates that can be used for password cracking
  • Python 56.3%
  • TeX 43.7%
Find a file
Hariss Ali Gills e7dadb1c20
only run task 4
2024-12-27 12:51:32 +02:00
brute_force Finally get task 4 running well 2024-10-22 00:32:38 +01:00
dictionary Finally get task 4 running well 2024-10-22 00:32:38 +01:00
markov Add README 2024-10-25 21:39:27 +01:00
password-data Add better charts 2024-10-24 23:35:02 +01:00
report Add report to repo 2024-10-27 20:51:31 +00:00
.gitignore Basic implementation task 4 2024-10-17 18:51:23 +01:00
hashes.json Basic implementation task 4 2024-10-17 18:51:23 +01:00
main.py only run task 4 2024-12-27 12:51:32 +02:00
README.md Update README.md 2024-12-27 12:50:21 +02:00
report.pdf Add report to repo 2024-10-27 20:51:31 +00:00
requirements.txt Add required packages 2024-10-25 22:10:44 +01:00

Password Cracking using N-gram Markov Chains

This project implements a password cracking algorithm based on Markov Chains. The goal is to generate password guesses that closely resemble real-world password patterns by analyzing a training set of known passwords. Using Markov Chains, the model learns the statistical likelihood of character sequences in passwords, enabling it to generate highly probable password candidates that can be used for password cracking.

Installation

The project has been tested on python version 3.12.7. Hence, it is suggest to use that version.

External packages are required to plot.

To plot, use the package manager pip to install the dependecies.

pip install -r requirements.txt

Usage

By default, all of the tasks and imports related to plotting are commented out. You can comment out the distinct tasks within main.py to run specific tasks.

python main.py