Cifra por substituição arbitrária
Considere a cifra (palavra-chave) constituída pelas letras "SAPO" seguidas de um dígito n (entre 0 e 9). Para a cifragem (codificação)
da mensagem efectuam-se os seguintes passos:
- reduzem-se espaços seguidos a um único espaço e mantém-se os caracteres de pontuação;
- os digitos rodam-se (circularmente) para a direita da quantidade n;
- convertem-se todas as letras em maiúsculas ou minúsculas;
- considera-se a seguinte tabela de codificação:
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
S |
A |
P |
O |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
Q |
R |
T |
U |
V |
W |
X |
Y |
Z |
A construção desta tabela limita-se a colocar a palavra chave no início e completar com as restantes letras do alfabeto, não
colocando as letras que se repetem.
Para a codificação, substitui-se cada um dos carácteres da primeira linha pelo carácter correspondente da segunda linha.
Construa um programa que dada uma cifra, codifique a mensagem, e um outro que, dada a mensagem cifrada e a cifra, descodifique
a mensagem.