<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8168201438564643048</id><updated>2012-02-16T09:30:13.198-06:00</updated><category term='Xuggle'/><category term='Método LSB'/><category term='Marcas de Agua'/><category term='Esteganografía'/><category term='imágenes'/><category term='Ataques'/><category term='Criptografía'/><category term='FFmpeg'/><category term='Watermarkero'/><title type='text'>Crónicas de un watermarkero</title><subtitle type='html'>En el camino hacia el ocultamiento de información en videos.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://watermarkero.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://watermarkero.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Pedro Aarón</name><uri>http://www.blogger.com/profile/10599322905255037522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_hNLfnbtnZ0w/ScKy-2KQwCI/AAAAAAAACDA/vFC-nY_ygRY/S220/IMG_1129.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8168201438564643048.post-6670755928039973791</id><published>2009-07-04T20:56:00.037-05:00</published><updated>2009-09-04T04:14:01.398-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ataques'/><category scheme='http://www.blogger.com/atom/ns#' term='Método LSB'/><title type='text'>El Método LSB ( parte 2 )</title><content type='html'>Recapitulando, el método LSB se caracteriza por lo siguiente:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;La información se oculta en los bits menos significativos.&lt;/li&gt;&lt;li&gt;No es un método robusto, puesto que si la imagen marcada es distorsionada se pierde  información .&lt;/li&gt;&lt;li&gt;Si se analiza visualmente el plano LSB, se puede notar que "hay algo extraño" (ataque visual), lo que puede provocar que un atacante distorsione la imagen para eliminar la información.&lt;/li&gt;&lt;/ol&gt;Como dice el tercer punto, cuando se marca una imagen con el método LSB se puede notar a simple vista la distorsión generada al modificar los bits menos significativos como se mostró en la entrada anterior. En dicha entrada se ocultó un mensaje periódico que en la realidad sería muy raro tenerlo. Lo que haremos a continuación es ocultar texto en la imagen. Cada letra del texto será convertido a su valor &lt;a href="http://es.wikipedia.org/wiki/ASCII"&gt;ASCII&lt;/a&gt; (de 8 bits), de esta forma el mensaje que ocultaremos será una serie de números de 8 bits. El mensaje que ocultaremos es la famosa poesía del maestro &lt;a href="http://es.wikipedia.org/wiki/Mario_Benedetti"&gt;Mario Benedetti&lt;/a&gt; (que recientemente falleció) llamada "&lt;a href="http://paaronh.blogspot.com/2009/04/no-te-salves.html"&gt;&lt;span style="font-style: italic;"&gt;no te salves&lt;/span&gt;&lt;/a&gt;". A continuación escribo un extracto de dicha poesía:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;No te salves&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Mario Benedetti&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;No te quedes inmóvil&lt;br /&gt;al borde del camino&lt;br /&gt;no congeles el júbilo&lt;br /&gt;no quieras con desgana&lt;br /&gt;no te salves ahora&lt;br /&gt;ni nunca&lt;br /&gt;no te salves&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;La imagen marcada con la poesía y su plano LSB se muestran a continuación:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hNLfnbtnZ0w/SqCDv6TesqI/AAAAAAAACuk/XZHdIViLrh4/s1600-h/LenaConTexto.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 239px;" src="http://4.bp.blogspot.com/_hNLfnbtnZ0w/SqCDv6TesqI/AAAAAAAACuk/XZHdIViLrh4/s400/LenaConTexto.png" alt="" id="BLOGGER_PHOTO_ID_5377442814208422562" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-family:georgia;font-size:100%;"  &gt;Lena marcada con una poesía de Benedetti&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Como se puede apreciar existe un patrón de líneas verticales debido a la codificación ASCII que usamos, puesto que muchas letras comparten ciertos bits, como las letras minúsculas  que pertenecen a un pequeño rango de la codificación ASCII. La poesía escondida en la imagen consta de 762 Bytes. Si ocultamos 5 veces la poesía en la imagen podremos observar mejor  el patrón de líneas verticales generado:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hNLfnbtnZ0w/SqCHf4fMgGI/AAAAAAAACus/8A3Ee5GquDM/s1600-h/ImagenBit1+-+3818Bytes.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 256px; height: 256px;" src="http://2.bp.blogspot.com/_hNLfnbtnZ0w/SqCHf4fMgGI/AAAAAAAACus/8A3Ee5GquDM/s400/ImagenBit1+-+3818Bytes.bmp" alt="" id="BLOGGER_PHOTO_ID_5377446936889294946" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-family:times new roman;font-size:100%;"  &gt;Patrón vertical generado en el plano LSB al ocultar texto&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Para evitar este patrón generado al ocultar el texto en la imagen podemos ocultar la marca de manera aleatoria en el plano LSB. Antes de continuar con esta modificación les enlistaré las principales modificaciones que se pueden hacer al método LSB.&lt;br /&gt;&lt;br /&gt;Entre las principales modificaciones del método LSB encontramos:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Ocultar la información aleatoriamente en el plano LSB para evitar un ataque visual.&lt;/li&gt;&lt;li&gt;Ocultar la información en bordes de la imagen evitando zonas homogéneas para evitar ataques visuales.&lt;/li&gt;&lt;li&gt;Usar mas planos LSB para ocultar información.&lt;/li&gt;&lt;li&gt;Utilizar el método LSB para detectar cambios hechos en la imagen.&lt;/li&gt;&lt;li&gt;Utilizar el método LSB como un método reversible para extraer la imagen original de la marcada.&lt;/li&gt;&lt;/ol&gt;La primer modificación consiste en ocultar aleatoriamente los bits del mensaje en la imagen. El camino que  tomaremos es el desordenar aleatoriamente la marca. La forma de hacerlo es después de tener el tren de bits de la marca se procederá a desordenarlo usando una llave. Dicha llave será necesaria para reordenar la marca después de extraerla de la imagen marcada. A continuación observaremos la imagen marcada y el plano LSB de la misma. Para ello ocultamos la misma poesía de Benedetti descrita anteriormente.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hNLfnbtnZ0w/SqC5_t2jpHI/AAAAAAAACu0/38oNRKGcXRs/s1600-h/LenaConMensajeAleatorio.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 242px;" src="http://4.bp.blogspot.com/_hNLfnbtnZ0w/SqC5_t2jpHI/AAAAAAAACu0/38oNRKGcXRs/s400/LenaConMensajeAleatorio.png" alt="" id="BLOGGER_PHOTO_ID_5377502459371693170" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Lena marcada con un mensaje aleatorio&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Nos podemos dar cuenta que un ataque visual no surtiría efecto si ocultamos la marca aleatoriamente puesto que no nos podemos percatar de algún patrón o algo extraño que se vea en el plano LSB. La siguiente imagen muestra la diferencia notable de no usar y de usar una marca aleatoria.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hNLfnbtnZ0w/SqC63ojqRtI/AAAAAAAACu8/crL2Ff65ptA/s1600-h/LSBOriginalAleatorio.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 239px;" src="http://3.bp.blogspot.com/_hNLfnbtnZ0w/SqC63ojqRtI/AAAAAAAACu8/crL2Ff65ptA/s400/LSBOriginalAleatorio.png" alt="" id="BLOGGER_PHOTO_ID_5377503420022933202" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Comparación de los planos LSB marcados usando marcas originales y aleatorias&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Otra forma de hacer esta modificación es distribuir la marca aleatoria en todo el plano LSB.&lt;br /&gt;&lt;br /&gt;Esta primera modificación evita un ataque visual, pero existe un tipo de ataque estadístico llamado &lt;span style="font-weight: bold;"&gt;prueba Chi-cuadrada&lt;/span&gt; que puede detectar la presencia de la marca dentro la imagen marcada siempre y cuando la marca sea ocultada de forma aleatoria&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;En la siguiente entrada describiremos la prueba Chi cuadrada, posteriormente continuaremos con las otras cuatro modificaciones del método LSB restantes.&lt;br /&gt;&lt;br /&gt;Saludos a todos.&lt;br /&gt;&lt;br /&gt;PD. El código fuente (en matlab) de los métodos explicados en esta entrada se enlistan continuación:&lt;br /&gt;1. &lt;a href="http://sites.google.com/site/watermarkero/home/watermarkerofiles/LSBpatronperiodico.zip"&gt;Método LSB que oculta un mensaje periódico en una imagen bmp (descrito en la entrada anterior).&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://sites.google.com/site/watermarkero/home/watermarkerofiles/LSBusandotexto.zip"&gt;Método LSB que oculta un texto en una imagen bmp.&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://sites.google.com/site/watermarkero/home/watermarkerofiles/LSBusandotextoaleatorio.zip"&gt;Método LSB que oculta un texto aleatoriamente en una imagen bmp.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="bgtags"&gt;Blogalaxia Tags: &lt;a href="http://www.blogalaxia.com/tags/esteganografia" rel="tag"&gt;Esteganografía&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/metodo+lsb" rel="tag"&gt;Método LSB&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/ataque+visual" rel="tag"&gt;Ataque visual&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/imagenes" rel="tag"&gt;Imágenes&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8168201438564643048-6670755928039973791?l=watermarkero.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watermarkero.blogspot.com/feeds/6670755928039973791/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://watermarkero.blogspot.com/2009/07/el-metodo-lsb-parte-2.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/6670755928039973791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/6670755928039973791'/><link rel='alternate' type='text/html' href='http://watermarkero.blogspot.com/2009/07/el-metodo-lsb-parte-2.html' title='El Método LSB ( parte 2 )'/><author><name>Pedro Aarón</name><uri>http://www.blogger.com/profile/10599322905255037522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_hNLfnbtnZ0w/ScKy-2KQwCI/AAAAAAAACDA/vFC-nY_ygRY/S220/IMG_1129.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_hNLfnbtnZ0w/SqCDv6TesqI/AAAAAAAACuk/XZHdIViLrh4/s72-c/LenaConTexto.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8168201438564643048.post-6300520329177300517</id><published>2009-03-27T21:59:00.036-06:00</published><updated>2009-09-04T04:32:17.677-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Esteganografía'/><category scheme='http://www.blogger.com/atom/ns#' term='Método LSB'/><title type='text'>El método LSB</title><content type='html'>La forma más básica para esconder información en imágenes es utilizando el método LSB (del inglés Least Significant Bit, en español bit menos significativo). Desafortunadamente desconozco la referencia del primer trabajo en donde se menciona el uso de este método, si alguno de ustedes la conoce no dude en ayudarme a saberla.&lt;br /&gt;&lt;br /&gt;&lt;font style="color: rgb(153, 51, 153);"&gt;Este método consiste en reemplazar los bits menos significativos de cada píxel con los bits de la información a ocultar.&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;Como la mejor forma para aprender es mediante un ejemplo, entonces veamos este método en acción.&lt;br /&gt;&lt;br /&gt;Tomemos como el medio portador la imagen de Lena, el mensaje que ocultaremos tendrá una longitud de 2048 bits y seguirá el patrón  siguiente:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;font face="courier new"&gt;Mensaje = 11111111 00000000 11111111 00000000 ...&lt;/font&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SZzVyZKNZRI/AAAAAAAAB-o/t84QjvAOurU/s1600-h/lena256.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 256px; height: 256px;" src="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SZzVyZKNZRI/AAAAAAAAB-o/t84QjvAOurU/s400/lena256.bmp" alt="" id="BLOGGER_PHOTO_ID_5304349522859484434" border="0"&gt;&lt;/a&gt;&lt;font style="font-weight: bold;" size="2"&gt;Imagen de Lena, usada para ocultar el mensaje&lt;/font&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Como se mencionó en la entrada &lt;a href="http://watermarkero.blogspot.com/2009/02/un-poco-de-imagenes.html"&gt;un poco de imágenes&lt;/a&gt;, las imágenes están constituidas por una profundidad de color, es el caso de la imagen de Lena es una imagen de 8 bits. Es decir, cada píxel se representa con 8 bits, lo que provoca que la imagen sea de 256 colores (en este caso es en escala de grises) que van desde el negro (&lt;font face="courier new"&gt;0&lt;/font&gt; en decimal ó &lt;font face="courier new"&gt;00000000&lt;/font&gt;  en binario) hasta el blanco (&lt;font face="courier new"&gt;255&lt;/font&gt; en decimal ó &lt;font face="courier new"&gt;11111111&lt;/font&gt; en binario).&lt;br /&gt;&lt;br /&gt;El bit menos significativo (o lsb en minúsculas, para referirnos al bit menos significativo y no al método para ocultar información) determina la paridad de un número. El lsb es conocido también como el &lt;font style="font-style: italic;"&gt;bit más a la derecha&lt;/font&gt;. En contra parte el bit más significativo o &lt;font style="font-style: italic;"&gt;msb&lt;/font&gt;, representa el bit más a la izquierda. Por ejemplo en la imagen siguiente se muestra la representación binaria del número decimal &lt;font face="courier new"&gt;211&lt;/font&gt;, el lsb está marcado con color anaranjado y el lsb en color morado. El msb representa un valor decimal de &lt;font face="courier new"&gt;128&lt;/font&gt; y el lsb un valor decimal de &lt;font face="courier new"&gt;1&lt;/font&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hNLfnbtnZ0w/ShRWhzg-W3I/AAAAAAAACVs/5hIKMLEiVBk/s1600-h/msb-lsb.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 78px;" src="http://4.bp.blogspot.com/_hNLfnbtnZ0w/ShRWhzg-W3I/AAAAAAAACVs/5hIKMLEiVBk/s400/msb-lsb.png" alt="" id="BLOGGER_PHOTO_ID_5337986597105064818" border="0"&gt;&lt;/a&gt;&lt;font style="font-weight: bold;" size="2"&gt;Representación binaria del número decimal &lt;font face="courier new"&gt;211&lt;/font&gt;, el lsb está marcado con color anaranjado&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;El &lt;font style="font-weight: bold;"&gt;plano lsb&lt;font style="font-weight: bold;"&gt;&lt;/font&gt;&lt;/font&gt; es la imagen binaria de 1 bit formada por todos los lsb de la imagen. La siguiente imagen representa el plano lsb de la imagen de Lena.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hNLfnbtnZ0w/ShRY8EF7FuI/AAAAAAAACV0/y56nmsJxgb4/s1600-h/LenaBit1.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 256px; height: 256px;" src="http://2.bp.blogspot.com/_hNLfnbtnZ0w/ShRY8EF7FuI/AAAAAAAACV0/y56nmsJxgb4/s400/LenaBit1.bmp" alt="" id="BLOGGER_PHOTO_ID_5337989247254861538" border="0"&gt;&lt;/a&gt;&lt;font style="font-weight: bold;" size="2"&gt;Plano lsb de la imagen de Lena&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ahora veamos los otros planos binarios de la imagen de Lena.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hNLfnbtnZ0w/ShRcfHSs5XI/AAAAAAAACV8/N5Txn5KhNnc/s1600-h/Lena-msb-lsb.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 292px;" src="http://3.bp.blogspot.com/_hNLfnbtnZ0w/ShRcfHSs5XI/AAAAAAAACV8/N5Txn5KhNnc/s400/Lena-msb-lsb.png" alt="" id="BLOGGER_PHOTO_ID_5337993147944068466" border="0"&gt;&lt;/a&gt;&lt;font style="font-weight: bold;" size="2"&gt;Planos binarios de la imagen de Lena&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;El método LSB consiste en modificar el plano lsb de la imagen portadora con la marca a ocultar. De esta forma, si sustituimos los bits del plano lsb fila a fila con la marca mencionada anteriormente (la del patrón de ocho ceros y ocho unos) el plano lsb  resultante quedaría como se muestra en la siguiente imagen.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hNLfnbtnZ0w/Shqtc_PAm1I/AAAAAAAACXQ/s62Ht8zzg7A/s1600-h/LenaMarcadaBit1.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 256px; height: 256px;" src="http://4.bp.blogspot.com/_hNLfnbtnZ0w/Shqtc_PAm1I/AAAAAAAACXQ/s62Ht8zzg7A/s400/LenaMarcadaBit1.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5339771021723474770" /&gt;&lt;/a&gt;&lt;font style="font-weight: bold;" size="2"&gt;Plano lsb marcado&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;La imagen marcada, es decir la imagen con el plano lsb modificado, se muestra a continuación.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hNLfnbtnZ0w/ShquSzXpB0I/AAAAAAAACXY/GO0nYHx9ArM/s1600-h/LenaMarcada.bmp"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 256px; height: 256px;" src="http://1.bp.blogspot.com/_hNLfnbtnZ0w/ShquSzXpB0I/AAAAAAAACXY/GO0nYHx9ArM/s400/LenaMarcada.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5339771946251388738" /&gt;&lt;/a&gt;&lt;font style="font-weight: bold;" size="2"&gt;Imagen de Lena marcada usando el método LSB&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;Es importante notar que si vemos las dos imágenes jutas no podemos percibir cual es la marcada y cual es la original, puesto que sólo se cambió el valor de los píxeles en una unidad, y esto sucede en el peor de los casos. En la siguiente imagen se muestra la imagen de Lena original, la imagen marcada y finalmente la diferencia absoluta de las dos imágenes. En esta última imagen los píxeles de color blanco representan los píxeles que cambiaron de magnitud al realizarse el marcado.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hNLfnbtnZ0w/Shq0yy7cLtI/AAAAAAAACXg/bGZyLllJ5ck/s1600-h/DiferenciaLSB.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 161px;" src="http://4.bp.blogspot.com/_hNLfnbtnZ0w/Shq0yy7cLtI/AAAAAAAACXg/bGZyLllJ5ck/s400/DiferenciaLSB.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5339779092958686930" /&gt;&lt;/a&gt;&lt;font style="font-weight: bold;" size="2"&gt;Diferencia entre las imágenes de Lena original y marcada&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Estas modificaciones hechas utilizando el método LSB son imperceptibles al ojo humano, sin embargo si se grafica el plano lsb se puede notar fácilmente que "hay algo extraño en la imagen" y no es por el hecho de que nosotros hayamos usamos una marca evidentemente visible anteriormente. Se podría pensar que el plano lsb tiene una naturaleza aleatoria, es decir que no tiene un patrón como los otros planos (i. e. los planos del bit 4,5,6,7 y 8) pero la realidad es otra, el plano lsb si tiene un patrón que depende de la imagen, aunque a simple vista no lo percibamos. Por ejemplo la siguiente figura muestra una imagen y su plano lsb. Aquí se puede notar a simple vista un patrón en el plano lsb.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hNLfnbtnZ0w/Shq5luD9t3I/AAAAAAAACXo/hgFXi63_RH8/s1600-h/PatronEnLsb.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 242px;" src="http://4.bp.blogspot.com/_hNLfnbtnZ0w/Shq5luD9t3I/AAAAAAAACXo/hgFXi63_RH8/s400/PatronEnLsb.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5339784365872101234" /&gt;&lt;/a&gt;&lt;font style="font-weight: bold;" size="2"&gt;Patrón en el plano lsb de la imagen Bird&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Para evitar que la marca sea detectada a simple vista (esto se considera un ataque visual, como se mencionó en la entrada &lt;a href="http://watermarkero.blogspot.com/2009/02/clasificaciones-de-las-marcas-de-agua.html"&gt;clasificaciones de las marcas de agua&lt;/a&gt;), muchos diseñadores no la esconden linealmente como lo hicimos en el ejemplo descrito, sino la esconden en posiciones dadas por un generador de números pseudoaleatorios, así la esparcen en toda la imagen incrementando la indetectibilidad.&lt;br /&gt;&lt;br /&gt;En la siguiente entrada analizaremos más a fondo este método LSB y de igual forma mostraremos unas modificaciones del mismo. Por ejemplo, la modificación para ocultar una imagen dentro de otra, la modificación para detectar cambios hechos en la imagen marcada (integridad) y una modificación para pueda recuperar la imagen original de la imagen marcada (método reversible).&lt;br /&gt;&lt;br /&gt;Que estén bien y estamos en contact...&lt;br /&gt;&lt;br /&gt;PD. El código fuente (en matlab) del método explicados en esta entrada se enlista a continuación:&lt;br /&gt;1. &lt;a href="http://sites.google.com/site/watermarkero/home/watermarkerofiles/LSBpatronperiodico.zip"&gt;Método LSB que oculta un mensaje periódico en una imagen bmp.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogalaxia.com/tags/esteganografia" rel="tag"&gt;Esteganografía&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/metodo+lsb" rel="tag"&gt;Método LSB&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/plano+lsb" rel="tag"&gt;Plano lsb&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/imagenes" rel="tag"&gt;Imágenes&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8168201438564643048-6300520329177300517?l=watermarkero.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watermarkero.blogspot.com/feeds/6300520329177300517/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://watermarkero.blogspot.com/2009/03/el-metodo-lsb.html#comment-form' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/6300520329177300517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/6300520329177300517'/><link rel='alternate' type='text/html' href='http://watermarkero.blogspot.com/2009/03/el-metodo-lsb.html' title='El método LSB'/><author><name>Pedro Aarón</name><uri>http://www.blogger.com/profile/10599322905255037522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_hNLfnbtnZ0w/ScKy-2KQwCI/AAAAAAAACDA/vFC-nY_ygRY/S220/IMG_1129.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_hNLfnbtnZ0w/SZzVyZKNZRI/AAAAAAAAB-o/t84QjvAOurU/s72-c/lena256.bmp' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8168201438564643048.post-3452002010353435088</id><published>2009-03-04T01:15:00.007-06:00</published><updated>2009-04-29T13:38:32.570-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xuggle'/><category scheme='http://www.blogger.com/atom/ns#' term='FFmpeg'/><title type='text'>Instación de FFmpeg en Mac OS X</title><content type='html'>Esta entrada es un parentesis entre la entrada anterior y la que pondré después (la de la explicación del Método LSB para ocultar información en imágenes)... La posteo porque ya tenía dicha información escrita y pues como no he escrito nada, no quise dejarlos sin leer un rato jeje...&lt;br /&gt;&lt;br /&gt;De esta forma, les describiré la instalación de &lt;a href="http://www.ffmpeg.org/"&gt;FFmpeg&lt;/a&gt; en Mac OS X y los pasos necesarios para hacerlo y los recursos adicionales utilizados.&lt;br /&gt;&lt;br /&gt;Es importante notar que FFmpeg es una colección de software libre que puede grabar, convertir y hace streaming de audio y vídeo (usada en windows, Linux, Mac OS u otros sistemas operativos)...Ojo, podemos utlizar unas librerias de FFmpeg para manipular nuestros videos desde programación en C(libavcodec y libavformat). Para más información acerca de &lt;a href="http://es.wikipedia.org/wiki/FFmpeg"&gt;FFmpeg pueden dar clic aqui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Otra libreria libre y open-source utilizada para la manipulación de video (en Java) es &lt;a href="http://www.xuggle.com/xuggler/"&gt;Xuggle&lt;/a&gt;... esta libreria es nuevecita de  paquete pués la lanzaron este mismo año. Hay que destacar que Xuggle utiliza FFmpeg para realizar dicha labor.&lt;br /&gt;&lt;br /&gt;Primero, instalarmos FFmpeg en Mac OS X 10.5.6 en una Intel MacBook Pro. La fuente de información de este post viene en esta página: &lt;a href="http://stephenjungels.com/jungels.net/articles/ffmpeg-howto.html"&gt;Installing and using FFmpeg on Mac OS X&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Lo que se pretende hacer más adelante es utilizar las librerias de FFmpeg para poder manipular cada unos de los frames de un video (esconderle información) y regresarlos al video mismo.Para ello, se necesita instalar son las &lt;a href="http://developer.apple.com/Tools/"&gt;herramientas de desarrollo de apple.&lt;/a&gt; Principalmente instalar el XCode 3.1 o superior, viene en el DVD incluido con la Mac o se puede descargar de la página &lt;a href="http://developer.apple.com/Tools/"&gt;herramientas de desarrollo de apple&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A continuación instalaremos FFmpeg y complementos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;Prerequisitos: &lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;LAME&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Librerias para el manejo de MP3, útil al manipular videos flv. FFmpeg no incluye un codificador  MP3, debido a eso usaremos &lt;a href="http://lame.sourceforge.net/"&gt;LAME&lt;/a&gt;. Los pasos para la instalación bajando los codigos fuentes son los siguientes:&lt;br /&gt;&lt;br /&gt;1. Crear un directorio de trabajo en &lt;span style="font-style: italic;"&gt;home&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mkdir ~/lame&lt;/span&gt;&lt;code&gt;&lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;br /&gt;cd ~/lame&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;2. Descargar los fuentes de &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=290"&gt;SourceForge&lt;/a&gt;. El archivo tiene un nombre como &lt;span style="font-style: italic;"&gt;lame-398-2.tar.gz&lt;/span&gt; o algo similar. Guardarlos en el nuevo directorio creado (paso 1).&lt;br /&gt;&lt;br /&gt;3. Decomprimir los fuentes, usando este comando (hay que estar dentro de la carpeta lame):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tar xvzf lame-398-2.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. La descompresión crea una nueva carpeta&lt;span style="font-style: italic;"&gt;: lame-398-2 &lt;/span&gt;en la que hay que entrar y seguir con los tres comando típicos en una instalación. Para ello, hay que escribir estos comandos&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cd lame-398-2&lt;br /&gt;./configure&lt;br /&gt;make&lt;br /&gt;sudo make install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cada comando toma cerca de un minuto para completarse. Hay que estar atentos por los errores que se generen, pero por lo general LAME está libre de errores de instalación.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Instalación de FFmpeg en Mac OS X 10.5.6&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Instalaremos la versión mas reciente de FFmpeg. (Las versiones 3.1 o superior de Xcode tienen incluido &lt;span style="font-style: italic;"&gt;subversion&lt;/span&gt;, no es necesario instalar &lt;a href="http://fink.sourceforge.net/"&gt;Fink&lt;/a&gt;). Los pasos para la instalación son:&lt;br /&gt;&lt;br /&gt;1. Crear un directorio de trabajo&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;mkdir ~/ffmpeg&lt;/span&gt;&lt;code&gt;&lt;span style=";font-family:courier new;font-size:100%;"  &gt;&lt;br /&gt;cd ~/ffmpeg&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;2. Descargar la versión más actual de FFmpeg vía svn (en nuestro caso se obtuvo la revisión 17451).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cd ffmpeg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. A continuación, configure y make&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;./configure --enable-libmp3lame --enable-shared --disable-mmx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo make install&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El parámetro &lt;span style="font-style: italic;"&gt;--disable-mmx&lt;/span&gt; no se requiere en Power PC. Si se deja en una Intel Mac, probablemente se obtengan algunos errores de compilación, pero esto proveera velocidad.&lt;br /&gt;&lt;br /&gt;Felicidades hemos instalado FFmpeg en nuestra Mac. Con esto ya podemos manipular audio y videos (&lt;a href="http://howto-pages.org/ffmpeg/"&gt;ver tutorial&lt;/a&gt;) y mejor aún podemos utilizar las librerias que lo hacen.&lt;br /&gt;&lt;br /&gt;Para verificar la instalación correcta basta con abrir la cosola y escribir&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ffmpeg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;La salida debe ser parecida a esta&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;FFmpeg version SVN-r17451, Copyright (c) 2000-2009 Fabrice Bellard, et al.&lt;br /&gt; configuration: --enable-libmp3lame --enable-shared --disable-mmx&lt;br /&gt; libavutil     49.14. 0 / 49.14. 0&lt;br /&gt; libavcodec    52.16. 0 / 52.16. 0&lt;br /&gt; libavformat   52.29. 1 / 52.29. 1&lt;br /&gt; libavdevice   52. 1. 0 / 52. 1. 0&lt;br /&gt; built on Feb 19 2009 02:52:53, gcc: 4.0.1 (Apple Inc. build 5484)&lt;br /&gt;At least one output file must be specified&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Un comando para ver la información de un video llamado &lt;span style="font-family:courier new;"&gt;video.avi&lt;/span&gt; es:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ffmpeg -i video.avi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Después seguiremos con este rollo del manejo de FFmpeg y sus librerias, &lt;br /&gt;Saludos a todos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogalaxia.com/tags/ffmpeg" rel="tag"&gt;FFmpeg&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/xuggle" rel="tag"&gt;Xuggle&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/lame" rel="tag"&gt;LAME&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/mac+os+x" rel="tag"&gt;Mac OS X&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8168201438564643048-3452002010353435088?l=watermarkero.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watermarkero.blogspot.com/feeds/3452002010353435088/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://watermarkero.blogspot.com/2009/02/instacion-de-ffmpeg-en-mac-os-x.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/3452002010353435088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/3452002010353435088'/><link rel='alternate' type='text/html' href='http://watermarkero.blogspot.com/2009/02/instacion-de-ffmpeg-en-mac-os-x.html' title='Instación de FFmpeg en Mac OS X'/><author><name>Pedro Aarón</name><uri>http://www.blogger.com/profile/10599322905255037522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_hNLfnbtnZ0w/ScKy-2KQwCI/AAAAAAAACDA/vFC-nY_ygRY/S220/IMG_1129.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8168201438564643048.post-3134673097908338923</id><published>2009-02-18T00:22:00.044-06:00</published><updated>2009-05-29T10:52:46.316-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='imágenes'/><title type='text'>Un poco de imágenes</title><content type='html'>&lt;span style="color: rgb(51, 51, 51);"&gt;Antes de iniciar la explicación del método LSB para ocultar información en una imagen, es conveniente hablar de teoría básica de imágenes digitales. En esta entrada se describirán los aspectos básicos como: tipos de imágenes, resolución, profundidad, modelos de color, etc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Una imagen digital es una matriz de dos dimensiones (filas y columnas). Cada elemento de la matriz representa un color. Cada elemento es llamado &lt;span style="font-weight: bold;"&gt;píxel.&lt;/span&gt; Este nombre viene de la contracción de las palabras en inglés &lt;span style="font-style: italic;"&gt;picture element&lt;/span&gt; (elemento de imagen).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;píxel&lt;/span&gt;=&lt;span style="font-weight: bold;"&gt;pic&lt;/span&gt;ture &lt;span style="font-weight: bold;"&gt;el&lt;/span&gt;ement&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Nota. Este tipo de contracciones son llamadas &lt;/span&gt;&lt;a style="color: rgb(51, 51, 51);" href="http://es.wikipedia.org/wiki/Portmanteau"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;portmanteaus&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);"&gt; Otros ejemplos son: emoticon, internet, billón, wikipedia, etc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;De esta forma, una imágen está compuesta de píxeles (ojo...se acentúa la i).&lt;br /&gt;&lt;br /&gt;La &lt;span style="font-weight: bold;"&gt;resolución&lt;/span&gt; de una imágen digital (tamaño) es la cantidad de píxeles que hay en una imágen. Así, podemos encontrar imágenes de 256 × 256, 640 × 480, 1024 × 768 píxeles, etc. Aquí, &lt;span style="font-style: italic;"&gt;la resolución está dada por las filas y columnas de la imagen&lt;/span&gt;. Otra forma de expresar la resolución de la imágen es &lt;span style="font-style: italic;"&gt;utilizando la cantidad explicita de píxeles en la imágen&lt;/span&gt; (multiplicando filas con columnas) en millones de píxeles o megapíxeles (Mpx). De esta forma, existen imágenes de 1 megapíxel, 2 megapíxeles,...,3.1 megapíxeles, etc. Por ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Una imagen con resolución de 640 x 480 píxeles se dice que tiene 0.3 Mpx (640 × 480 = 307,200 = 0.307,200 millones de píxeles).&lt;br /&gt;&lt;br /&gt;Una imagen con resolución de 2048 x 1536 píxeles se dice que tiene 3.1 Mpx (2048 × 1536 = 3,145,728 = 3.145,728 millones de píxeles).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Un píxel es un elemento de la imágen y cuya magnitud representa un color. Dicha magnitud es en realidad un número entero el cual puede ser representado por un número fijo de bits. El número de bits (o &lt;span style="font-weight: bold;"&gt;profundidad de la imagen&lt;/span&gt;) determina cuántos colores o gamas de gris pueden ser mostrados. Por ejemplo, en una imagen de 8-bits se utilizan 8 bits para cada pixel, permitiendo mostrar 2 elevado a 8 (256) colores diferentes o gamas de gris.&lt;br /&gt;&lt;br /&gt;Siendo más específicos, la siguiente imagen (&lt;span style="font-weight: bold;"&gt;Lena&lt;/span&gt;) tiene una resolución de 256 × 256 píxeles y una profundidad de 8 bits en escala de grises. Es decir sólo se puede representar 256 colores, los cuales van desde el negro (magnitud 0) hasta el blanco (magnitud 255), un colo gris tendría una magnitud cercana a 128.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SZzVyZKNZRI/AAAAAAAAB-o/t84QjvAOurU/s1600-h/lena256.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 256px; height: 256px;" src="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SZzVyZKNZRI/AAAAAAAAB-o/t84QjvAOurU/s400/lena256.bmp" alt="" id="BLOGGER_PHOTO_ID_5304349522859484434" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;Imagen de Lena&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Un acercamiento a una porción de la imagen de Lena (su ojo izquierdo) se muestra en la siguiente figura, en ella podemos apreciar cada píxel en detalle y el valor de cada uno.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SeOszed2FrI/AAAAAAAACJw/KTG5TF_bz44/s1600-h/Zoom+de+Lena.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 169px;" src="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SeOszed2FrI/AAAAAAAACJw/KTG5TF_bz44/s400/Zoom+de+Lena.png" alt="" id="BLOGGER_PHOTO_ID_5324289184833607346" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;Acercamiento a una porción de la imagen de Lena&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Para que un píxel represente multiples colores (y no solamente escala de grises) normalmente se utilizan más bits, generalmente 24. Esto permite tener una cantidad de 2 elevado a la 24 colores, es decir, 16,777,216 opciones de color.&lt;br /&gt;&lt;br /&gt;Con tantos colores como saber ¿cuál es cuál?, para ello se utilizan los &lt;span style="font-weight: bold;"&gt;modelos de color&lt;/span&gt;. El modelo de color más utlizado es el &lt;a href="http://es.wikipedia.org/wiki/Modelo_de_color_RGB"&gt;&lt;span style="font-weight: bold;"&gt;modelo RGB&lt;/span&gt;&lt;/a&gt;, otros modelos utilizados son el &lt;a href="http://es.wikipedia.org/wiki/CMYK"&gt;CYMK&lt;/a&gt;, &lt;a href="http://es.wikipedia.org/wiki/Modelo_de_color_RYB"&gt;RYB&lt;/a&gt;, etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 153, 0);font-family:georgia;font-size:100%;"  &gt;&lt;span style="font-weight: bold;"&gt;Un paréntesis.&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:georgia;" &gt; &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 0);font-family:georgia;" &gt;En esta &lt;/span&gt;&lt;a style="font-family: georgia; font-style: italic; color: rgb(0, 0, 0);" href="http://www.couleur.org/index.php?page=transformations"&gt;página&lt;/a&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 0);font-family:georgia;" &gt;  se muestran diversos modelos de color. Además se puede descargar un software muy interesante también. Se las recomiendo si quieren profundizar más al respecto.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En el modelo RGB  (del inglés &lt;i&gt;Red, Green, Blue&lt;/i&gt;; "rojo, verde, azul"), RGB para simplificar, cada color  es representado mediante la mezcla por adición de esos tres colores.  Por lo general cada uno de ellos tiene una profundidad de 8 bits, es decir que pueden tomar  un valor entre 0 y 255 (un total de 256 colores). Con lo que se pueden obtener 256 × 256 × 256 =  16,777,216 colores.&lt;br /&gt;&lt;br /&gt;Para indicar con qué proporción mezclamos cada color, se asigna un valor a cada uno de los colores primarios, de manera que el valor 0 significa que no interviene en la mezcla y, a medida que ese valor aumenta, se entiende que aporta más intensidad a la mezcla.&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Por lo tanto, el rojo se obtiene con (255,0,0), el verde con (0,255,0) y el azul con (0,0,255), obteniendo, en cada caso un color resultante monocromático. La ausencia de color (lo que nosotros conocemos como color negro) se obtiene cuando las tres componentes son 0, (0,0,0).&lt;/span&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;La combinación de dos colores a nivel 255 con un tercero en nivel 0 da lugar a tres colores intermedios. De esta forma el amarillo es (255,255,0), el cyan (0,255,255) y el magenta (255,0,255).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Obviamente, el color blanco se forma con los tres colores primarios a su m&lt;/span&gt;&lt;span style="font-size:85%;"&gt;áximo nivel (255,255,255).&lt;/span&gt;&lt;/p&gt;El conjunto de todos los colores se puede representar en forma de cubo. Cada color es un punto de la superficie o del interior de éste. La escala de grises estaría situada en la diagonal que une al color blanco con el negro.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SZzfjjBE1UI/AAAAAAAAB-w/qK1BiOkSAZA/s1600-h/Cubo+RGB.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 235px; height: 262px;" src="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SZzfjjBE1UI/AAAAAAAAB-w/qK1BiOkSAZA/s400/Cubo+RGB.jpg" alt="" id="BLOGGER_PHOTO_ID_5304360262923769154" border="0" /&gt;&lt;/a&gt;Hasta el momento hemos hablado de &lt;span style="font-weight: bold;"&gt;imágenes fijas&lt;/span&gt; o &lt;span style="font-weight: bold;"&gt;rasterizadas&lt;/span&gt; (llamadas también bitmap, imagen matricial o pixmap). Este tipo de imágenes, como se mencionó anteriormente, son representadas por una rejilla (&lt;span style="font-style: italic;"&gt;raster&lt;/span&gt;) de píxeles y cuyas características principales son el tamaño y la profundidad.&lt;br /&gt;&lt;br /&gt;Sin embargo existen otro tipo de imágenes: las &lt;span style="font-weight: bold;"&gt;imágenes vectoriales&lt;/span&gt;. Éstas son formadas por objetos geométricos independientes (segmentos, polígonos, arcos, etc.), cada uno de ellos definido por distintos atributos matemáticos de forma, de posición, de color, etc. Por ejemplo un círculo de color rojo quedaría definido por la posición de su centro, su radio, el grosor de línea y su color. El interés principal de los gráficos vectoriales es poder ampliar el tamaño de una imagen a voluntad sin sufrir el efecto de escalado que sufren las imágenes rasterizadas. Asimismo, permiten mover, estirar y retorcer imágenes de manera relativamente sencilla.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SZzlRd-deiI/AAAAAAAAB-4/SKi4QTzAyss/s1600-h/PixelZoom.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 88px; height: 400px;" src="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SZzlRd-deiI/AAAAAAAAB-4/SKi4QTzAyss/s400/PixelZoom.png" alt="" id="BLOGGER_PHOTO_ID_5304366549402745378" border="0" /&gt;&lt;/a&gt;La imagen de la izquierda es un ejemplo en el que se pueden comparar las imágenes vectoriales (columna de la izquierda) con las imágenes rasterizadas (columna de la derecha) al ampliar las respectivas imágenes. Como se puede comprobar, a medida que aumenta el zoom las imágenes de la izquierda mantienen su calidad, mientras que los de la derecha van revelando paulatinamente los píxeles que conforman la imagen. Las imágenes vectoriales pueden ser escaladas ilimitadamente sin perder su calidad. Los dos ejemplos de ampliación al 300% y al 600% ilustran especialmente bien esta propiedad de las imágenes vectoriales: los contornos de las figuras geométricas (franjas blancas detrás de la letra A) no aumentan proporcionalmente en la figura en el caso de la imagen rasterizado.&lt;br /&gt;&lt;br /&gt;Con esta breve introducción a imágenes digitales quedan establecidas la bases necesarias para entender el medio en donde ocultaremos información. Sólo nos queda el utilizar las técnicas para esconder información dentro de ellas. Los métodos que se tratarán en este blog utilizaran imágenes fijas.&lt;br /&gt;&lt;br /&gt;En la siguiente entrada veremos cómo ocultar información en una imagen rasterizada utilizando la técnica LSB.&lt;br /&gt;&lt;br /&gt;Como nota final, de ahora en adelante llamaremos a las imágenes rasterizadas simplemente como imágenes.&lt;br /&gt;&lt;br /&gt;Que estén bien :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogalaxia.com/tags/imagenes+en+escala+de+grises" rel="tag"&gt;imagenes en escala de grises&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/imagenes+a+color" rel="tag"&gt;Imágenes a color&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/lena" rel="tag"&gt;Lena&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/modelos+de+color" rel="tag"&gt;Modelos de color&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/profundidad" rel="tag"&gt;Profundidad&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/pixel" rel="tag"&gt;Píxel&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/resolucion" rel="tag"&gt;Resolución&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/rgb" rel="tag"&gt;RGB&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8168201438564643048-3134673097908338923?l=watermarkero.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watermarkero.blogspot.com/feeds/3134673097908338923/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://watermarkero.blogspot.com/2009/02/un-poco-de-imagenes.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/3134673097908338923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/3134673097908338923'/><link rel='alternate' type='text/html' href='http://watermarkero.blogspot.com/2009/02/un-poco-de-imagenes.html' title='Un poco de imágenes'/><author><name>Pedro Aarón</name><uri>http://www.blogger.com/profile/10599322905255037522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_hNLfnbtnZ0w/ScKy-2KQwCI/AAAAAAAACDA/vFC-nY_ygRY/S220/IMG_1129.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_hNLfnbtnZ0w/SZzVyZKNZRI/AAAAAAAAB-o/t84QjvAOurU/s72-c/lena256.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8168201438564643048.post-5807419037829957608</id><published>2009-02-02T00:36:00.016-06:00</published><updated>2009-04-13T21:45:53.755-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ataques'/><category scheme='http://www.blogger.com/atom/ns#' term='Marcas de Agua'/><title type='text'>Clasificaciones de las marcas de agua</title><content type='html'>Existen muchas clasificaciones de la marcas de agua pero las principales se muestran a continuación&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hNLfnbtnZ0w/SeP1oSVgmkI/AAAAAAAACKw/ayuHkhBhl2A/s1600-h/ClasificacionesWatermarking.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 176px;" src="http://3.bp.blogspot.com/_hNLfnbtnZ0w/SeP1oSVgmkI/AAAAAAAACKw/ayuHkhBhl2A/s400/ClasificacionesWatermarking.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5324369256947685954" /&gt;&lt;/a&gt;&lt;br /&gt;De todas estas, nos centraremos en la clasificación por su uso específico. De esta forma, las marcas de agua se pueden usar para &lt;span style="font-weight: bold;"&gt;evitar detección del mensaje incrustado&lt;/span&gt;. Para lograr este objetivo la incrustación del mensaje debe distorsionar poco al medio portador, esto se hace para no levantar sospecha alguna de que hay algo oculto. Por ejemplo, si se esconde información en una imagen y la imagen marcada resulta muy distorsionada, entonces se generarán sospechas de que la imagen ha sido modificada provocando que la imagen sea analizada para ver si existe  información dentro de ella.   Entonces, para evitar la detección del mensaje incrustado se deben evitar distorsiones en el medio marcado. A las técnicas de marcas de agua encargadas de esto se llaman técnicas de &lt;span style="font-weight: bold;"&gt;ocultamiento de información&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Las marcas de agua se pueden usar para &lt;span style="font-weight: bold;"&gt;evitar la eliminación del mensaje incrustado&lt;/span&gt; para ello se utilizan las llamadas &lt;span style="font-weight: bold;"&gt;marcas&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;de agua robustas&lt;/span&gt;. Este tipo de marcas de agua resisten ciertos ataques hechos al medio marcado, de esta forma se utilizan para esconder información de protección de derechos de autor y de copia, entre otros.&lt;br /&gt;&lt;br /&gt;Las &lt;span style="font-weight: bold;"&gt;marcas de agua frágiles y semi frágiles&lt;/span&gt; son utilizadas para &lt;span style="font-weight: bold;"&gt;evitar falsificaciones hechas a los medios marcados&lt;/span&gt;. Una característica de este tipo de esquemas es,  al contrario de las marcas de agua robustas, que no resisten ataques o distorsiones hechas al medio marcado.  Si el medio marcado es modificado entonces la marca se pierde, lo que constituye una posible falsificación.&lt;br /&gt;&lt;br /&gt;Como podemos ver las cada uno de estos tipos de marcas de agua son utilizados por aplicaciones específicas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;El ocultamiento de información&lt;/span&gt; es utilizada por aplicaciones en las que se desea mantener la información incrustada en secreto. Es decir, estas aplicaciones requieren un &lt;span style="color: rgb(102, 0, 204);"&gt;bajo impacto perceptal&lt;/span&gt; (pocas distorsiones) para evitar sospechas.&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Las marcas de agua &lt;/span&gt;robustas&lt;/span&gt; son utilizadas por aplicaciones que se necesita &lt;span style="color: rgb(102, 0, 204);"&gt;resistir distorsiones &lt;/span&gt;en el medio marcado.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Las marcas de agua &lt;/span&gt;frágiles y semi frágiles&lt;/span&gt; son usadas por aplicaciones que &lt;span style="color: rgb(0, 0, 0);"&gt;verifican la integridad u originalidad del medio marcado&lt;/span&gt;, para ello&lt;span style="color: rgb(102, 0, 204);"&gt; no resisten distorsiones&lt;/span&gt; hechas a los medios marcados.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;----------------&lt;br /&gt;Antes de continuar.....&lt;span style="font-weight: bold;"&gt;Hablemos de ataques&lt;/span&gt;&lt;br /&gt;Los ataques se clasifican en:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ataques activos: Distorsionan o modifican el medio marcado para  eliminar el mensaje incrustado o evitar que la función de extracción lo encuentre. Ejemplos de estos ataques son: en imágenes: Compresiones son pérdida(JPEG,GIF),  filtrados, cambio de contraste, brillo, histogramas, modificaciones geométricas (rotaciones, translaciones, espejo,etc) entre otras.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Ataques pasivos: Analizan el medio marcado para determinar la existencia de un mensaje, el tamaño del mismo o simplemente para extraerlo. Ejemplos de estos son los ataques visuales y los ataques estadísticos (Chi-cuadrada).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Más adelante haremos ejemplos de estos ataques.&lt;br /&gt;----------------&lt;br /&gt;&lt;br /&gt;Los &lt;span style="font-weight: bold; font-style: italic;"&gt;requerimientos básicos&lt;/span&gt; de una aplicación de marcas de agua son tres: &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Capacidad&lt;/span&gt;&lt;span&gt;: Es la cantidad máxima de información que puede ser ocultada en un medio.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Robustez&lt;/span&gt;&lt;span&gt;: Es la capacidad que tiene un algoritmo de marcas de agua para poder extraer el mensaje incrustado del medio marcado después de que éste último haya sido atacado.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Impacto perceptual&lt;/span&gt;: Un algoritmo de marcas de agua es verdaderamente imperceptible si no se puede distinguir a simple vista las diferencias entre el medio marcado y el medio original. Aunque esta capacidad es en origen subjetiva, existen métricas para evaluarla. Como ejemplo se tiene a la relación señal a ruido (PSNR), el error cuadrático medio (EMS), la correlación, el error absoluto máximo (MAE), etc. Nótese que para poder evaluar esta capacidad es necesario comparar al medio marcado con el medio original. Como normalmente se distribuye el medio marcado sin el medio portador es suﬁciente que las modiﬁcaciones en el medio marcado pasen desapercibidas para que el algoritmo de marcas de agua utilizado sea considerado como imperceptible. &lt;/li&gt;&lt;/ol&gt;De esta forma una aplicación hecha para verificar la integridad de imágenes médicas (para evitar modificar ultrasonidos, imágenes de rayos X, etc.) requiere un bajo impacto perceptual, una poca robustez y poca capacidad, es decir se ubicaría en la región más azul (cercana al cruce de ejes) de la gráfica siguiente. Esta gráfica muestra la relación entre estos requerimientos básicos.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hNLfnbtnZ0w/SeP1pKzx9vI/AAAAAAAACK4/K-47BazgBuA/s1600-h/RelacionRequerimientos.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 304px;" src="http://3.bp.blogspot.com/_hNLfnbtnZ0w/SeP1pKzx9vI/AAAAAAAACK4/K-47BazgBuA/s400/RelacionRequerimientos.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5324369272107038450" /&gt;&lt;/a&gt;&lt;br /&gt;Por otro lado, una aplicación para proteger imágenes satelitales (derechos de autor), necesita ser resistente a diferentes esquemas de compresión con pérdida (es decir que la imagen comprimida no es la misma que la imagen original, puesto que existió una perdida en los píxeles e. g. JPEG). Se necesita esta resistencia pues los posibles ladrones de las imágenes, por lo general, saben de la existencia de la &lt;span style="font-weight: bold;"&gt;marca&lt;/span&gt; (mensaje oculto), entonces ellos proceden a tratar de eliminarla modificando el medio marcado, evitando dejarlo muy distorsionado ya que no les serviría. Este tipo de aplicaciones robustas impactan perceptualmente al medio marcado pues se utiliza mucha redundancia de información(repetir muchas veces la misma marca) y métodos que guardan información distorsionando mucho al medio. Hay que notar que la capacidad de este tipo de esquemas es mínima, pues la redundancia  decrementa la capacidad. La ubicación de estos esquemas en la gráfica anterior es cercana a la zona amarilla y roja.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bueno... ya basta de choro mareador (bla bla bla) en la siguiente entrada realizaremos un esquema de marcas de agua para imágenes llamado LSB (least significant bit).&lt;br /&gt;&lt;br /&gt;Que estén bien, estamos en contact...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogalaxia.com/tags/aplicaciones" rel="tag"&gt;Aplicaciones&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/capacidad" rel="tag"&gt;Capacidad&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/esteganografia" rel="tag"&gt;Esteganografía&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/impacto+perceptual" rel="tag"&gt;Impacto perceptual&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/lsb" rel="tag"&gt;LSB&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/requerimientos" rel="tag"&gt;Requerimientos&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/robustez" rel="tag"&gt;Robustez&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/watermarking" rel="tag"&gt;Watermarking&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/watermarking+fragil" rel="tag"&gt;Watermarking fragil&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/watermarking+robusto" rel="tag"&gt;Watermarking robusto&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8168201438564643048-5807419037829957608?l=watermarkero.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watermarkero.blogspot.com/feeds/5807419037829957608/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://watermarkero.blogspot.com/2009/02/clasificaciones-de-las-marcas-de-agua.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/5807419037829957608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/5807419037829957608'/><link rel='alternate' type='text/html' href='http://watermarkero.blogspot.com/2009/02/clasificaciones-de-las-marcas-de-agua.html' title='Clasificaciones de las marcas de agua'/><author><name>Pedro Aarón</name><uri>http://www.blogger.com/profile/10599322905255037522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_hNLfnbtnZ0w/ScKy-2KQwCI/AAAAAAAACDA/vFC-nY_ygRY/S220/IMG_1129.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_hNLfnbtnZ0w/SeP1oSVgmkI/AAAAAAAACKw/ayuHkhBhl2A/s72-c/ClasificacionesWatermarking.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8168201438564643048.post-714318185213922156</id><published>2009-01-31T00:20:00.037-06:00</published><updated>2009-04-13T21:22:04.343-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Esteganografía'/><category scheme='http://www.blogger.com/atom/ns#' term='Criptografía'/><title type='text'>Esteganografía vs. Criptografía</title><content type='html'>La &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;esteganografía&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; y &lt;span style="font-style: italic;"&gt;criptografía&lt;/span&gt; provienen de vocablos griegos similares, las dos buscan ocultar un mensaje importante de un posible atacador (alguien que desee conocer la información original sin permiso) pero llevan a cabo dicho &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;ocultamiento&lt;/span&gt;&lt;/span&gt; de forma muy diferente.&lt;br /&gt;&lt;br /&gt;La manera más &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;fácil&lt;/span&gt; de entender la diferencia de la criptografía y la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;esteganografía&lt;/span&gt;&lt;/span&gt; es entendiendo el problema del prisionero (J. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Simpson&lt;/span&gt;&lt;/span&gt;, 1983), el cual es:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 204); font-style: italic;"&gt;¿Cómo pueden comunicarse dos prisioneros (e. g. para acordar un plan de fuga) si están en celdas separadas y todos los mensajes que intercambian pasa&lt;/span&gt;&lt;span style="color: rgb(102, 0, 204); font-style: italic;"&gt;n a través de un guardián?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Primero, la abreviatura&lt;span style="font-style: italic;"&gt; e.  g.&lt;/span&gt;  proviene del &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;latín&lt;/span&gt; &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;exempli&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;gratia&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; que significa "a modo de ejemplo" o simplemente "por ejemplo". Aclarado lo anterior, la situación es que dos prisioneros se quieren escapar pero el &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;guardián&lt;/span&gt; lee todos los mensajes que se manden, así que deben &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;arreglárselas&lt;/span&gt; para llevar a cabo el escape. Para hacerlo más interesante a los prisioneros  les llamaremos &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Michael&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; y &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Linc&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, mientras que el &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;guardián&lt;/span&gt; se llamará &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Bellick&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; (cualquier parecido con la serie &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;prison&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;break&lt;/span&gt;&lt;/span&gt; es mera coincidencia). Un diagrama de esta &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;situación&lt;/span&gt; se muestra e la siguiente figura&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SePs7kKtbSI/AAAAAAAACKA/tjMg-CAFCtY/s1600-h/Prisioneros.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 221px;" src="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SePs7kKtbSI/AAAAAAAACKA/tjMg-CAFCtY/s400/Prisioneros.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5324359692547091746" /&gt;&lt;/a&gt;&lt;br /&gt;De esta forma, si &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Michael&lt;/span&gt;&lt;/span&gt; le manda a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Linc&lt;/span&gt;&lt;/span&gt; el mensaje: &lt;span style="font-style: italic;"&gt;"El escape es el &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;sábado&lt;/span&gt; tengo todo arreglado..."&lt;/span&gt;,  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Bellick&lt;/span&gt;&lt;/span&gt; descubrirá su plan de escape, lo cual provocaría la destrucción del mensaje y  una tremenda &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;putiza&lt;/span&gt;&lt;/span&gt; , para que se les quiten esas ideas locas de la cabeza.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hNLfnbtnZ0w/SePs7-8uRsI/AAAAAAAACKQ/fCGGRtgbWR4/s1600-h/PrisionerosEscape.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 233px;" src="http://3.bp.blogspot.com/_hNLfnbtnZ0w/SePs7-8uRsI/AAAAAAAACKQ/fCGGRtgbWR4/s400/PrisionerosEscape.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5324359699736184514" /&gt;&lt;/a&gt;&lt;br /&gt;Pero como todos sabemos que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Michael&lt;/span&gt;&lt;/span&gt; es un erudito y conoce de la criptografía entonces lo que hace es &lt;span style="font-style: italic;"&gt;cifrar&lt;/span&gt; el mensaje que le envía a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Linc&lt;/span&gt;&lt;/span&gt; (claro esta!,  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;Linc&lt;/span&gt;&lt;/span&gt; conoce como &lt;span style="font-style: italic;"&gt;descifrar&lt;/span&gt; el mensaje) para que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Bellic&lt;/span&gt;&lt;/span&gt; no lo entienda. Pero &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Bellick&lt;/span&gt;&lt;/span&gt; al ver el mensaje cifrado, sospecha y lo destruye, evitando nuevamente su escape . Y como se imaginarán, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Bellick&lt;/span&gt;&lt;/span&gt; les dará una &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;putiza&lt;/span&gt;&lt;/span&gt; para saber que se andan tramando.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hNLfnbtnZ0w/SePs7v8KOVI/AAAAAAAACKI/ldJ9_cyqlXs/s1600-h/PrisionerosCriptografia.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://2.bp.blogspot.com/_hNLfnbtnZ0w/SePs7v8KOVI/AAAAAAAACKI/ldJ9_cyqlXs/s400/PrisionerosCriptografia.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5324359695707289938" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hNLfnbtnZ0w/SYP8lQCD-iI/AAAAAAAAB70/VpBlSa_YTTo/s1600-h/CRIPTA.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 142px; height: 113px;" src="http://2.bp.blogspot.com/_hNLfnbtnZ0w/SYP8lQCD-iI/AAAAAAAAB70/VpBlSa_YTTo/s400/CRIPTA.jpg" alt="" id="BLOGGER_PHOTO_ID_5297355303606811170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ojo!...&lt;span style="font-style: italic;"&gt;e&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;ncriptar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; y &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;desencriptar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; no es lo mismo que cifrar y descifrar, esas dos primeras palabras tienen que ver con criptas.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Otra alternativa que puede tomar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;Michael&lt;/span&gt;&lt;/span&gt; es utilizar la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;esteganografía&lt;/span&gt;&lt;/span&gt; para esconder el mensaje, pero ahora lo haría de una manera tal que dicho mensaje se escondería dentro de otro mensaje menos importante,  es decir un medio portador inocuo. Así,  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;Michael&lt;/span&gt;&lt;/span&gt; le manda  a  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;Linc&lt;/span&gt;&lt;/span&gt; el siguiente  mensaje:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_hNLfnbtnZ0w/SePs70SOPkI/AAAAAAAACKY/0ivMmCK6x1I/s1600-h/PrisionerosEsteganografia.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 244px;" src="http://3.bp.blogspot.com/_hNLfnbtnZ0w/SePs70SOPkI/AAAAAAAACKY/0ivMmCK6x1I/s400/PrisionerosEsteganografia.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5324359696873569858" /&gt;&lt;/a&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;Bellick&lt;/span&gt;&lt;/span&gt; al leer el mensaje piensa que no hay nada extraño y lo deja pasar a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;Linc&lt;/span&gt;&lt;/span&gt;. Sin embargo, esta nota tiene un mensaje oculto el cual se puede observar en la siguiente imagen&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hNLfnbtnZ0w/SePs8Z056YI/AAAAAAAACKg/eXazgwIRJNg/s1600-h/PrisionerosEsteganografiaRevelada.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 244px;" src="http://4.bp.blogspot.com/_hNLfnbtnZ0w/SePs8Z056YI/AAAAAAAACKg/eXazgwIRJNg/s400/PrisionerosEsteganografiaRevelada.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5324359706951149954" /&gt;&lt;/a&gt;Con esto, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;Michael&lt;/span&gt;&lt;/span&gt; y &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;Linc&lt;/span&gt;&lt;/span&gt; planean el escape de la prisión sin levantar sospecha alguna. Ahora imaginemos un escenario pero ahora en nuestros días. Bellick es un &lt;span style="font-weight: bold;"&gt;Hacker&lt;/span&gt; famoso y está analizando todos los mensajes que envían Michael y Linc. Si se utiliza la criptografía Bellick trataría de romper dicha codificación para obtener la información oculta, en cambio si se utiliza la esteganografía Bellick no sabría que existen mensajes encubiertos en dicha comunicación, manteniendo el secreto a salvo. Es importante mencionar que un &lt;span style="color: rgb(102, 0, 204);"&gt;sistema estaganográfico o de marcas de agua utiliza la criptografía (cifrando el mensaje que se oculta)&lt;/span&gt; para obtener una mayor seguridad, por si logran romper el esquema de marcas de agua.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SePtEuZdAWI/AAAAAAAACKo/7quTGIU38ws/s1600-h/PrisionerosHoy.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 270px;" src="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SePtEuZdAWI/AAAAAAAACKo/7quTGIU38ws/s400/PrisionerosHoy.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5324359849912107362" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Con este ejemplo se puede notar la diferencia sutil  de como ocultan la información estás dos disciplinas. Podemos concluir que el objetivo de la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;esteganografía&lt;/span&gt;&lt;/span&gt; es pasar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;desapersivida&lt;/span&gt;&lt;/span&gt; y el de la criptografía es evitar ser decodificada (o descifrada).&lt;br /&gt;&lt;br /&gt;Antes de terminar, existe un tipo de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;esteganografía&lt;/span&gt;&lt;/span&gt; que soporta distorsiones en el medio marcado, a ésta se le conoce como &lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;esteganografía&lt;/span&gt;&lt;/span&gt; robusta&lt;/span&gt;. Por ejemplo, imaginemos que el cabrón de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;Bellick&lt;/span&gt;&lt;/span&gt; se le ocurre cambiar unas palabras del &lt;span style="font-style: italic;"&gt;mensaje marcado&lt;/span&gt; (el que tiene información oculta). Si &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_44"&gt;utilizáramos&lt;/span&gt; el método anterior nuestro mensaje oculto se perdería, mientras que si &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_45"&gt;utilizáramos&lt;/span&gt; un método robusto, nuestro mensaje puede resistir este ataque de modificación.&lt;br /&gt;&lt;br /&gt;Muchos autores llaman a la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;esteganografía&lt;/span&gt;&lt;/span&gt; robusta como &lt;span style="font-style: italic;"&gt;marcas de agua&lt;/span&gt;. Hay que notar algo muy importante, tanto la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;esteganografía&lt;/span&gt;&lt;/span&gt; y las marcas de agua son métodos que ocultan información dentro de un medio... en principio son iguales, de hecho nosotros las tratamos como semejantes, pero muchos autores las toman como diferentes por la capacidad de resistencia ante ataques.&lt;br /&gt;&lt;br /&gt;En la siguiente entrada hablaremos de una pequeña clasificación de la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;esteganografía&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogalaxia.com/tags/criptografia" rel="tag"&gt;Criptografía&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/esteganografia" rel="tag"&gt;Esteganografía&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/problema+del+prisionero" rel="tag"&gt;Problema del prisionero&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8168201438564643048-714318185213922156?l=watermarkero.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watermarkero.blogspot.com/feeds/714318185213922156/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://watermarkero.blogspot.com/2009/01/esteganografia-vs-criptografia.html#comment-form' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/714318185213922156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/714318185213922156'/><link rel='alternate' type='text/html' href='http://watermarkero.blogspot.com/2009/01/esteganografia-vs-criptografia.html' title='Esteganografía vs. Criptografía'/><author><name>Pedro Aarón</name><uri>http://www.blogger.com/profile/10599322905255037522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_hNLfnbtnZ0w/ScKy-2KQwCI/AAAAAAAACDA/vFC-nY_ygRY/S220/IMG_1129.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_hNLfnbtnZ0w/SePs7kKtbSI/AAAAAAAACKA/tjMg-CAFCtY/s72-c/Prisioneros.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8168201438564643048.post-360428080652602535</id><published>2009-01-30T02:12:00.023-06:00</published><updated>2009-04-13T20:22:41.093-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Esteganografía'/><category scheme='http://www.blogger.com/atom/ns#' term='Watermarkero'/><category scheme='http://www.blogger.com/atom/ns#' term='Marcas de Agua'/><title type='text'>Watermarkero, ¿qué diablos es eso?</title><content type='html'>&lt;span style=";font-family:verdana;font-size:100%;" class="fullpost"  &gt;Un &lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;font-size:100%;"  &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;watermarkero&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt; es una persona&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt; que se dedica al &lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;font-family:verdana;font-size:100%;"  &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;watermarking&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;. Antes que nada, este término no existe en nuestro e&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;spañol&lt;/span&gt;, pero al ver que no hay uno que designe a dichas personas me he tomado el atrevimiento de crearlo. Claro!, si alguien está molesto por esta palabra y tiene otra que designe a las personas que realizan esta actividad que me lo hagan saber de esta forma aprenderemos una nueva palabra.&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;br /&gt;Pues bien, antes de seguir mi nombre es &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Ped&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;ro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Aarón&lt;/span&gt; y soy un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;watermarkero&lt;/span&gt; desde hace un par de años (desde 2007). Pero antes de seguir con este rollo hablaremos de que es el &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;watermarking&lt;/span&gt; o &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;font-family:verdana;font-size:100%;"  &gt;marcas de agua&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt; e&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;n español.  Ojo, para aquellos puristas de la lengua española (ya saben aquellos que traducen todo) quiero evitarme la pena de que nos llamen a los &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;watermarkeros&lt;/span&gt; como &lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;font-family:verdana;font-size:100%;"  &gt;marcadores de agua&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;, lo cual se escucha tan feo como la &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;traducción&lt;/span&gt; del famoso nombre &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Luke&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;SkyWalker&lt;/span&gt; a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Lucas&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Trotacielos&lt;/span&gt;&lt;em&gt;&lt;/em&gt;, ¡es Terrible!.&lt;br /&gt;&lt;br /&gt;Regresando al tema, &lt;span style="color: rgb(102, 0, 204); font-style: italic;"&gt;las marcas de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;agu&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="color: rgb(102, 0, 204); font-style: italic;"&gt;a describen técnicas para esconder &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;inform&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="color: rgb(102, 0, 204); font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;ación&lt;/span&gt; en un medio&lt;/span&gt;. Esta información (o &lt;span style="font-style: italic;"&gt;mensaje&lt;/span&gt;) puede ser variada: números de serie, imágenes, datos del creador del &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;medi&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;o, etc. De igual forma el &lt;span style="font-style: italic;"&gt;medio portador&lt;/span&gt; puede ser una imagen, un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;video&lt;/span&gt;, un clip de audio, texto, etc. Por ejemplo, las &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;técnicas&lt;/span&gt; de marcas de agua permiten ocultar información del autor de una imagen dentro de los &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;píxeles&lt;/span&gt; de la misma, mediante el uso de una función de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;ocultamiento&lt;/span&gt;, esta información importante queda encubierta dentro de la imagen, la cual al ser medio &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_21"&gt;inocuo&lt;/span&gt; (p&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;oco&lt;/span&gt; importante) puede pasar de&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;sapercibido&lt;/span&gt; evitando que un atacante conozca la información original (importante). En sistema de marcas de agua simple se muestra en la figura siguiente&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SePjhEbv7SI/AAAAAAAACJ4/MHuemd1AdGw/s1600-h/SistemaEsteganografico.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 165px;" src="http://1.bp.blogspot.com/_hNLfnbtnZ0w/SePjhEbv7SI/AAAAAAAACJ4/MHuemd1AdGw/s400/SistemaEsteganografico.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5324349341747375394" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;Otra forma de llamar a las técnicas de marcas&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt; de agua son: &lt;span style="font-style: italic;"&gt;técnicas &lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;"  &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;esteganográficas&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;,&lt;span style="font-style: italic;"&gt; técnicas de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;ocultamiento&lt;/span&gt; de&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;inf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;ormación&lt;/span&gt;&lt;/span&gt; (&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;"  &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;information&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;hiding&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;) o &lt;span style="font-style: italic;"&gt;técnicas de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;incrustamiento&lt;/span&gt; de datos &lt;/span&gt;(&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;"  &gt;data &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;embedding&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;). Las cuales tienen como fin el ocultar información dentro de un medio.&lt;br /&gt;&lt;br /&gt;Antes de continuar, tengo que aclarar que la forma antigua (y actual, pero menos utilizada) de llamar a las marcas de agua es &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0); font-style: italic;font-family:verdana;font-size:100%;"  &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;esteganografía&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;. Esta palabra viene de las raíces griegas:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div  style="text-align: center;font-family:verdana;"&gt;&lt;span style="font-weight: bold; font-style: italic;font-size:100%;" &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;steganos&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; = esconder, encubrir&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;font-size:100%;" &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;graphos&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; = escribir&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;br /&gt;Lo cual forma el significado de "&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(102, 51, 102);font-family:verdana;font-size:100%;"  &gt;escritura encubierta o escondida&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;". Esta palabra antigua tiene &lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;"  &gt;casi&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt; el mismo significado de otra palabra muy conocida: &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 0, 0);font-family:verdana;font-size:100%;"  &gt;criptografía&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;. La cual proviene de los vocablos griegos:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div  style="text-align: center;font-family:verdana;"&gt;&lt;span style="font-weight: bold; font-style: italic;font-size:100%;" &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;Kryptos&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; = ocultar&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;font-size:100%;" &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;graphos&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; = escribir&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;lo cual junto significa "&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(102, 51, 102);font-size:100%;" &gt;escritura  oculta&lt;/span&gt;&lt;span style="font-size:100%;"&gt;". Pero no hay que confundirlas, porque cada una de estas disciplinas tiene formas de ocultar la información muy específicas. Por ejemplo en el caso de la criptografía se ocultaría información mediante la distorsión de la misma, la cual queda ilegible. De esta forma se evita que un atacante pueda conocer la información original.&lt;br /&gt;&lt;br /&gt;En la siguiente entrada del blog les mencionaré, con un ejemplo muy intuitivo, la diferencia entre la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;esteganografía&lt;/span&gt; y la criptografía. Estamos  en contacto ... espero sus valiosos comentarios, recomendaciones o lamentaciones.... &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;jajaja&lt;/span&gt; saludos  :)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogalaxia.com/tags/data+embedding" rel="tag"&gt;Data embedding&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/esteganografia" rel="tag"&gt;Esteganografía&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/incrustamiento+de+datos" rel="tag"&gt;incrustamiento de datos&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/information+hiding" rel="tag"&gt;Information hiding&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/marcas+de+agua" rel="tag"&gt;Marcas de Agua&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/ocultamiento+de+informacion" rel="tag"&gt;Ocultamiento de información&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/watermarkero" rel="tag"&gt;Watermarkero&lt;/a&gt; &lt;a href="http://www.blogalaxia.com/tags/watermarking" rel="tag"&gt;Watermarking&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8168201438564643048-360428080652602535?l=watermarkero.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watermarkero.blogspot.com/feeds/360428080652602535/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://watermarkero.blogspot.com/2009/01/watermarkero-que-cosa-es-eso.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/360428080652602535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8168201438564643048/posts/default/360428080652602535'/><link rel='alternate' type='text/html' href='http://watermarkero.blogspot.com/2009/01/watermarkero-que-cosa-es-eso.html' title='Watermarkero, ¿qué diablos es eso?'/><author><name>Pedro Aarón</name><uri>http://www.blogger.com/profile/10599322905255037522</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_hNLfnbtnZ0w/ScKy-2KQwCI/AAAAAAAACDA/vFC-nY_ygRY/S220/IMG_1129.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_hNLfnbtnZ0w/SePjhEbv7SI/AAAAAAAACJ4/MHuemd1AdGw/s72-c/SistemaEsteganografico.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
