Авторы: Лео Мартинес III - LinkedIn
Контакт: [email protected]
Создано: весна 2024 г.
Эта программа Python реализует аффинный шифр, тип шифра замены, для шифрования и дешифрования сообщений. Аффинный шифр использует пару ключей, альфа (a) и бета (b), для преобразования открытого текста в зашифрованный текст и наоборот.
Формула шифрования задается следующим образом: E(x) = (ax + b) mod m, где x — буквенный индекс открытого текста, a и b — ключи, а m — размер алфавита.
Программа обрабатывает нечувствительность к регистру и игнорирует пробелы во входных данных.
Зашифрованный текст генерируется путем преобразования каждой буквы открытого текста с использованием аффинного преобразования.
Формула дешифрования имеет следующий вид: D(y) = (a_inv * (y - b)) mod m, где y — буквенный индекс зашифрованного текста, a_inv — модульный мультипликативный обратный a, b — ключ, а m — размер алфавита.
Подобно шифрованию, программа учитывает регистр и игнорирует пробелы во входных данных.
Программа предлагает пользователю выбрать между шифрованием («e») или дешифрованием («d»).
Пользователи вводят значения альфа (a) и бета (b), гарантируя, что они попадают в допустимый диапазон.
Проверка НОД (наибольшего общего делителя) выполняется для обеспечения правильности ввода.
Примеры значений зашифрованного и открытого текста предоставляются в целях тестирования.
Программа создана в Google Colab с использованием Python 3.9.
Все необходимое, а также дополнительная информация по установке для запуска программы будет содержаться в этой папке.
Вот краткое описание предметов:
src: папка, содержащая исходный код скрипта Python: main.py (используйте этот файл для запуска программы)
README.md: содержит основную информацию о проекте.
ЛИЦЕНЗИЯ: Содержит информацию о лицензии в отношении репозитория Github.
Кроме того, убедитесь, что «математический» Python правильно установлен в вашей виртуальной среде, поскольку метод .gcd() необходим для проверки ошибок и обеспечения целостности расшифровки.