Browse Source

README-es.md edited online with Bitbucket

Jose R Ortiz Ubarri 8 years ago
parent
commit
2541375a05
1 changed files with 18 additions and 16 deletions
  1. 18
    16
      README-es.md

+ 18
- 16
README-es.md View File

@@ -252,33 +252,35 @@ En la experiencia de laboratorio de hoy completarás una aplicación de estegano
252 252
 #### Instrucciones:
253 253
 
254 254
 
255
-1) Carga a QtCreator el proyecto `Steganography` haciendo doble "click" en el archivo `Steganography.pro` en el directorio `Documents/eip/Repetitions-Steganography` de tu computadora. También puedes ir a `http://bitbucket.org/eip-uprrp/repetitions-steganography` para descargar la carpeta `Repetitions-Steganography` a tu computadora.
255
+1. Carga a `QtCreator` el proyecto `Steganography`. Hay dos maneras de hacer esto:
256 256
 
257
-El proyecto contiene el esqueleto de una aplicación para recuperar mensajes empotrados en imágenes. Los mensajes que estarás recobrando se empotraron utilizando la técnica del bit menos significativo. El final de cada mensaje se codificó utilizando el caracter ASCII con código binario `00000000`.
257
+     * Utilizando la máquina virtual: Haz doble “click” en el archivo `Steganography.pro` que se encuentra  en el directorio `/home/eip/labs/repetitions-steganography` de la máquina virtual.
258
+     * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el commando `git clone http:/bitbucket.org/eip-uprrp/repetitions-steganography` para descargar la carpeta `repetitions-steganography` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `Steganography.pro`.
258 259
 
259
-2) Compila y corre el programa. Debes obtener una interface que luce parecida a:
260
+     El proyecto contiene el esqueleto de una aplicación para recuperar mensajes empotrados en imágenes. Los mensajes que estarás recobrando se empotraron utilizando la técnica del bit menos significativo. El final de cada mensaje se codificó utilizando el caracter ASCII con código binario `00000000`.
260 261
 
261
-![img1.png](images/img1.png)
262
+2. Compila y corre el programa. Debes obtener una interface que luce parecida a:
262 263
 
263
-3) El botón `Load Image` fue programado para permitir al usuario cargar una imagen y desplegarla. Tu tarea es programar la funcionalidad del botón `Retrieve Message` para analizar la imagen y extraer el mensaje escondido. El mensaje escondido debe desplegarse en la ventana que dice `Write a message`.
264
+     ![img1.png](images/img1.png)
264 265
 
265
-4) Estarás trabajando con el archivo `steganography.cpp`. Completa la función `ExtractMessage` que recibe una imagen de esteganografía para que extraiga los dígitos del mensaje binario empotrado en la imagen y los guarde en un "string". La función debe invocar otra función `binaryStringToMessage` que convierta el "string" de `0`'s y `1`'s en los caracteres del mensaje y devolver el mensaje oculto.
266
+3. El botón `Load Image` fue programado para permitir al usuario cargar una imagen y desplegarla. Tu tarea es programar la funcionalidad del botón `Retrieve Message` para analizar la imagen y extraer el mensaje escondido. El mensaje escondido debe desplegarse en la ventana que dice `Write a message`.
266 267
 
267
-Por ejemplo, si los primeros píxeles de la imagen fuesen los siguientes,
268
+4. Estarás trabajando con el archivo `steganography.cpp`. Completa la función `ExtractMessage` que recibe una imagen de esteganografía para que extraiga los dígitos del mensaje binario empotrado en la imagen y los guarde en un "string". La función debe invocar otra función `binaryStringToMessage` que convierta el "string" de `0`'s y `1`'s en los caracteres del mensaje y devolver el mensaje oculto.
268 269
 
269
-   ````
270
-   0x98 99 98 0x00 00 01 0x00 00 00 0x01 01 00
271
-   0x01 01 01 0x01 00 01 0x01 00 00 0x01 01 01
272
-   0xf0 ea 00 0x44 00 f0 0x00 aa 22 . . . .,
273
-   ````
270
+     Por ejemplo, si los primeros píxeles de la imagen fuesen los siguientes,
274 271
 
275
-   tu función `ExtractMessage` extraería los bits menos significativos de cada componente de color construiría el siguiente `string`: `”010001000110111101100111000000000…”`.
272
+     `0x98 99 98 0x00 00 01 0x00 00 00 0x01 01 00 0x01 01 01 0x01 00 01 0x01 00 00 0x01 01 01 0xf0 ea 00 0x44 00 f0 0x00 aa 22 . . .`,
273
+ 
274
+      tu función `ExtractMessage` extraería los bits menos significativos de cada componente de color construiría el siguiente `string`: `"010001000110111101100111000000000…"`.
276 275
 
277
-   Nota que tu algoritmo debe tener algún mecanismo para detectar si el último bloque de 8 caracteres extraídos eran todos `0`. Cuando esto pase, el algoritmo debe parar de leer los píxeles.
276
+      
277
+      Nota que tu algoritmo debe tener algún mecanismo para detectar si el último bloque de 8 caracteres extraídos eran todos `0`. Cuando esto pase, el algoritmo debe parar de leer los píxeles.
278 278
 
279
-   El “string” de dígitos binarios debe ser enviado a otra función `binaryStringToMessage` (ver Ejercicio 2) que interprete los `0`'s  y `1`'s como los bits de caracteres ASCII. En el ejemplo, si pasaras  el argumento `”010001000110111101100111000000000”` a la función  `binaryStringToMessage`, debería devolver "Dog" (porque `01000100` corresponde a `D`, `01101111` es 'o',  `01100111` es 'g', y un `00000000` simboliza que se terminó el “string”.)
279
+      
280
+      El "string" de dígitos binarios debe ser enviado a otra función `binaryStringToMessage` (ver Ejercicio 2) que interprete los `0`'s  y `1`'s como los bits de caracteres ASCII. En el ejemplo, si pasaras  el argumento `”010001000110111101100111000000000”` a la función  `binaryStringToMessage`, debería devolver "Dog" (porque `01000100` corresponde a `D`, `01101111` es 'o',  `01100111` es 'g', y un `00000000` simboliza que se terminó el “string”.)
280 281
 
281
-Para poder implementar el algoritmo de extracción del mensaje, debes entender cómo fue empotrado el mensaje. Si es necesario, repasa la sección “Empotrando un mensaje en una imagen”.
282
+
283
+      Para poder implementar el algoritmo de extracción del mensaje, debes entender cómo fue empotrado el mensaje. Si es necesario, repasa la sección “Empotrando un mensaje en una imagen”.
282 284
 
283 285
 
284 286
 ### Ejercicio 2 - Interpretar el mensaje