Un cifrado César es una de las técnicas de cifrado más simples y conocidas.
Lleva el nombre de Julio César, es uno de los tipos de cifrados más antiguos y se basa en el cifrado monoalfabético más simple. Se considera un método débil de criptografía, ya que es fácil decodificar el mensaje debido a sus técnicas de seguridad mínimas.
Por la misma razón, un cifrado César a menudo se incorpora solo en partes de otros esquemas de cifrado complejos.
En criptografía, un cifrado César se clasifica como un cifrado por sustitución en el que el alfabeto en el texto plano se desplaza por un número fijo en el alfabeto.
Las ventajas de usar un cifrado César incluyen:
- Uno de los métodos más fáciles de usar en criptografía y puede proporcionar una seguridad mínima a la información.
- Uso de solo una tecla breve en todo el proceso
- Uno de los mejores métodos para usar si el sistema no puede usar ninguna técnica de codificación complicada
- Requiere pocos recursos informáticos
Las desventajas de usar un cifrado César incluyen:
- Uso de estructura simple
- Solo puede proporcionar seguridad mínima a la información
- La frecuencia del patrón de letras proporciona una gran pista para descifrar el mensaje completo.
Origen e historia
El gobernante romano Julio César (100 a. C. – 44 a. C.) utilizó un cifrado muy simple para la comunicación secreta. Sustituyó cada letra del alfabeto con una letra tres posiciones más adelante. Más tarde, cualquier cifrado que utilizara este concepto de «desplazamiento» para la creación de un alfabeto cifrado, se denominó cifrado César.
En el siglo XIX, la sección de anuncios personales en los periódicos a veces se usaba para intercambiar mensajes encriptados usando esquemas de cifrado simples. Kahn (1967) describe casos de amantes que participan en comunicaciones secretas cifradas utilizando el cifrado César en The Times.
Incluso ya en 1915, el cifrado César estaba en uso: el ejército ruso lo empleó como reemplazo de cifrados más complicados que habían resultado demasiado difíciles de dominar por sus tropas; Los criptoanalistas alemanes y austriacos tuvieron pocas dificultades para descifrar sus mensajes.
De todos los cifrados de tipo de sustitución, este cifrado de César es el más simple de resolver, ya que solo hay 25 combinaciones posibles.
A menudo, este tipo de cifrado se implementa en un dispositivo de rueda. Un disco o rueda tiene el alfabeto impreso y luego se monta un disco o rueda más pequeño y móvil con el mismo alfabeto impreso formando una rueda interior. La rueda interior se puede girar para que cualquier letra de una rueda se pueda alinear con cualquier letra de la otra rueda.
Por ejemplo, si la rueda interna gira para que la letra M se coloque debajo de la letra A en la rueda externa, el cifrado César tendrá un desplazamiento de 12. Para cifrar la letra P, ubícala en la rueda externa y luego escribe hacia abajo la letra correspondiente de la rueda interior, que en este caso es B. Lo mismo se puede lograr colocando alfabetos en dos pedazos de papel y deslizándolos hacia adelante y hacia atrás para crear un desplazamiento.
Algunos tipos de cifrado César online
Existe varios tipos de cifrado César que vamos a ver a continuación:
ROT5
Los algoritmos ROT son simples cifras de desplazamiento. No están diseñados para proporcionar seguridad criptográfica, sino para proporcionar un medio fácil para ocultar fragmentos de texto, como mensajes publicados en un foro en línea.
Por ejemplo, deseas publicar la solución de un rompecabezas. Con respecto a los lectores que desean resolver el rompecabezas por su cuenta, debes revelar la solución solo codificada por ROT. Por eso, se garantiza que aquellos lectores que hayan elegido (accidentalmente) leer tu mensaje no encontrarán la solución.
Los cuatro algoritmos ROT ROT5, ROT13, ROT18 y ROT47 varían en los caracteres que se pueden codificar / decodificar:
ROT5 cubre los números 0-9.
ROT13
Es un esquema simple de encriptación de sustitución de letras. Funciona reemplazando las letras inglesas actuales en un mensaje con aquellas que están 13 posiciones adelante en el alfabeto. Por ejemplo, la letra a se reemplaza por n , b por o , c por p , etc. Los números y la puntuación no están codificados.
Puedes encontrar publicaciones de grupos de noticias codificadas por rot-13. A veces se usa para ocultar material ofensivo de la vista accidental. A menos que elijas decodificarlo, el mensaje solo aparecerá como un montón de galimatías (como » GBB ZNAL FRPERGF «).
La codificación Rot-13 también se puede utilizar para otros fines. Los chistes y las discusiones que revelan el final de una película a veces se codifican para que no se pueda leer por accidente. Una ventaja importante de ROT13 es que es autoinverso, por lo que se puede usar el mismo código para codificar y decodificar.
ROT47
El ROT47 (cifrado César por 47 caracteres) es un cifrado simple de sustitución de caracteres que reemplaza un carácter dentro del rango ASCII con el carácter 47 después de él (rotación) en la tabla ASCII. Es un algoritmo invertible, es decir, la aplicación del mismo algoritmo a la entrada dos veces obtendrá el texto de origen.
ROT47 es un derivado de ROT13. Introduce letras y símbolos mixtos, por lo tanto, el texto codificado parece más obvio que el texto ha sido cifrado.
El lenguaje de programación moderno puede implementar fácilmente el ROT47 de muchas maneras, por ejemplo, usando una tabla de búsqueda.
César 4
El cifrado César 4 consiste en algo tan sencillo como sustituir un carácter por el carácter situado cuatro posiciones después en el alfabeto.
Este cifrado es muy poco seguro, pues basta con probar a cambiar cada letra por la situada cuatro posiciones antes para descifrar el texto.
César 9
Este tipo de cifrado sigue las mismas reglas del cifrado César y se sustituye cada letra por la que se encuentra nueve posiciones más adelante en el alfabeto.
¿Cómo descifrar el cifrado César?
El código César, aunque razonablemente efectivo en su apogeo romano, es ahora uno de los códigos criptográficos más fáciles de descifrar. Romper un cifrado César generalmente sigue uno de tres escenarios dependiendo de la cantidad de conocimiento que tenga el criptoanalista atacante:
- Sabe que el cifrado es un cifrado César.
- Sabe que el cifrado es un cifrado de sustitución, pero no un cifrado César.
- Desconoce por completo el tipo de cifrado al que se enfrentan.
En todos los escenarios propuestos, suponiendo que el cifrado se base en un cambio numérico simple, el código se puede descifrar fácilmente usando un ataque de fuerza bruta (probando todos los cambios posibles y determinando cuál funciona). Si consideramos un cifrado César con clave, las cosas se vuelven considerablemente más difíciles, aunque aún relativamente fáciles de descifrar. En este caso, hay dos métodos principales para descifrar el código:
Un método es crear una lista de palabras que podrían ser la posible frase clave e intentar un ataque de fuerza bruta.
Otro método es emplear análisis de frecuencia. Este es el método estándar para romper cualquier cifrado de sustitución. Las letras más comunes en el alfabeto inglés son E y T, por lo que probablemente estén representadas por las letras más comunes en el cifrado.
Otros métodos de encriptación por sustitución
En un cifrado de sustitución, cualquier carácter de texto sin formato del conjunto fijo de caracteres dado se sustituye por algún otro carácter del mismo conjunto, dependiendo de una clave. Por ejemplo, con un cambio de 1, A sería reemplazado por B, B se convertiría en C, y así sucesivamente.
Aparte del cifrado César, existen otros métodos de encriptación por sustitución que vamos a analizar.
Cifrado de Vigenere
Vigenere es un método para cifrar texto alfabético. Utiliza una forma simple de sustitución polialfabética. Un cifrado polialfabético es cualquier cifrado basado en la sustitución, utilizando alfabetos de sustitución múltiple. El cifrado del texto original se realiza utilizando el cuadrado de Vigenère o la tabla de Vigenère .
La tabla consiste en los alfabetos escritos 26 veces en diferentes filas, cada alfabeto desplazado cíclicamente a la izquierda en comparación con el alfabeto anterior, correspondiente a los 26 posibles Cifrados César.
En diferentes puntos del proceso de encriptación, el cifrado usa un alfabeto diferente de una de las filas. El alfabeto utilizado en cada punto depende de una palabra clave repetitiva.
El descifrado se realiza yendo a la fila de la tabla correspondiente a la clave, encontrando la posición de la letra del texto cifrado en esta fila y luego usando la etiqueta de la columna como texto sin formato.
Cifrado de Vernam
El cifrado de Vernam es un método para encriptar texto alfabético. Es simplemente un tipo de cifrado de sustitución. En este mecanismo asignamos un número a cada carácter del Texto sin formato, como (a = 0, b = 1, c = 2,… z = 25).
En el algoritmo de cifrado de Vernam, tomamos una clave para cifrar el texto sin formato cuya longitud debe ser igual a la longitud del texto sin formato.
Algoritmo de cifrado:
- Asigna un número a cada carácter del texto plano y la clave según el orden alfabético.
- Agrega tanto el número (número de caracteres de texto plano correspondiente como número de caracteres clave).
- Resta el número de 26 si el número agregado es mayor que 26, si no lo es, déjalo.
Para el descifrado, aplica el proceso inverso de cifrado.
Aplicación del cifrado del César en Java
Estos son los pasos para aplicar el cifrado César en Java:
- Asignación de texto sin formato. Comenzamos esto representando o transformando cada letra en números, por lo tanto, los alfabetos se asignarán a los números a partir de 0, por ejemplo, A = 0, B = 1,. . . . . , Z = 25.
- Cifrado y obtención de texto cifrado: Para cifrar el texto sin formato o el mensaje, agregamos el cambio, tomado como entrada del usuario a la representación mapeada de la letra extraída en el Paso 1. Repetimos esto a través del texto de entrada y repetimos el Paso 2 para cada alfabeto del texto para obtener el texto cifrado.
- Descifrar y obtener nuestro texto original: Ahora, para descifrarlo, seguimos el mismo algoritmo, pero a la inversa, como lo discutimos antes, aquí restaremos el cambio de la representación obtenida en el Paso 2 para recuperar nuestro texto original.
¿Sigue siendo efectivo este sistema de encriptación?
Uno de los principales problemas de seguridad de los cifrados de sustitución es que retienen las distribuciones de caracteres del texto subyacente. En inglés, E es la letra más utilizada; por lo tanto, en una muestra suficientemente grande de texto en inglés, es probable que la letra que aparece con más frecuencia en el texto sea la letra E.
Dado que los cifrados de sustitución crean un mapeo uno a uno entre letras de texto sin formato y letras de texto cifrado, identificando la letra más común en un texto cifrado (que se sabe que está en inglés) probablemente revelará la letra a la que E se asigna en el cifrado.
El descifrado de un cifrado de sustitución general mediante el análisis de frecuencia requiere más trabajo que un cifrado por desplazamiento, ya que la asignación de texto sin formato a texto cifrado debe descubrirse para cada letra utilizada en el mensaje. Para esto, es útil una tabla de las frecuencias de uso de varias letras en inglés.
Mediante el uso de una combinación de pistas contextuales e información de frecuencia, los cifrados de sustitución se pueden romper fácilmente a través del análisis de frecuencia.
Por eso, hoy en día el cifrado César no tiene la suficiente eficacia para cifrar textos secretos ya que, con la tecnología actual, llevaría pocos minutos descifrar ese texto.
Escribe aquí tu comentario