• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Cursos online y materiales digitales para estudiantes y desarrolladores web

  • CURSOS
  • BLOG
  • QUIÉN SOY
  • FAQ
  • ACCEDER
  • CONTACTO

criptografía

Reto: Julio Cesar 007

Publicado el 15/06/2020 por Ada 17 Comments

Julio César 007

Julio César 007

Criptografía

Cifrado César


Acceder al reto en formato vídeo

Nunca hasta ahora habíamos recibido un mensaje de una época tan remota: del siglo I antes de Cristo. ¡Como lo lees! Desde la mismísima Roma, Julio César nos mandó un mensaje escrito en un pergamino que recibimos esta misma mañana.

Al parecer, además de emperador y militar, Julio César hizo sus pinitos con la criptografía. De hecho, ha inventado un sistema de cifrado bastante rudimentario que, fíjate por dónde, ha llegado hasta nuestros días (dos milenios después) bautizado como Cifrado César.

Pues bien, necesita que le hagamos un codificador / decodificador de mensajes porque dice que lo de hacerlo a mano le parece un rollo. Así nos contaba:

Queridos amigos:
Soy Cayo Julio César, emperador romano; pero me podéis llamar César. Desde hace tiempo envío mis mensajes sobre estrategia militar con un método que consiste en lo siguiente: escribo una frase y luego sustituyo cada letra por la letra correspondiente tres espacios más a la derecha. Por ejemplo, ADA lo sustituiría por DGD; y EDU por HGX. Pero cuando los mensajes son largos la codificación es un rollo, y además, hacerlo siempre con un desplazamiento de 3 espacios es poco seguro. Necesito un codificador y decodificador que, a partir de un mensaje y un número de desplazamiento (positivo o negativo) me devuelva el mensaje codificado o decodificado respectivamente. Solo trabajaré con letras mayúsculas, y los símbolos, números y espacios no necesito codificarlos ni decodificarlos. ¿Podríais ayudarme?

¡Bueno! No esperábamos menos de Julio César, que contribuyó a la historia de la criptografía con su sistema de cifrado. Si quieres leer más, te dejo el enlace a la Wikipedia sobre el Cifrado César donde se explica el método y la historia.

Edu, una vez más, contribuyó a que me planteara ciertas cuestiones:

Necesitaremos dos campos: uno para el mensaje y otro para el desplazamiento; y dos botones, para codificar y decodificar, ¿verdad? ¿Vas a hacerlo con un bucle o utilizando lambdas y funciones flecha? ¿Vas a mezclar todo o a crear un método de codificación y otro de decodificación? A este señor se lo cargaron en alguna peli, ¿no?

No lo tenía claro aún, pero alguna de las preguntas de Edu me hicieron plantearme el problema dos veces.

¿Tú cómo lo harías? ¡Deja tus ideas en los comentarios!

Y si quieres compartir código, te recomiendo que utilices alguna herramienta online de testing de código como Codepen, JSFiddle, PlayCode, etc. o repositorios como GitHub, GitLab, BitBucket…

Filed Under: Reto Tagged With: cifrado césar, criptografía, javascript

Footer

Didacticode

Cursos para estudiantes y docentes del mundo de la informática.
Retos: retos resueltos de programación.
Tips&Tricks: trucos y consejos.
Boleticodes: boletines de noticias.
Quiénes somos: Ada, Edu... y Laura.
Contacto¡Contacta conmigo!

Legal

Aviso legal
Política de privacidad
Cookies

Redes Sociales

Youtube
Twitter
Instagram
Facebook
Twitch
LinkedIn
Gitlab
Github

Didacticode © 2026

¡Cómo no! Este sitio también utiliza cookies para mejorar la experiencia de tu visita.

Puedes informarte más sobre qué cookies estamos utilizando o desactivarlas en los .

Resumen de privacidad
Didacticode

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.