Skip to content

giulia-lm/Evolutive-encryption

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Evolutive Encryption with Genetic Algorithm

This project presents a Python implementation of a genetic algorithm designed to optimize the encryption key for a message encrypted with the Vigenère cipher.

Description

The cipher developed by Blaise de Vigenère during the 16th century was considered unbreakable for many years, earning it the nickname the unbreakable cipher. Despite its current vulnerability, this cipher had a significant impact on cryptography.

Getting Started

Libraries used

  • numpy
  • random
  • string
  • copy
  • matplotlib.pyplot

Project files

Inside the "Evolutive-encryption" folder, you'll find two main files:

  • ga_vigenere.py: Main script to run and modify parameters.
  • GA_vigenere.ipynb: Jupyter notebook with detailed explanations and step-by-step walkthrough.

Running the program

To run the program, execute the main script with:

python3 ga_vigenere.py

You can also modify parameters directly inside ga_vigenere.py before running.

Contributing

Pull requests are welcome! Feel free to submit bug fixes, improvements, or new features.

License

MIT

Notes

If you prefer a detailed explanation in Spanish, check this PDF document about the project.

About

This project presents a Python implementation of a genetic algorithm designed to optimize the encryption key for a message encrypted with the Vigenère cipher.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors