Мне нужно создать функцию, которая принимает входные данные в виде букв из частотного анализа английского языка «p1» и «p2», а также частотного анализа зашифрованного текста «C1» и «C2», а также длину алфавита я использую "AL".Я создал функцию в Python, чтобы сделать это, но это работает только в некоторых случаях.В других случаях это дает мне ошибку, и я не знаю почему.2 уравнения: s (r + p1) = C1 (mod AL) s (r + p2) = C2 (mod AL)
Код должен вычислять мультипликативный и аддитивный ключи для расшифровки заданногошифр-текст.
Вот мой код - первая функция вычисляет мультипликативное модульное обратное, а вторая функция реализует уравнения.
>>> decryption_keys_affine(5, 20, 9, 26, 26)
7 20
>>>
Он отображает правильные ответы.
Когда я даю это сообщение:
>>> decryption_keys_affine(5, 20, 41, 18, 42)
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
decryption_keys_affine(5, 20, 41, 18, 42)
File "C:\Users\Herman\Desktop\crypto_math_functions.py", line 108, in decryption_keys_affine
r = p8 % AL
TypeError: not all arguments converted during string formatting
Это дает мне эту ошибку, и я не знаю, почему.(Длина алфавита для первого составляет 26, а для второго включает 10 цифр и 6 символов, что делает его 42).