Condi Cipher

En Condi Cipher, la codificación se realiza desplazando una cadena de mensajes de acuerdo con una clave determinada en el texto plano.

Crea una función que reciba tres argumentos, key, shift y message, y devuelva el mensaje codificado.

Existen algunas variaciones en las reglas de cifrado. A continuación se describe una versión de las reglas del cifrado:

message = "on.,"
shift = 10
key = "cryptogram"

condi_cipher(message, key, shift) ➞ "jx.,"

Paso 1: Elimina las letras duplicadas de la clave. Reorganiza las letras de A-Z, de modo que la palabra clave aparezca primero, seguida del resto de las letras en el orden habitual.

c r y p t o g a m b d e f h i j k l n q s u v w x z

Paso 2: Comenzando desde 1, asigna números a las letras:

1  2  3  4  5  6  7  8  9  10 11 12 13
c  r  y  p  t  o  g  a  m  b  d  e  f 
14 15 16 17 18 19 20 21 22 23 24 25 26
h  i  j  k  l  n  q  s  u  v  w  x  z

Paso 3: Reemplaza cada letra del mensaje por la letra correspondiente en la clave modificada, desplazada una cantidad positiva constante shift (si el desplazamiento supera el tamaño de la clave, continúa desde el principio):

   'o' = 'j'
# 'j' is 10 places right to 'o'

Paso 4: Usa la posición de la letra anterior como la cantidad de lugares que debes avanzar para codificar el siguiente número del texto plano. Si acabas de codificar una 'o' (posición 6), y ahora quieres codificar 'n', debes avanzar 6 lugares a la derecha desde 'n', lo que te lleva a 'x'.

   'n' = 'x'
# 'x' is 6 places right to 'n'
# keep other characters in same order

eMessage = "jx.,"

Consulta los siguientes ejemplos para comprenderlo mejor:

Ejemplos

condi_cipher("on.,", "cryptogam", 10) ➞ "jx.,"

condi_cipher("mubashir", "airforce", 6) ➞ "ugrdtfko"

condi_cipher("matt", "edabit", 2) ➞ "opgk"

Notas

N/A