Skip to content
This repository has been archived by the owner on Jan 6, 2022. It is now read-only.
/ decipher Public archive

πŸ’» open-source tool for πŸ”“ cracking cipher-encrypted files.

License

Notifications You must be signed in to change notification settings

aswinmurali-io/decipher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

72 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CodeQL Generic badge GitHub License Maintenance

Decipher

An πŸ’»open-source tool for πŸ”“ cracking cipher-encrypted files.

python scikit-learn numpy pandas
Do you like the project? :)
GitHub stars

Usage

An πŸ’» open-source tool for πŸ”“ cracking cipher-encrypted files.

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         display verbose-level information
  -g, --generate-dataset
                        generates the dataset for training
  -qt, --quick-train    quickly train the model by reducing complexity
  -t, --train-model     train the model (uses model_v1)
  -w PATH, --word-list PATH
                        specify the word list file, default is nltk.corpus
  -if PATH, --input-file PATH
                        specify the file πŸ“„ to crack πŸ”‘
  -i TEXT, --input TEXT
                        specify the text πŸ…° to crack πŸ”‘

Enjoy deciphering! πŸ˜„

Cracking

To decrypt a string. Use the --input to command to specify the input string.

python -m decipher --input "Encrypted text here"
python -m decipher -i "Encrypted text here"

To decrypt a text file. Use the --input-file to command to specify the file path.

python -m decipher --input-file test.txt
python -m decipher -if test.txt

Setup

If you don't have conda install Miniconda from here

git clone https://github.com/aswinmurali-io/decipher.git
conda env create -f environment.yaml
python -m decipher [args]

The tool is capable of generating the default dataset to get things started. But for this to work we need to use nltk dataset. To do this type the below code in the python interpreter.

import nltk
nltk.download()

Using custom word list

By default decipher will use nltk.corpus. You can specify different word file by passing the --word-list arg with a file name.

git clone https://github.com/dwyl/english-words
python -m decipher --generate-dataset --word-list english-words/words_alpha.txt

Training

To train the model for decipher. Use the --train argument. This will scan for dataset and start the training process.

python -m decipher --train

Speed up training

To speed up the training process use the --quick-train argument. The will reduce the training complexity to make the process faster. Useful for training large dataset with limited computational power.

python -m decipher --train --quick-train

About

πŸ’» open-source tool for πŸ”“ cracking cipher-encrypted files.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published