Skip to content

baronovM/Encryptor

Repository files navigation

Encryptor

Шифрование и дешифрование файлов шифрами Цезаря, Виженера и Вернама, а также автоматический взлом шифра Цезаря методами частотного анализа.

Использование

Чтобы получить краткую инструкцию, нужно передать один аргумент -h или --help

При вызове необходимо передать:

  • Команду, то есть выбрать один из трёх возможных вариантов действия программы:
    • e: Зашифровать файл
    • d: Расшифровать
    • c: Взломать шифр (сейчас доступно только для шифра Цезаря)
  • Тип шифра
    • Caesar
    • Vigenere
    • Vernam
  • Название входного файла
  • Название файла для результата
  • Информацию о ключе: нужно написать -k или --key и после этого написать сам ключ (опционально)

Шифр Цезаря

При шифровании и расшифровывании в качестве ключа нужно передать целое число от 0 до 255, по умолчанию сгенерируется подходящее случайное число, после шифрования ключ выводится в консоль

При взломе ключ передавать не нужно, после взлома результат будет записан в указанный файл, а ключ выведется в консоль.

Шифр Виженера

При шифровании и расшифровывании в качестве ключа нужно передать слово без пробелов, запятых и кавычек, по умолчанию используется слово "password", после шифрования ключ выводится в консоль.

Шифр Вернама

Ключ генерируется случайно при каждом шифровании и записывается в файл с названием, указанным после -k в качестве ключа, по умолчанию в файл "key", при расшифровке ключ берется из файла с названием, указанным в качестве ключа, по умолчанию "key".

Примеры

Покрытие тестами

Чтобы просмотреть сгенерированный coverage.py интерактивный отчёт по покрытию тестами, откройте htmlcov/index.html

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages