Introduccion a la Criptografia (Cifrado Cesar)
Desde que mi padre me regalo un libro para niños llamado “Como hacer de Espías” en donde se describían varios métodos criptográficos me apasione por el tema.
Uno de los métodos mas simples es el llamado cifrado César, también conocido como cifrado por desplazamiento, código de César o desplazamiento de César. El cifrado César recibe su nombre en honor a Julio César, que, según Suetonio, lo usó con un desplazamiento de tres espacios para proteger sus mensajes importantes de contenido militar.
El método consiste en un mecanismo muy simple que solo sustituye cada carácter o letra del mensaje original por otro carácter producto desplazar en una base alfabética un puntero desde la posición del carácter original mas una constante.
En esta imagen podemos ver que por ejemplo la letra B sera sustituida por la E, por lo tanto podemos decir que la constante es 3 y ese 3 es la clave de cifrado siendo la clave de descifrado -3.
Hice un programa simple que implementa este método usando como base alfabética en código ASCII.
Esta escrito en C.
#include <iostream>
#include <string.h>
#define MAX 128
using namespace std;
int main()
{
int clave;
char cifrado[MAX]="",cadena[MAX];
cout << "Introduce la cadena a cifrar: ";
cin.getline(cadena, MAX);
cout << "Introduce la clave de desplazamiento (número): ";
cin >> clave;
for (int i=0;i<strlen(cadena);i++)
(int(cadena)==32) ? cifrado=cadena : (int(cadena)+clave>122) ? cifrado = cadena+clave-26 : cifrado = cadena+clave;
cout << "cadena cifrada: " << cifrado;
return 0;
}
Como se ve es muy simple, luego de solicitar el ingreso del texto a cifrar (haste 128 letras) y la clave procesa la cadena letra a letra, lo primero que verifica es si se trata de un caracter de espacio, si es asi no modifica, luego verifica si el procesamiento devuelve un carácter fuera del alfabeto base si es así suma el desplazamiento y luego resta 26 para reciclar el alfabeto base sino simplemente suma la clave.
Listo desde ahi ustedes con un poco de conocimiento y experiencia, pueden empezar a hacer sus propias encriptaciones, jeje.
Espero les guste y aprendan mas sobre encriptacion que es un tema muy interesante.
Recuerden, apoyen el software libre, y espero sus comentarios
Siganme y los sigo: