Cifra Atbash

Cifra Atbash

Médio

Instruções

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

A cifra Atbash é uma cifra de substituição simples que consiste em inverter todas as letras do alfabeto, de modo que o alfabeto resultante fica ao contrário. A primeira letra é substituída pela última, a segunda pela penúltima, e assim sucessivamente.

Uma cifra Atbash para o alfabeto latino seria a seguinte:

Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: zyxwvutsrqponmlkjihgfedcba

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

O texto cifrado é escrito em grupos de comprimento fixo, sendo o tamanho tradicional de 5 letras; os números ficam inalterados e a pontuação é excluída. Isto serve para tornar mais difícil adivinhar coisas com base nos limites das palavras. Todo o texto é codificado com letras minúsculas.

Exemplos

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

String.lowercase em desuso

Dependendo da versão do OCaml que instalaste, a utilização de String.lowercase não é bem vista. Desde a versão 4.03.0 que String.lowercase está em desuso, a favor de String.lowercase_ascii. Por isso, em vez de escreveres

String.lowercase "Hello, World!"

usa

String.lowercase_ascii "Hello, World!"

Consulta a documentação de String para conheceres funções mais úteis.


Fonte

WikipediaO link abre numa nova janela ou separador
Editar via GitHub A ligação abre numa nova janela ou separador
OCaml Exercism

Estás pronto para começar Cifra Atbash?

Inscreve-te no Exercism para aprenderes e dominares OCaml com 60 exercícios, e mentoria humana real, tudo grátis.