Skip to main content

Hack del cifrado cesar

Ya vimos cómo es que funciona el cifrado cesar y programamos una función en la cual cifrábamos y des cifrábamos un mensaje, si no has visto la entrada ve aquí: cifrado cesar .

El cifrado cesar no nos da ninguna seguridad ya que como usa como claves las letras del abecedario es muy fácil de romper a través del método de fuerza bruta, el cual consiste en probar todas las claves posibles que en este caso son 26. Cada vez que probamos con una clave de ciframos el mensaje , lo volvemos a cifrar usando la clave que estamos probando y lo comparamos con el mensaje cifrado que nos dio el usuario , si se cumple esta condición se ha encontrado la clave correcta , si no se cumple prueba con la letra siguiente.

Código para romper el cifrado cesar

 

Leer Más

Cifrado de transposición

 

El cifrado por transposición consiste en agrupar los caracteres del mensaje a cifrar dentro de una matriz bidimensional, un carácter en cada índice de la matriz, el segundo paso es leer cada columna por ejemplo para cifrar el mensaje “A quien madruga Dios le ayuda” con una matriz de 5×5, en este caso el 5 sería nuestra clave, nuestra matriz quedaría de la siguiente manera:

A

Q

U

I

E

N

M

A

D

R

U

G

A

D

I

O

S

L

E

A

Y

U

D

A

H

 

El último elemento que esta sombrado es el relleno de la matriz este se genera aleatoriamente.

Ahora leemos cada columna para crear nuestro mensaje cifrado: ANUOY QMGSU UAALD IDDEA ERIAH, para mayor seguridad y complejidad podemos leer las columnas con un determinado orden preestablecido entre las entidades involucradas, por ejemplo leeremos las columnas con el orden 3-5-2-1-4 el mensaje cifrado seria : UAALD ERIAH QMGSU ANUOY IDDEA

Para des cifrar el mensaje lo que haremos es a volver a hacer una tabla para leer las columnas:

A

N

U

O

Y

Q

M

G

S

U

U

A

A

L

D

I

D

D

E

A

E

R

I

A

H

 

Si implementamos algún orden en especial para cifrar el mensaje, para des cifrarlo tenemos que leer las columnas en orden inverso, utilizando el mensaje UAALD ERIAH QMGSU ANUOY IDDEA al invertir el orden quedaría como el original y así podríamos generar la tabla anterior para des cifrar el mensaje.

Recomendaciones

Algunas personas manejan los espacios en blanco con caracteres especiales que al des cifrar el mensaje los sustituyen por los espacios en blanco para hacer más legible el mensaje.

Si nuestro mensaje es más corto que nuestra clave, el mensaje no quedaría cifrado del todo y sería más fácil de romper por ejemplo si nuestro mensaje es “hola amigo” y nuestra clave es 10 la matriz quedaría algo así:

H O L A (s) A M I G O

Como ven este mensaje queda en texto plano es decir que el método no servirá de nada, por eso hay que comprobar que el mensaje sea más grande que nuestra clave.

En este ejemplo use el carácter (s) como un espacio en blanco.

Algoritmo para Cifrar

 

Si quisiéramos cifrar todo un documento realizar el cifrado sería un trabajo titánico sin hablar del des cifrado del mismo, pero no hay que preocuparnos que por eso tenemos las computadoras para que realicen el trabajo tedioso por nosotros, ahora programemos una función para cifrar un mensaje y darle la clave para que genere la matriz.

 

 Código para decifrar

 

 

 

 

 


Leer Más

Cifrado Cesar

El cifrado cesar es un método de cifrado por transposición o desplazamiento, su origen se remonta a la antigua Roma donde julio cesar, de ahí el nombre del algoritmo, lo utilizaba para hacer llegar sus órdenes a sus generales en batalla con el fin de que si el mensaje era interceptado por el enemigo este no pudiera leerlo.

El cifrado funciona desplazando las letras según el numero clave por ejemplo, la letra A se cambiaría por la D si nuestra clave fuera 3, y la B pasaría a ser E y así sucesivamente. Este método de cifrado en la actualidad no provee ningún grado de seguridad ya que es muy fácil de romper, falta observar las letras que se repiten con más frecuencia, por ejemplo en el español la letra E es la más usada por lo tanto si vemos un texto cifrado en el cual se repite muchas veces la letra J podríamos calcular la clave restando el valor de la J menos el valor de la E obteniendo así un 5 , este número seria nuestra clave para poder descifrar el mensaje.

Código para cifrar y descifrar

Ahora que hemos visto un poco de historia veamos como programar una función para cifrar y descifrar mensajes utilizando python, en la parte de abajo les dejo el código comentado.

 

 

Espero que les haya gustado la entrada no olviden compartirla , en futuras entradas publicare más métodos criptográficos.

 

Leer Más