Trilhas
/
OCaml
OCaml
/
Exercícios
/
Cifra Atbash
Cifra Atbash

Cifra Atbash

Médio

Instruções

Crie uma implementação da cifra Atbash, um antigo sistema de criptografia criado no Oriente Médio.

A cifra Atbash é uma cifra de substituição simples que se baseia em inverter todas as letras do alfabeto, de modo que o alfabeto resultante fique de trás para frente. A primeira letra é substituída pela última, a segunda pela penúltima, e assim por diante.

Uma cifra Atbash para o alfabeto latino seria assim:

Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: zyxwvutsrqponmlkjihgfedcba

É uma cifra muito fraca, porque tem apenas uma chave possível e é uma cifra de substituição monoalfabética simples. No entanto, isso pode não ter sido um problema na época da cifra.

O texto cifrado é escrito em grupos de comprimento fixo, sendo o tamanho tradicional do grupo 5 letras, deixando os números inalterados, e a pontuação é excluída. Isso serve para dificultar a adivinhação com base nos limites das palavras. Todo o texto será codificado em letras minúsculas.

Exemplos

  • Codificar test dá gvhg
  • Codificar x123 yes dá c123b vh
  • Decodificar gvhg dá test
  • Decodificar gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt dá thequickbrownfoxjumpsoverthelazydog

Descontinuação de String.lowercase

Dependendo da versão de OCaml que você instalou, o uso de String.lowercase não é bem visto. Desde a versão 4.03.0, String.lowercase está obsoleto em favor de String.lowercase_ascii. Então, em vez de escrever

String.lowercase "Hello, World!"

use

String.lowercase_ascii "Hello, World!"

Consulte a documentação de String para ver outras funções úteis.


Fonte

WikipediaO link abre em uma nova janela ou aba
Editar via GitHub O link abre em uma nova janela ou aba
OCaml Exercism

Tudo pronto para começar Cifra Atbash?

Crie sua conta no Exercism para aprender e dominar OCaml com 60 exercícios e mentoria humana de verdade, tudo de graça.