Tuesday, November 11, 2008

Esteganografia en Video

“OCULTAMIENTO DE UN TEXTO EN VIDEO”
La esteganografía NO es un tipo de criptografía

Del griego steganoz (steganos, encubierto -con el sentido de oculto-) y graptoz (graphos, escritura) nace el término esteganografía: el arte de escribir de forma oculta. Aunque κρυπτός (criptos, oculto) y steganoz (steganos, encubierto) puedan parecer en un principio términos equivalentes, o al menos similares, son cosas completamente distintas. La criptografía es el arte de escribir de forma enigmática (según la Real Academia Española), mientras que la esteganografía es el arte de escribir de forma oculta. Puede que sigan pareciendo similares, pero las connotaciones toman mucho valor al analizarlo detenidamente: la criptografía tiene su fuerza en la imposibilidad de comprender el mensaje, mientras que la esteganografía la tiene en el desconocimiento de que el mensaje siquiera existe.

Aplicado al campo informático, podemos dar los siguientes ejemplos: nosotros podríamos robar un mensaje cifrado con relativa facilidad, pero aún sabiendo que contiene información importante seríamos incapaces de obtener información alguna de él (si la criptografía ha cumplido con su cometido). Respecto a la esteganografía, nosotros podríamos capturar el tráfico completo de un individuo y tratar de analizarlo completamente (y el “ruido de fondo” hoy en día es mucho), sin tener la certeza de que haya o no un mensaje oculto.

El termino Esteganografía proviene del griego “steganos” (SECRETO) y grafía (ESCRITO). Algunos autores lo conocen también como el arte de esconder un mensaje dentro de una imagen, sonido o video; o como la ciencia de comunicar de manera oculta un mensaje.
La esteganografía trata de esconder un mensaje dentro de otro mensaje, de forma que el segundo mensaje pueda estar a la vista de todos, y sólo el receptor, procesándolo de alguna forma especial, pueda recuperar el mensaje codificado.
Existen miles de maneras de incluir un mensaje, sonido o imagen dentro de un fichero, pero los métodos cambian mucho en función del tipo de archivo que nos servirá de cubierta.

BASES DE LA ESTEGANOGRAFÍA

El desarrollo de la informática e Internet ha supuesto el marco perfecto para que la esteganografía alcance su mayoría de edad. Los avances en computación nos proporcionan medios para calcular rápidamente los cambios necesarios en la ocultación de un mensaje, e Internet proporciona los medios necesarios para
transportar grandes cantidades de información a cualquier punto del planeta.
La esteganografía actual se basa en esconder datos binarios en la maraña de bits que supone un fichero.
Los bits que componen el mensaje a ocultar se introducen (bien sea añadiéndolos, o realizando operaciones aritméticas con los originales) en el fichero ya existente, procurando que el fichero resultante después de realizar los cambios parezca el original.

¿Cómo logramos que el fichero resultante no parezca haber sido modificado?

Depende de qué tipo de fichero estemos modificando. Prácticamente cualquier tipo de fichero es bueno para ocultar datos en su interior, pero hay algunos (imágenes y sonido principalmente) que resultan ideales para este cometido.

Sea cual sea el tipo de información que queramos esteganografiar, y sea cual sea el medio en el que queremos hacerlo, hay ciertas reglas básicas:
  • § Toda información (texto ASCII, hexadecimal, código morse...) que queramos introducir, debe ser primero convertida a binario. Si bien cualquier base numérica es válida, la comodidad trabajando con binario es mucho mayor.
  • § Nunca hay que permitir que un supuesto atacante obtenga el fichero original (anterior a la modificación), pues permitiría, mediante comparación, establecer pautas de cambios en la información. Esto podría llevar en última instancia a desentrañar el mensaje oculto.
  • § Las cabeceras de los ficheros -salvo excepciones- NO deben ser modificadas.
  • § No transmitir la clave o algoritmo esteganográfico por un medio inseguro.
El video presenta una gran cantidad de fotogramas (imágenes) en la cual podremos ocultar un gran tamaño de texto, como también la velocidad del video a transmitir se debe a la cantidad de fotogramas mostradas por segundo, y debido a su rápida de intermisión de imágenes la distorsión al ocultar el texto no será visualizado con facilidad.
Utilizaremos los archivos de audio del video para poder ocultar el decodificador del texto a ocultar, realizando la misma operación de esteganografia de imagen de guardar un bit en cada dato del audio ya sea en LSB(bit menos significativo).
Para poder ocultar el texto en los fotogramas, convertimos el texto en código ASCII, este código guarda el carácter de cada texto en 8bits, luego realizamos una operación de sumar y restar dichos códigos, ya que el código ASCII es el mas utilizado en la esteganografia por computadora.
Con la operación de sumar y restar aseguramos el ocultamiento de nuestro texto esta dato que altera el codigo ASCII es guardada en el los datos de audio con el fin que al momento de recuperar el texto, obtenemos los datos del audio para poder decodificar el texto oculto en los fotogramas.
Para poder ocultar los datos binarios ya sea en cada píxel o cada data del audio en los bits menos significativos. Realizamos la operación de convertir a par todos los datos con el fin de colocar a cero los bits menos significativos.Ya con ello ocultamos los datos del texto y el decodificador en os bits menos significativos, pudiendo recuperarlo Luego.



Wednesday, June 11, 2008

TeX y LaTeX


TEΧ, es un sistema de tipografía escrito por Donald E. Knuth, muy popular en el ambiente académico, especialmente entre las comunidades de matemáticos, físicos e informáticos. TeX es generalmente considerado como la mejor forma de componer complejas fórmulas matemáticas, pero, especialmente en la forma de LaTeX y otros paquetes de macros, se puede usar para otras tareas de composición.

El LaTeX es un procesador de textos para todo aquel que quiera realizar artículos, libros, reportes, tesis, pósteres o cualquier texto con calidad profesional, está formado mayoritariamente por órdenes (macros) construidas a partir de comandos de TeX —un lenguaje «de bajo nivel», en el sentido de que sus acciones últimas son muy elementales— pero con la ventaja añadida, en palabras de Lamport, de «poder aumentar las capacidades de LaTeX utilizando comandos propios del TeX descritos en The TeXbook». Esto es lo que convierte a LaTeX en una herramienta práctica y útil pues, a su facilidad de uso, se une toda la potencia de TeX.

La idea principal de LaTeX es que el autor se centra en el contenido y no en la forma del documento. Para lograr esto, LaTeX está provisto de una serie de macros y estilos predefinidos.
El último aspecto a remarcar es que LaTeX es realmente fantástico escribiendo formulas matemáticas. Se pueden hacer formulas en un tiempo muy corto.

Actualmente LaTeX es un producto muy evolucionado con respecto a la versión original de Leslie Lamport y a su espectacular auge ha contribuido el que es un producto gratuito, de gran calidad, de gran flexibilidad, que nació para adaptarse constantemente a las evoluciones informáticas, que es utilizado en plan profesional por muchas empresas editoriales y que muchas personas producen constantemente paquetes que resuelven las necesidades de casi todos sus potenciales usuarios.


Mis primeros pasos

  1. Veamos como crear un documento LaTeX en un entorno Windows:
    Lo primero es instalar el core de TeX. La implementación libre de TeX para Windows se llama MixTeX. Así que lo primero es bajar e instalar MiKTeX. En este enlace hay una guía de cómo instalar el paquete, caso de que hayéis dificultades en el proceso. Advertencia: el proceso de instalación es lento, ya que se basa en la instalación de componentes tras extracción individual de paquetes CAB.

  2. Después de la instalación, tenemos que recurrir a un editor LaTeX que nos posibilite interactuar con el core. La oferta es amplia, pero yo os recomiendo TeXnicCenter principalmente por que es GPL y ya sabéis lo bueno que es eso . Libre y gratuíto, sin crackeos, spyware ni nada que se le parezca. Software legítimo y legal, sin coste. Así que, descargad TeXnicCenter.

  3. Ya casi estamos preparados para escribir en LaTeX. Otra de las ventajas de TeXnicCenter es que reconocerá que tenemos el core de MiKTeK instalado, y nos hará las asociaciones necesarias para que la totalidad de módulos esté operativa. Al menos, los módulos esenciales. Iniciamos TeXnicCenter, y nos aparecerá el típico configurador, con algunas cosillas que quizás veamos “raras”. Lo primero es introducir un visor PostScript. Aquí tenemos dos opciones: si somos usuarios Adobe Acrobat pues usamos el de Adobe Distiller (ACRODIST.EXE, creo que se llama), que está muy bien, o bien nos buscamos la vida con un visor libre. Para nuestra fortuna, existe Ghostscript. Nos bajamos e instalamos Ghostscript, es algo más enrevesado que tirar de Adobe, pero bueno, es software libre (evidentemente, bajamos la GPL, hay versiones comerciales y restrictivas también disponibles). Se nos solicitará un visor PDF, así que podemos tirar nuevamente de Ghostscript. Cuando TeXnicCenter nos solicite dónde está nuestro visor PostScript y nuestro visor PDF, apuntamos en la ruta al fichero gswin32.exe, que se habrá instalado en la carpeta de binarios bin, allá donde hayamos instalado Ghostscript (c:\gs , si no la has cambiado) . Aqui les dejo este tutorial de instalación.
Información General
Los paquetes permiten que nosotros usemos comandos adicionales sin tener que incluir toneladas y toneladas de codigo en el preámbulo de un documento. En vez, sólo añadimos la línea. \usepackage{package name}
Y tenemos acceso para todos los comandos, símbolos, etcétera., Eso está en el paquete.
Ejemplo 1:
  • \documentclass[12pt]{article} % Clase de documento: artículo y tamaño de letra
  • \usepackage[spanish]{babel} % Manejo de idiomas
  • \usepackage[latin1]{inputenc} % Escritura en castellano con acentos
  • \usepackage[T1]{fontenc} % Escritura en castellano con acentos
  • \usepackage{times} % Fuente de letras
  • \title{Mi primer artículo} % Título
  • \author{Quien escribe} % Autor. Pueden ser varios agregando \and Otro autor
  • \date{\today} % Fecha siempre actualizada al día presente al compilar.
  • \begin{document} % Inicio del documento
  • \maketitle % Hace la portada
  • \tableofcontents % Hace el índice de contenidos.
  • \section{Introducción} % Primera sección, se incluye en el índice.
  • Aquí escribo la introducción. Cada párrafo se separa con una línea en blanco.
  • \section{Cuerpo del artículo} % Otra sección.
  • Puedo hacer que el texto vaya en cursiva con \emph{texto en cursiva}. Hacer una enumeración:
  • \begin{enumerate}
  • \item Investigación
  • \item Robotica
  • \item Investigación
  • \end{enumerate}
  • Las notas a pie se hacen con \footnote{Texto que aparecerá en la nota a pie de página.}.
  • \section{Conclusión}
  • Aquí escribo la conclusión.
  • \end{document} % Fin del documento.

Ejemplo 2:
  • \documentclass[12pt]{book} % Clase de documento: artículo y tamaño de letra
  • \usepackage[spanish]{babel} % Manejo de idiomas
  • \usepackage[latin1]{inputenc} % Escritura en castellano con acentos
  • \usepackage[T1]{fontenc} %Escritura en castellano con acentos
  • \usepackage{times} % Fuente de letras
  • \title{Mi primer artículo}
  • \author{Quien escribe}
  • \date{\today}
  • \begin{document}
  • \maketitle
  • \frontmatter
  • \tableofcontents
  • \chapter{Introducción}
  • Aquí escribo la introducción. Cada párrafo se separa con una línea en blanco.
  • \mainmatter
  • \chapter{Cuerpo del artículo}
  • Puedo hacer que el texto vaya en cursiva con \emph{texto en cursiva}. Hacer una enumeración:
  • \begin{enumerate}
  • \item Investigación
  • \item Robotica
  • \item Automatización
  • \end{enumerate}
  • Las notas a pie se hacen con \footnote{Texto que aparecerá en la nota a pie de página.}.
  • \backmatter
  • \chapter{Conclusión}
  • Aquí escribo la conclusión.
  • \end{document}

Link