Программа для шифрования, расшифровки и взлома шифра. Поддерживаются:
- шифр Цезаря (шифрование, расшифровка, взлом)
- шифр Виженера (шифрование, расшифровка)
- шифр Вернама (шифрование, расшифрока)
python pycrypt.py {mode} --input_file {input_file} --output_file {output_file} --cypher {cypher} --key {key}
mode -- режим работы:
- encode - шифрование
- decode - расшифровка
cypher -- алгоритм шифрования:
- caesar -- шифр Цезаря
- vigenere -- шифр Виженера
- vernam -- шифр Вернама
input_file -- файл исходного текста, если его не указать, то будет консольный ввод.
output_file -- файл, куда записать текст. Если его не указать, то будет консольный вывод.
key -- ключ шифрования
Если вы хотите обучить программу на своём тексте, то введите:
python pycrypt.py learn --input_file {input_file} --output_file {output_file}
Программа находит самые часто употребляемые слова и вычисляет частоту символов.
python pycrypt.py hack --input_file {input_file} --output_file {output_file} --cypher {cypher} --model {model}
model -- файл, который мы получили в результате обучения
Пока доступен взлом только шифра Цезаря. Реализован взлом подсчётом частот букв (для текстов с не менее 5000 символов), для меньших текстов происходит подсчёт совпадений слов со словарём наиболее употребряемых слов (если в аргументах указали данный файл)
Для запуска тестов введите:
python pycrypt.py test