|
| 1 | +# Cifrado César |
| 2 | + |
| 3 | +El cifrado César es un cifrado simple y uno de los algoritmos de cifrado más conocidos. Es muy simple de cifrar, descifrar e interceptar. El cifrado César es un cifrado de sustitución donde cada letra del texto sin formato (texto decodificado) se sustituye por una letra un cierto número de espacios a la derecha de la letra en el alfabeto (La cantidad de espacios se denomina clave o cambio y solo es conocida por el remitente y el receptor previsto). |
| 4 | + |
| 5 | +**Descargo de responsabilidad: ¡No intente cifrar datos personales o mensajes serios con este cifrado! ¡Sólo se tarda medio segundo en ser crackeado por un ordenador!** |
| 6 | + |
| 7 | +1. Se necesita una cantidad muy pequeña de tiempo para codificar y decodificar mensajes (Menos de un segundo, por lo general). |
| 8 | +2. No existen aplicaciones reales para el cifrado, ya que es el más inseguro por ahí. |
| 9 | +3. Este cifrado fue inventado por Julio César como una forma de enviar mensajes de gran importancia militar. |
| 10 | + |
| 11 | +## Pasos |
| 12 | + |
| 13 | +### Cifrado |
| 14 | + |
| 15 | +1. Elija el alfabeto que va a utilizar. |
| 16 | +2. Elija una clave secreta (turno) que va a utilizar en este caso `n`. |
| 17 | +3. Por cada letra del texto sin formato, sustitúyala por una letra del alfabeto que esté `n` letras alejadas de la letra. (Por ejemplo: para una clave de «1», «a» se convertiría en «b», «z» se convertiría en «a», etc.) |
| 18 | +4. El mensaje ahora debe codificarse. |
| 19 | + |
| 20 | +### Descifrado |
| 21 | + |
| 22 | +1. Elija el alfabeto con el que se cifró el mensaje. |
| 23 | +2. Deje que `n` sea la clave secreta en la que se codifica el mensaje. |
| 24 | +3. Por cada letra del texto cifrado, sustitúyala por una letra del alfabeto que esté `n` letras detrás en el alfabeto de la letra. |
| 25 | +`c` sería `b`, `a` sería `z` con una llave de `1`. |
| 26 | +4. El mensaje ahora debe ser decodificado |
| 27 | + |
| 28 | +## Ejemplo |
| 29 | + |
| 30 | +### Un ejemplo de cifrado |
| 31 | + |
| 32 | +Digamos que estamos enviando un mensaje secreto a un amigo. |
| 33 | + |
| 34 | +* Primero escribimos nuestro mensaje. En este caso: `El cifrado César es un divertido cifrado de sustitución` |
| 35 | +* Nuestro alfabeto será: `abcdefghijklmnopqrstuvwxyz`. Para los usos de este tutorial, el caso no importa. (En un cambio de «1»: «A» se convertirá en «B», `a` se convertirá en «b») |
| 36 | +* Deje que nuestra llave sea 6. |
| 37 | +* Comenzando con la primera letra: `T`. La letra a 6 letras de distancia es `Z`. Añadimos `Z` al mensaje. |
| 38 | +* La segunda letra es `h`. La letra a 6 letras de distancia es `n`. Nuestro mensaje ahora es `Zn` |
| 39 | +* Seguimos así hasta el final. Nuestro mensaje final es: `Znk Igkygx iovnkx oy g lat yahyzozazout iovnkx.` |
| 40 | +* El descifrado es de la misma manera, excepto que en lugar de ir a la derecha en el alfabeto, vamos hacia atrás. |
| 41 | + |
| 42 | +## Implementación |
| 43 | + |
| 44 | +* [Python](https://github.com/TheAlgorithms/Python/blob/master/ciphers/caesar_cipher.py) |
| 45 | +* [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/ciphers/caesar_cipher.cpp) |
| 46 | +* [Rust](https://github.com/TheAlgorithms/Rust/blob/master/src/ciphers/caesar.rs) |
0 commit comments