porotos

porotos

de Luis Marrone -
Número de respuestas: 7

Estimad@s,

El desafío es criptoanalizar el texto cifrado que está en el archivo de la sección de porotos extra. El texto se ha cifrado según Vignère con la clave indicada en la misma sección. Considerar alfabeto castellano de 27 letras

Los dos primeros envíos con resultado exitoso se adjudicarán dos porotos de influencia significativa en la nota final o en la cursada en caso de emergencia.

Deberán enviar en esta entrada del foro el texto plano resultado del criptoanálisis y detalle de lo realizado. 

El trabajo es individual


En respuesta a Luis Marrone

Re: porotos

de Agustin Leonardo Cao -

La solución consiste en utilizar un mapa de Vignère similar al siguiente:

mapa español

Mediante dicho mapa, uno puede realizar un mapeo a partir de la clave y el mensaje encriptado. El proceso consiste en superponer los textos, repitiendo la clave a medida que se avanza sobre el mensaje. 

La letra que correspondiente a la clave indica que fila debe utilizarse. Luego se busca la letra del mensaje encriptado en dicha fila, y se busca a que columna pertenece. La letra que da nombre a la columna es la letra que pertenece al mensaje en dicha posición. 

Por ejemplo, el mensaje encriptado AJCI, con una clave igual a TURING, se debe realizar

encriptado    A J C I

clave            T U R I

mensaje      H O L A

Para acortar tiempos, armé un script en Python con un mapa que solo contiene las filas que nos interesan. El mismo se encuentra adjunto al menaje.

Sin más preámbulos, el mensaje desencriptado es:

LAPROPIAMOVILIDADEXIGEDOSPROPIEDADESQUECARACTERIZANELSERVICIOPRESTADOYQUESUELENCONFUNDIRSECONBASTANTEFRECUENCIAELLASSONPORTABILIDADPODERCONECTARSEADIFERENTESREDESTENERELACCESOALASMISMASDISPONIBLEMOVILIDADMIENTRASELUSUARIOSETRASLADEDEUNAREDAOTRALACONEXIONDEBEMANTENERSEDICHODEOTROMODOELTRASLADODELUSUARIODEUNAREDAOTRADEBERESULTARTRANSPARENTEALAAPLICACIONCONEXIONENCURSO

Separado de forma legible, sería: 

LA PROPIA MOVILIDAD EXIGE DOS PROPIEDADES QUE CARACTERIZAN EL SERVICIO PRESTADO Y QUE SUELEN CONFUNDIRSE CON BASTANTE 

FRECUENCIA ELLAS SON PORTABILIDAD PODER CONECTARSE A DIFERENTES REDES TENER EL ACCESO A LAS MISMAS DISPONIBLE MOVILIDAD 

MIENTRAS EL USUARIO SE TRASLADE DE UNA RED A OTRA LA CONEXION DEBE MANTENERSE DICHO DE OTRO MODO EL TRASLADO 

DEL USUARIO DE UNA RED A OTRA DEBE RESULTAR TRANSPARENTE A LA APLICACION CONEXION EN CURSO

En respuesta a Luis Marrone

Re: porotos

de MANUEL IGNACIO BORRAJO -
Basandome en la clase de hoy ( debo haberla entendido mal ).
Yo planteé lo siguiente:  
con las letras de la A=0 a la Z=26.  convertí la clave TURING en una lista de desplazamientos.
El procedimiento fue el siguiente: 
A cada letra del mensaje le obtenía la posición en el alfabeto. 
A este numero le sumaba la posición de la letra de la clave correspondiente.
a esta suma le hacia mod 27 y buscaba su letra en el alfabeto.
EDITADO: me faltaba restarle la longitud del alfabeto

EN RESUMEN: 
Usaba la misma letra como desplazamiento en vez de tener un alfabeto por cada letra de la clave.

Igual comparto el código que hice.

EDITADO:  me quedé pensando en que como las tablas estaban desplazadas la posición del carácter de la clave. lo que había hecho en primer lugar funcionaba bien, solamente tenia que restarle la longitud del alfabeto para conseguir el desplazamiento relativo a la tabla. de esta forma se evita almacenar en memoria 27 tablas y se reemplazan simplemente por usa resta. dejando así un algoritmo que es independiente del alfabeto que use. Sé que no estábamos evaluando algoritmos pero no puedo con mi genio.

LA PROPIA MOVILIDAD EXIGE DOS PROPIEDADES QUE CARACTERIZAN EL SERVICIO PRESTADO Y QUE SUELEN CONFUNDIRSE CON BASTANTE FRECUENCIA ELLAS SON;
PORTABILIDAD: PODER CONECTARSE A DIFERENTES REDES, TENER EL ACCESO A LAS MISMAS,
DISPONIBLE: MOVILIDAD MIENTRAS EL USUARIO SE TRASLADE DE UNA RED A OTRA. LA CONEXION DEBE MANTENERSE; DICHO DE OTRO MODO EL TRASLADO DEL USUARIO DE UNA RED A OTRA DEBE RESULTAR TRANSPARENTE A LA APLICACION CONEXION EN CURSO.
En respuesta a MANUEL IGNACIO BORRAJO

Re: porotos

de Luis Marrone -

Cuando decís restarle, es en realidad hacer modulo 27?????

En respuesta a Luis Marrone

Re: porotos

de MANUEL IGNACIO BORRAJO -
no. 
tomo el caso de la primera letra del mensaje para explicar mi ejemplo:

letra E: 4
clave T: 20 

si hago (20+4)%27 = 24 => X
pero yo necesito tener la distancia que hay desde la letra T hasta la E. ( que sería el alfabeto que empieza por la T)
 T  ..... Z  A .....E
20 .... 27,0 ......4
la distancia es 7+4 = 11 => L 
entonces (27-20+4)%27 = 11 => L
generalizando:
(longitudAlfabeto - caracterClave + caracterADecodificar)%longitudAlfabeto  de esta forma se consigue el caracter decodificado sin importar el alfabeto que se use.
En respuesta a MANUEL IGNACIO BORRAJO

Re: porotos

de Luis Marrone -

letra E: 4

clave T: 20 

si hago (20+4)%27 = 24 => X

esto está correcto

En respuesta a Luis Marrone

Re: porotos

de MANUEL IGNACIO BORRAJO -
al principio usé eso, pero el mensaje decodificado no era legible. y despues entendiendo como se generaban los alfabetos desplazados en base a la letra de la clave me di cuenta que restandole la longitud lo que hacia era "generar" al vuelo ese alfabeto desplazado.