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.