Ir al contenido principal

Entradas

Mostrando entradas de mayo, 2023

Criptografía (CCXLVIII): Ataque de diccionario al cifrado de Vigenère 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 de Vigenère . Pues bien, ahora le toca el turno a un  script para atacar a un criptograma cifrado utilizando este  criptosistema   sin conocer la clave  empleada en el cifrado . El tipo de ataque a reali zar mediante este script se denomina   ataque de diccionario , y con siste en  intentar averiguar la clave probando todas las palabras de un diccionario  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. Lógicamente, la eficacia de este tipo de ataque depend erá  de que la clave empleada en el cifrado sea una palabra y, además, de que ésta se encuentre en el diccionario usado en el ataque . Como diccionario se pueden empl

Criptografía (CCXLVII): Cifrado de Playfair 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 de Playfair . Antes de poner el script, comentar cómo se cifraba y descifraba manualmente . El  cifrado de Playfair   consistía en utilizar una matriz de 5x5 caracteres  que se iba rellenando, de izquierda a derecha y de arriba a abajo,  con las letras de la clave  (eliminando las posibles letras repetidas de la misma)  y se completaba con el resto de las letras del alfabeto  (las que no figurasen en la clave), excluidas la "J" y la "Ñ". Por ejemplo, utilizando la palabra "PLAYFAIR" como clave, obtendríamos la matriz que se muestra a continuación: -  Cifrar : Para  cifrar , para cada par de ca racteres, ya que en este criptosistema se realiza una  sustitución digrá mica, se actuaba de la siguiente forma : - Si ambos caracteres estaban

Criptografía (CCXLVI): Cifrado por transposición columnar doble 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 por   transposición columnar doble . Antes de poner el script, comentar cómo se cifraba y descifraba manualmente . El cifrado por  transposición columnar doble   consiste en realizar dos transposiciones columnares simples  de forma consecutiva (ver el post anterior donde explico el cifrado y descifrado mediante transposición columnar simple e incluyo un script en python para ello), la segunda de ellas empleando o no la misma clave que en la primera . Por tanto, sin mayores explicaciones, pongo el script correspondiente:  -  Script python del cifrado por transposición columnar doble : #!/usr/bin/env python # -*- coding: utf-8 -*- # CIFRADO POR TRANSPOSICIÓN COLUMNAR DOBLE: # # Cifra y descifra textos en claro y criptogramas, respectivamente, # utilizando la transposición columnar doble.

Criptografía (CCXLV): Cifrado por transposición columnar simple 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 por   transposición columnar simple . Antes de poner el script, comentar cómo se cifraba y descifraba manualmente . El cifrado por   transposición columnar simple   se basa en una tabla o matriz cuyo número de columnas viene determinado por el tamaño o longitud de la clave de cifrado . Para  cifrar : el texto en claro se disponía en dicha tabla o matriz, desde la fila situada más arriba hasta la de más abajo, y dentro de cada una de ellas desde la columna ubicada más a la izquierda hasta la de más a la derecha, un carácter debajo de cada letra de la clave. Posteriormente, se ordenaban las columnas conforme al orden alfabético de las letras de la clave (si hay letras repetidas el orden se establecía de izquierda a derecha: primero la columna de una misma letra situada más a la izquierda, de

Criptografía (CCXLIV): La escítala espartana 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 la escítala espartana . Antes de poner el script, comentar cómo se cifraba y descifraba manualmente . El cifrado utilizando la escítala  se basa en sendas varas de grosor igual o similar  que debían estar en posesión del emisor y del receptor del mensaje secreto. Para  cifrar  un mensaje el emisor enrollaba una cinta de cuero en su vara y escribía el mensaje longitudinalmente en la cinta: Después desenrollaba la cinta y se la enviaba al receptor del mensaje. De esta forma el mensaje secreto "ESCITALAEJEMPLODECIFRADO" escrito en una cinta de cuero en la que en cada una de las vueltas de ésta sobre la vara se mostrasen tres filas, al ser desenrollada la cinta se leería:  "EEESJCCEIIMFTPRALALODADO" . Para  des cifrar  un mensaje el receptor enrollaba la cinta de