Pergunta

Me deparei com esta pergunta:

Você recebe uma cifra de permutação definida pela bijeção t:N -> N onde,

t(i) = i + 10, for i < 10,
t(i) = i - 10, for 10 <= i <= 20, and
t(i) = i, for i > 20.

Suponha que o primeiro índice seja 0, dada uma mensagem m = 'OLÁ MUNDO E ESTA É UMA MENSAGEM SECRETA', qual é o texto cifrado c?

Onde a resposta foi a seguinte:

D AND THISHELLO WORL IS A SECRET MESSAGE

mas não entendo como.Agora é isso que obtemos se a mensagem for soletrada na diagonal para baixo e para cima sobre várias linhas e depois leia a linha a linha.

Foi útil?

Solução

Basta aplicar a permutação fornecida na string.

Sua sequência é:'OLÁ MUNDO E ESTA É UMA MENSAGEM SECRETA'.

Agora, para aplicar a permutação dada, temos que deslocar os primeiros 10 caracteres para a direita em 10 unidades e os próximos 10 caracteres para a esquerda em 10 unidades, deixando o resto igual.Observe que você também precisa contar os espaços.

Outras dicas

Deixe a mensagem original ser $m$ e deixe o texto cifrado ser $c$.Então$$ c_i = m_ {t (i)}.$$(Ou talvez seja o contrário.Para nós $t$ isso não importa, já que é uma involução.)

Se você aplicar essa transformação à mensagem fornecida, obterá o texto cifrado fornecido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a cs.stackexchange
scroll top