Rutas
/
OCaml
OCaml
/
Ejercicios
/
Cifrado Atbash
Cifrado Atbash

Cifrado Atbash

Media

Instrucciones

Crea una implementación del cifrado Atbash, un antiguo sistema de encriptación creado en Oriente Medio.

El cifrado Atbash es un cifrado de sustitución simple que consiste en invertir todas las letras del alfabeto, de modo que el alfabeto resultante quede al revés. La primera letra se sustituye por la última, la segunda por la penúltima, y así sucesivamente.

Un cifrado Atbash para el alfabeto latino sería el siguiente:

Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: zyxwvutsrqponmlkjihgfedcba

Es un cifrado muy débil porque solo tiene una clave posible y es un cifrado de sustitución monoalfabético simple. Sin embargo, es posible que esto no fuera un problema en la época de este cifrado.

El texto cifrado se escribe en grupos de longitud fija, siendo el tamaño de grupo tradicional de 5 letras, dejando los números sin cambios y excluyendo la puntuación. Esto sirve para que sea más difícil adivinar cosas basándose en los límites de las palabras. Todo el texto se codificará como letras minúsculas.

Ejemplos

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

String.lowercase en desuso

Según la versión de OCaml que hayas instalado, el uso de String.lowercase no está bien visto. Desde la versión 4.03.0, String.lowercase está en desuso en favor de String.lowercase_ascii. Así que, en lugar de escribir

String.lowercase "Hello, World!"

usa

String.lowercase_ascii "Hello, World!"

Consulta la documentación de String para ver otras funciones más útiles.


Fuente

WikipediaEl enlace se abre en una nueva ventana o pestaña
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
OCaml Exercism

¿Listo para empezar Cifrado Atbash?

Regístrate en Exercism para aprender y dominar OCaml con 60 ejercicios y mentoría humana real, todo gratis.