sábado, marzo 01, 2025

Codificando y Ofuscando Código Morse con Perplexity Pro o3-mini, DeepSeek R1 y DeepResearch (and struggling)

Cuando os cuente en la charla de RootedCON el motivo, entenderéis porque estoy jugando con esto tanto. Hoy quería dejaros por aquí un ejemplo de cómo algunas tareas aún les resultan complejas, como esta que os cuento hoy que tiene que ver con ofuscación de información. Se trata de codificar un mensaje en Código Morse para ocultarlo dentro de un dialogo entre personajes en una obra de teatro. Algo que es bastante sencillo si eres una persona.

Figura 1: Codificando y Ofuscando Código Morse con Perplexity Pro.
 o3-mini, DeepSeek R1 y DeepResearch (and struggling)

En los diálogos utilizamos guiones, y por supuesto utilizamos también signos de puntuación, como puntos o puntos y comas, sería fácil.Para el experimento quería un texto que codificara CADIZ dentro de un dialogo, usando Código Morse. Y a pesar de mis expectativas iniciales no ha sido un experimento muy sencillo. No os dejo todas las pruebas, pero sí algunas representativas de lo que os quiero contar.

Figura 2: Código Morse para CADIZ

Primero, codificar CADIZ en Código Morse es una secuencia no demasiado compleja. Como podéis ver en la imagen anterior es una secuencia de puntos y rayas, separados por puntos y comas. Lo que yo quería era un texto que básicamente llevara esos signos de puntuación en ese orden. Una tarea que se me antojaba fácil para los modelos LLM de hoy en día, pero ha resultado bastante curioso el proceso.

Perplexity Pro o3-mini

En la primera prueba, hecha con o3-mini, como podéis ver en la imagen siguiente, no he conseguido que haga esa secuencia en ninguna ocasión. 

Figura 3: Aparente, pero incorrecto

No se le ocurre cómo hacerlo. Poner dos guiones seguidos podría ser tan sencillo como:

Personaje A: - ¡Te quiero! 
Personaje B:- ¡Yo también!

En ese caso no hay puntos, porque cerramos las frases con admiraciones, pero no ha dado con esa estructura de escritura para resolver el problema. Y poner puntos seguidos tan sencillo como:

Personaje A - Quiero que lo sepas. Que te quiero. Como al trucha al trucho.

Pero no. Ha sido bastante complejo, y no he conseguido que o3-mini lo acabara de encauzar, por más que le he pedido que lo revise y lo corrija una y otra vez. No ha dado con las soluciones que os acabo de contar para resolver el problema.

Figura 4: o3-mini no es capaz de resolverlo, aún sabiendo lo que tiene que hacer.

Después de varios intentos ha sido imposible, así que os ahorro todas las capturas. Después de eso, decidí pasarme a ver si DeepSeek R1 me lo hacía mejor, y la sorpresa fue curiosa.

Perplexity Pro DeepSeek R1

En este caso, le doy el mismo Prompt y lo que sucede es que no hace correctamente la parte de construir los diálogos, dejando diálogos vacíos o con solo puntos y comas.

Figura 5: Con DeepSeek los diálogos son . . ;

Lo mismo. Intento que lo haga bien, centrándome en esos errores que está cometiendo, para ver si los resuelve, pero... ahí tenéis el resultado.

Figura 6: Nada, no lo resuelve.

Os ahorro todas las pruebas, que fueron muchas El resultado final es que no lo consigue. Así que decidí abandonar DeepSeek R1 y me pasé a DeepResearch, a ver si nos entendíamos mejor.

Preplexity Pro DeepResearch 

El resultado con DeepResearch me ha dejado más flasheado aún. ¿Por qué? Pues porque ha hecho lo que le ha dado la gana. Veréis, le paso el Prompt para que me lo codifique con puntos, guiones y puntos y comas, y el modelo me hace esto.

Figura 7: Texto generado por DeepResearch

La gracia es que me dice que pasa en canoa de mis puntos, mis guiones y mis puntos y comas, y va y responde que lo ha codificado en Códio Morse a través del ritmo de sus diálogos.

WTF?

¿Quién le ha pedido eso en el Prompt? Lo curioso es que me vuelvo loco a buscar cómo ha codificado los puntos y las rayas y los espacios.... y nada. Me deja con cara de flipar. Los espacios parece claro que los ha codificado por entrada de personaje, pero ... ¿y los puntos y las rayas? 

Ya un poco desesperado, decido que lo resuelva también DeepSeek R1, a ver si lo entiende él. Al fin y al cabo, cuando vimos el System Prompt de DeepSeek R1 él modelo había sido entrenado con OpenAI, así que seguro que este modelo lo entiende... ¿o no?

Figura 8: Pidiéndole a DeepSeek R1 que saque el
mensaje oculto en Morse a través del ritmo.

El resultado consigue que flipe un poco más. Porque lo saca, pero hace una extracción modelo teléfono de marcación americano. Es decir, cuenta líneas, y mira todas las letras que tienen 4, 2, 3, 2, 4... y luego busca ciudades que se puedan escribir combinando letras de esos conjuntos.

Figura 9: Lo saca DeepSeek R1

¿No hay más ciudades españolas con nombres que tengan combinación de letras que tengan un número de signos 4, 2, 3, 2, 4? No me lo creo. Pero lo peor es que no me ha hecho nada de caso en la petición original a DeepResearch, por mucho que su "amigoDeepSeek R1 le haya entendido.

Espero poder comprenderlo mejor con el tiempo, porque esto, además, me ha abierto un montón de preguntas que me van a llevar a ser el de "Una mente maravillosa"... ahí lo dejo. Os dejo también más artículos sobre Perplexity y DeepSeek R1. Nos vemos en la  RootedCON.
¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


1 comentario:

María dijo...

Trepidante. Flasheante. Dos lecturas paralelas: tu voz hacker y los diálogos malísimos. Muy gracioso el desapego de tu voz respecto a los diálogos. Yo riéndome de lo malos que son, distraída y al final... ZAS! En toda la cara. Confieso que sí, estoy flasheada.

Entrada destacada

Cibercriminales con Inteligencia Artificial: Una charla para estudiantes en la Zaragoza

Hoy domingo toca ir a participar en un evento, con una charla y una pequeña demo. Ahora mismo sí, así que el tiempo apremia, os dejo una cha...

Entradas populares