Skip to content

trigonometr/python_ciphers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

1. Шифрование

./encryptor.py encode --cipher {caesar|vigenere|vernam} --key {number|word} [--input-file input.txt] [--output-file output.txt]

Зашифровать входное сообщение.

Аргументы:

--cipher - тип шифра: caesar (Шифр Цезаря), vigenere (Шифр Виженера), vernam (Шифр Вернама).

--key - ключ шифра. Для шифра Цезаря - число (или буква), соответствующее сдвигу, для шифра Виженера - слово, которое задает сдвиги (написано строчными буквами), аналогично шифр Вернам получает ключ, как слово.

--input-file (необязательный аргумент) - путь ко входному файлу с текстом. Если не указан, текст вводится с клавиатуры.

--output-file (необязательный аргумент) - путь к выходному файлу (файла может не быть, и тогда он создается).  Если не указан, текст выводится в консоль.

2. Дешифрование

./encryptor.py decode --cipher {caesar|vigenere|vernam} --key {number|word} [--input-file input.txt] [--output-file output.txt]

Расшифровать входное сообщение, зная шифр и ключ, с которым оно было зашифровано.

Аргументы:

Аналогичны пункту 1. Шифрование.

3. Взлом

./encryptor.py hack --cipher {caesar|vigenere} [--input-file input.txt] [--output-file output.txt] [--model-file {model}]

Попытаться расшифровать текст. Для шифра Цезаря - частотный анализ. Для Виженера - метод индекса совпадений.

Аргументы:

--input-file (необязательный аргумент) - путь ко входному файлу с текстом. Если не указан, текст вводится с клавиатуры.

--output-file (необязательный аргумент) - путь к выходному файлу (файла может не быть, и тогда он создается).  Если не указан, текст выводится в консоль.

--model-file - путь к файлу модели, которая будет использоваться (для частотного анализа и взлома шифра Цезаря). Этот аргумент необязателен для взлома шифра Виженера.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages