Skip to content

Laboratory work on cryptographic methods of information protection 👨‍💻

License

Notifications You must be signed in to change notification settings

vasilypht/crypto-methods

Repository files navigation

preview

Crypto-methods

Laboratory work on the subject "Cryptographic methods of information protection". These works include asymmetric and symmetric encryption, as well as some cryptanalysis methods.

image-app

📚 Contents

🔥 Features

Category Module Widget Description
Symmetric ciphers atbash.py atbash_widget.py Atbash cipher
scytale.py scytale_widget.py Scytale cipher
polybius_square.py polybius_square_widget.py Polybius square
caesar.py caesar_widget.py Caesar cipher
cardan_grille.py cardan_grille_widget.py Cardan grille
richelieu.py richelieu_widget.py Richelieu cipher
alberti_disc.py alberti_disc_widget.py Alberti cipher
gronsfeld.py gronsfeld_widget.py Gronsfeld cipher
vigenere.py vigenere_widget.py Vigenère cipher
playfair.py playfair_widget.py Playfair cipher
hill.py hill_widget.py Hill cipher
vernam.py vernam_widget.py Vernam cipher
xor.py xor_widget.py XOR cipher
des.py des_widget.py DES cipher
gost.py gost_widget.py GOST 28147-89
Asymmetric ciphers rsa.py rsa_widget.py RSA (cryptosystem)
elgamal.py elgamal_widget.py ElGamal encryption
Crypto tools freqanalysis.py freqanalysis_widget.py Frequency analysis
index_of_coincidence.py ic_widget.py Index of coincidence
autocorrelation.py autocorrelation_widget.py Автокорреляционный метод
kasiski.py kasiski_widget.py Kasiski examination
Cryptographic protocols diffie_hellman.py diffie_hellman_widget.py Diffie–Hellman key exchange
shamir.py shamir_widget.py Трёхэтапный протокол Шамира
PRNGs rc4.py RC4

⚙️ Dependencies

  • python-3.10+
  • PyQt6
  • numpy
  • sympy
  • pyqtgraph
  • scipy

🛠️ Installation

Automatic installer

To install the program, just run this script (via pip):

bash -c "$(curl -fsSL https://raw.githubusercontent.com/vasilypht/crypto-methods/main/install)"

Manual installation

Clone the repository and go to the project folder:

git clone https://github.com/vasilypht/crypto-methods.git
cd crypto-methods

Install via pip

Create and activate the environment:

python3 -m venv venv
source ./venv/bin/activate

Next, update pip and install the required libraries:

pip install -U pip
pip install -r requirements.txt # or "requirements-dev.txt" for development

To activate the virtual environment:

source ./venv/bin/activate

To deactivate the virtual environment:

deactivate

Install via poetry

Create and activate the environment:

poetry shell

Next, install the required libraries:

poetry install --no-dev # or "poetry install" for development

To activate the virtual environment:

poetry shell

To deactivate the virtual environment:

exit

Application launch

Virtual environment must be activated.

To run the application use the following command:

python -m app

🔗 Attribution links

About

Laboratory work on cryptographic methods of information protection 👨‍💻

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages