Cifrado multiplicativo

Mientras se utiliza la técnica de cifrado César, cifrar y descifrar símbolos implica convertir los valores en números con un procedimiento básico simple de suma o resta.

Si se usa la multiplicación para convertir a texto cifrado, se llama wrap-aroundsituación. Considere las letras y los números asociados que se utilizarán como se muestra a continuación:

Los números se utilizarán para el procedimiento de multiplicación y la clave asociada es 7. La fórmula básica que se utilizará en tal escenario para generar un cifrado multiplicativo es la siguiente:

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

El número obtenido a través de la salida se asigna en la tabla mencionada anteriormente y la letra correspondiente se toma como la letra cifrada.

La función de modulación básica de un cifrado multiplicativo en Python es la siguiente:

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

Note- La ventaja de un cifrado multiplicativo es que puede funcionar con claves muy grandes como 8,953,851. Una computadora tardaría bastante tiempo en utilizar la fuerza bruta a través de una mayoría de nueve millones de claves.