Condi Cipher

No Condi Cipher, a codificação é feita deslocando uma sequência de mensagens de acordo com uma determinada chave no texto claro.

Crie uma função que receba três argumentos, key, shift e message, e retorne a mensagem codificada.

Há algumas variações nas regras de cifragem. Uma versão das regras da cifra é apresentada abaixo:

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

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

Etapa 1: Remova as letras duplicadas da chave. Reorganize as letras de A-Z, de modo que a palavra-chave apareça primeiro, seguida pelo restante das letras na ordem usual.

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

Etapa 2: Começando em 1, atribua números às 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

Etapa 3: Substitua cada letra da mensagem pela letra correspondente na chave modificada, deslocada por um número positivo constante shift (se o deslocamento ultrapassar o tamanho da chave, ele continua a partir do início):

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

Etapa 4: Use a posição da letra anterior como o número de posições a avançar para codificar o próximo número do texto claro. Se você acabou de codificar um 'o' (posição 6) e agora quer codificar 'n', deve avançar 6 posições para a direita a partir de 'n', chegando a 'x'.

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

eMessage = "jx.,"

Veja os exemplos abaixo para entender melhor:

Exemplos

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

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

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

Observações

N/A