Pregunta

Deseo poner algo de texto en una página y ocultar algunos datos en ese texto. ¿Alguien sabe de algún método / patrón que se haya utilizado en el pasado para resolver este problema?

Ejemplo: tengo el siguiente texto: "El gato se sentó sobre el perro y estaba feliz".

También tengo el número 123. Quiero ocultar este número en esa oración para que la oración se pueda colocar en una página web y solo alguien que sepa pueda encontrar los datos.

¿Fue útil?

Solución

HTML hace que sea bastante fácil hacer esto, en realidad. No hay necesidad de cantidades realmente astutas de esteganografía, etc. Veamos:

Esta oración incrusta 123 y luego detiene la incrustación.

Esta oración incrusta 0102 y luego detiene la incrustación.

(Tendremos que ver si realmente funciona en Markdown, pero sospecho que sí). Es cierto que es bastante obvio si sabes que hay algo que buscar, pero creo que lo harás Estoy de acuerdo en que no es obvio para los observadores casuales.

Lo dejé como un pequeño rompecabezas para resolver el esquema, pero agregue un comentario si desea que se explique explícitamente.

Otros consejos

Por supuesto, esto se puede hacer.

Lo que está describiendo está en una descripción amplia llamada Steganography .

Por ejemplo, puede codificar un número de tal manera que cuente el número de palabras hasta que vea la letra B, en cuyo caso 123 podría codificarse como:

You belong to the beautiful group of people being elite.

La cuestión es que la persona que quiere decodificar su mensaje debe conocer su algoritmo.

Editar Noto que mis números están apagados en uno. Comience a contar en 0 y verá el número 123.

Existen enfoques muy complicados para este problema, sin embargo, probablemente pueda optar por uno muy simple. P.ej. defina un adjetivo para cada número:

0. beautiful
1. harmless
2. evil
3. colorful
4. weird

y así sucesivamente. Ahora seleccione oraciones de su elección y ponga marcadores de posición en las oraciones donde pertenecen los adjetivos.

"The {adj} cat sat on the {adj} dog and the {adj} cat was happy."

Tu número es 123, entonces tu oración es

"The harmless cat sat on the evil dog and the colorful cat was happy."

Un analizador puede tomar fácilmente la oración, dividirla en palabras, encontrar adjetivos en la tabla de arriba y convertirlos de nuevo en números.

The -> ?
harmless -> 1
cat -> ?
sat -> ?
on -> ?
the -> ?
evil -> 2
:

al final tienes 123 nuevamente.

Cuando la gente sabe que hay información oculta en la oración, el algoritmo se rompe fácilmente. Puede dificultar la ruptura si agrega variación definiendo múltiples adjetivos por número. En lugar de

1. harmless

puedes definir

1. harmless/stupid/blue/fashionable

cuando necesite codificar 1, elija aleatoriamente cualquiera de las palabras anteriores. Como todos estos se asignan al número 1, al analizador inverso no le importará cuál de las palabras se imprime allí, el resultado siempre será uno. Esta aleatorización dificultará la ingeniería inversa del algoritmo.

Creo que a un alto nivel de lo que estás hablando es esteganografía. http://en.wikipedia.org/wiki/Steganography

La sección sobre técnicas modernas debería ayudarlo a comenzar: http://en.wikipedia.org / wiki / Steganography # Modern_steganographic_techniques

Creo que lo que estás buscando es algo llamado esteganografía. Corinna John tiene una excelente colección de artículos sobre el tema en CodeProject.

http://www.codeproject.com/script/Articles /MemberArticles.aspx?amid=475133

Puede haber un algoritmo que pueda convertir esa oración en 123, pero creo que, en general, ¡necesitará aceptar algunas modificaciones al texto si necesita almacenar cualquier valor numérico posible!

Si el 'texto' era en realidad una imagen, entonces podría ocultar datos usando esteganografía : los datos se ocultan en el archivo de imagen binario sin afectar el aspecto de la imagen.

De acuerdo con este hilo :

Prof. Mikhail Atallah et. Alabama. aquí en Purdue investigamos mucho texto de marca de agua .

El enfoque utiliza TMR ( Significado del texto Representación ) de frases para codificar bits realizando pequeñas transformaciones posicionando el TMR a cierta distancia de una forma canónica definida.

(otro método para marcar el texto con marca de agua es aquí se presenta )

Puede ser otra forma de ocultar texto dentro del texto, junto con el método Steganograph descrito en las otras respuestas.

El enfoque que Jon Skeet mencionó es muy similar al de Matthew Kwan " SNOW " ; enfoque. Ambos ocultan pequeñas cantidades de información arbitraria en el texto sin agregar, eliminar o cambiar ninguna de las palabras en el texto fuente. Ambos codifican el mensaje secreto en espacios en blanco normalmente irrelevantes, normalmente invisibles: espacio adicional y caracteres de tabulación entre palabras y al final de las líneas.

Aquí hay un prototipo de convertir datos cifrados a "natural" mensaje de texto.

http://herosys.net/w/ proyecto / text-steganography-hide-text-in-spam-sms

Convierta el texto de origen como " Vea U en la puerta este de la Universidad, mañana a las 8 am " a mensajes de texto cortos parece spam.

" ¡La mejor casa de todas! nunca deberías perderte 1000-3000 pies cuadrados $ 15-80 por pie cuadrado Llame al 123-456-7890 " ;.

El algoritmo es que simplemente crea un diagrama gramatical y crea una tabla de candidatos para cada palabra. Al igual que BASE64, pero la tabla de índice se cambia según su contexto predefinido.

Bueno, podrías probar algo como esto ... no estoy seguro de si eso es exactamente lo que estás haciendo buscando, sin embargo.

Tengo dos esquemas con buena seguridad pero con el compromiso de tasas de inclusión de stegabit bastante bajas. Uno de ellos es extremadamente simple, pero tiene una tasa de incrustación de 1 bit por línea de texto arbitrario dado solo por el usuario, mientras que el otro, que requiere que el usuario redacte textos de codificación bajo la guía del software, logra una tasa de incrustación en el rango de [0.5 , 1.0] por palabra. Ver mi página de inicio mok-kong-shen.de

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top