Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como Cifrado César

Criptografía (CCLXII): Ataque mediante análisis de frecuencias al cifrado César en python

Ya puse una  entrada  con un script en python para cifrar y descifrar textos en claro y criptogramas, respectivamente, utilizando el  cifrado César , y otra  con un script en python para atacar criptogramas cifrados con este  criptosistema   sin saber el desplazamiento empleado 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 con el mínimo esfuerzo, incluso con lápiz y papel, porque el espacio de claves es minúsculo. Pues bien, en este post pongo un script en python para atacar criptogramas cif...

Criptografía (CCLV): Cifrado César en Excel

Ya puse una entrada con un script en python para cifrar y descifrar utilizando el  cifrado César . Y ahora, en este post incluyo el cifrado y descifrado utilizando este mismo criptosistema en Excel . La programación la he realizado con Visual Basic para Aplicaciones (VBA) y, como en los posteriores posts que pondré con la automatización en Ex cel de tareas que ya haya hecho en python, no he pensado en "traducir" directamente el código de un lenguaje a otro, sino que la forma de implementar un mismo asunto puede variar sustancialmente, aunque evidentemente el resultado final pretenda ser el mismo. Asimismo, en estos posts relativos a Excel no entraré en el detalle de los sistemas criptográficos y otros asuntos a implementar, ya que los he explicado profusamente en entradas anteriores, si no que me limitaré a poner el código y un ejemplo de su funcionamiento. Dicho lo anterior, en este caso el código es el siguiente : ' CIFRADO CÉSAR: ' ' Cifra y descifra textos ...

Criptografía (CCXLIII): Ataque de fuerza bruta al cifrado César 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 César . Pues bien, ahora le toca el turno a un script para atacar un criptograma cifrado utilizando este criptosistema sin saber el desplazamiento empleado en el cifrado (típicamente 3, pero este cifrado se puede generalizar para cualquier desplazamiento - hasta 26, del 0 al 25 si se utiliza el alfabeto sin la letra "Ñ", o hasta 27, del 0 al 26, si se incluye la "Ñ") . 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, 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 este ca...

Criptografía (CCXXXIX): Cifrado César 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 César . Antes de poner el script, recordar que en  este post  expliqué cómo se cifraba manualmente e indiqué cuales son las funciones de cifrado y descifrado: E k ( m i ) = ( m i  +  k ) mod n D k ( c i ) = ( c i  -  k ) mod n Donde: k : 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. 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 k  ( m i ) = ( m i  +  k ) mod n Cifrado manua...

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...

Criptografía (CLXXI): Solución Reto TUCTF 2019 "Sonic"

Este fin de s emana me he entretenido participando en un evento CTF de formato ' Jeopardy'  en modalidad 'On-line'   a través de la plataforma  CTFTime . El evento en concreto es TUCTF y se trata de una competición por equipos para desarrollar capacidades en las típicas categorías incluidas en este tipo de eventos: Criptografía, Forense, Web, Reversing, etc. Tal y como vengo diciendo en este humilde blog, una de las categorías que más me gustan de los retos en este tipo de competiciones es la de criptografía, por lo que en este post comienzo con la solución a uno de los retos correspondientes a dicha categoría en la citada competición . El título del reto es "Sonic" y su enunciado es el siguiente : Y en mi opinión presenta un  nivel de dificultad bajo ( ★ ★ ☆ ☆☆ ) . Me conecto y se me muestra un criptograma que se me pide que descifre . El tiempo que se me da para ello es muy corto y como no soy capaz de hacerlo tan rápido como se requiere ense...

Criptografía (XVII): criptología para todos (I)

Como se ha puesto de manifiesto en todos los posts de esta serie, no soy un experto en la materia y mis únicas pretensiones son aprender sobre un tema que me resulta apasionante y contribuir , en la medida que mi capacidad y talento me lo permitan (de verdad, poco en ambos casos), a divulgarlo de una forma comprensible entre aquellas personas que estén interesadas , espero que sin cometer demasiados errores. Antes de continuar con otros posts de esta serie, en los que compartiré lo que voy aprendiendo sobre la criptografía moderna, aunque sin olvidarme de la clásica (ya que en mi opinión su conocimiento es fundamental para entender los criptosistemas modernos), creo que  es necesario sentar ciertas definiciones y conceptos , algunos de lo cuales se han avanzado en los anteriores y serán empleados en los siguientes: -  Criptografía  ( Diccionario RAE ):  ( Del gr.  κρυπτός, oculto,  y  -grafía )  Arte de escribir con clave secreta o de u...