Мультипликативный шифр

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

Если умножение используется для преобразования в зашифрованный текст, это называется wrap-aroundситуация. Учтите, что буквы и соответствующие цифры будут использоваться, как показано ниже -

Числа будут использоваться для процедуры умножения, а соответствующий ключ равен 7. Основная формула, которая будет использоваться в таком сценарии для генерации мультипликативного шифра, выглядит следующим образом:

(Alphabet Number * key)mod(total number of alphabets)

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

Основная функция модуляции мультипликативного шифра в Python следующая:

def unshift(key, ch):
   offset = ord(ch) - ASC_A
   return chr(((key[0] * (offset + key[1])) % WIDTH) + ASC_A)

Note- Преимущество мультипликативного шифра в том, что он может работать с очень большими ключами, такими как 8 953 851. Компьютеру потребуется довольно много времени, чтобы перебрать большинство из девяти миллионов ключей.