Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Cifrado afín

Criptografía (CCLXIII): Ataque mediante análisis de frecuencias al cifrado afín en python

Ya puse una  entrada  con un script en python para cifrar y descifrar textos en claro y criptogramas, respectivamente, utilizando el  cifrado afín , y  otra  con un script en python para atacar criptogramas cifrados con este  criptosistema   sin saber   ni la constante de decimación ni la de desplazamiento empleadas en el cifrado . El script que puse en el segundo de los citados posts utilizaba un tipo de ataque denominado  ataque de fuerza bruta , que consiste en probar todas las posibles claves (en este caso, desplazamientos) hasta encontrar aquella que se utilizó en el cifrado, es decir, aquella cuya aplicación en el descifrado del criptograma produzca un texto en claro inteligible; lo que en el caso de este criptosistema,  recorrer el espacio de claves hasta encontrar la clave correcta, es perfectamente posible realizar  porque, aunque el espacio de claves es muy superior al del  cifrado César , es una tarea que queda al al...

Criptografía (CCL): Ataque de fuerza bruta al cifrado afín en python

Continúo poniendo scripts de programación en python para automatizar tareas que tengan relación con la  criptografía . Ya puse una  entrada  con un script en python para cifrar y descifrar textos en claro y criptogramas, respectivamente, utilizando el cifrado afín .  Pues bien, ahora le toca el turno a un  script para atacar un criptograma cifrado utilizando este  criptosistema   sin saber ni la constante de decimación ni la de desplazamiento empleadas en el cifrado . El tipo de ataque a reali zar mediante este script se denomina   ataque de fuerza bruta , y consiste en probar todas las posibles claves (en este caso, la constante de decimación y la constante de desplazamiento) hasta encontrar aquella que se utilizó en el cifrado, es decir, aquella cuya aplicación en el descifrado del criptograma produzca un texto en claro inteligible; lo que en este caso,  recorrer el espacio de claves hasta encontrar la clave correcta, es perfectamente facti...

Criptografía (CCXLIX): Cifrado afín en python

Continúo poniendo scripts de programación en python para automatizar tareas que tengan relación con la  criptografía . En este post incluyo y comento un  script en python para el cifrado y descifrado utilizando el   cifrado afín . Antes de poner el script, indicar cuales son las funciones de cifrado y descifrado: E a,b ( m i ) = ( a *  m i  +  b ) mod n D a,b (c i ) = ( a -1   ( c i  - b) ) mod n Donde: a : constante de decimación. b : constante de desplazamiento. E : función de cifrado. m i : carácter i-ésimo del mensaje o texto en claro a cifrar. D : función de descifrado. c i : carácter i-ésimo del criptograma o texto cifrado. a -1 : inverso modular o multiplicativo de a. n : tamaño del alfabeto. En el script ambas funciones se implementan de la siguiente manera  (pongo como ejemplos el cifrado y descifrado que veremos después al ejecutar el script): -  Cifrar : La  función de cifrado  es: E a,b ( m i ) = ( a  *...

Criptografía (CLXXII): Solución Reto TUCTF 2019 "Warren"

En este post la  solución a otro de los retos correspondientes a la categoría de criptografía  de TUCTF 2019, competición tipo CTF de formato  ' Jeopardy' , en modalidad  'On-line'  y por equipos. En este reto, al igual que en aquel al que se hace referencia en el post anterior que sobre dicho evento he puesto en este blog, se ve involucrada la criptografía clásica ; en este caso cinco criptosistemas, en concreto: cifrado Afín , Bacon , César , Atbash y Vigenère , los cuatro primeros de sustitución simple monoalfabética y el último de sustitución simple polialfabética. En mi opinión este reto presenta un  nivel de dificultad muy bajo ( ★ ☆☆ ☆☆ ) . El título del reto es "Warren" y su enunciado es el siguiente : Me conecto , se me da la bienvenida y se me informa de que debo resolver todos los criptogramas para que se me proporcione la flag . El tiempo límite para ello es de 90 segundos : En el Menú que se muestra (ver figura siguiente) h...