• No se han encontrado resultados

Ocultamiento de información en documentos electrónicos de tipo PostScript

N/A
N/A
Protected

Academic year: 2023

Share "Ocultamiento de información en documentos electrónicos de tipo PostScript"

Copied!
83
0
0

Texto completo

(1)


 


INSTITUTO
POLITECNICO
NACIONAL


ESCUELA
SUPERIOR
DE
INGENIERIA
MECANICA
Y
ELECTRICA
UNIDAD
 CULHUACAN


SECCIÓN
DE
ESTUDIOS
DE
POSTGRADO
E
INVESTIGACIÓN


ESPECIALIZACIÓN
EN
SEGURIDAD
INFORMÁTICA
Y
TECNOLOGIAS
DE
LA
INFORMACIÓN


PRESENTA:


 C

ANO


J

IMÉNEZ


A

BEL

OCULTAMIENTO
DE
INFORMACIÓN
EN
DOCUMENTOS
ELECTRONICOS
DE
TIPO
 POSTSCRIPT


PARA
OBTENER
EL
TITULO
DE
ESPECIALISTA
EN
SEGURIDAD
INFORMÁTICA
Y
 TECNOLOGÍAS
DE
LA
INFORMACIÓN
 


ASESOR:


 D

R

.
M

ARIO


G

ONZÁLEZ


L

EE


 


(2)


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


(3)


 


(4)

CONTENIDO


CONTENIDO ... 4


INTRODUCCION ... 9


CAPITULO
1...10


HIPOTESIS ...10


OBJETIVO ...11


PLANTEAMIENTO
DEL
PROBLEMA...12


DELIMITACIÓN...14


ESQUEMA...15


ESTADO
DEL
ARTE ...16


Steganopic
0.1

(Windows)...17


Cloak
7.0
(Windows)...17


CryptoMX
1.1
(Win
Mac
Lin) ...17


Dound’s
Steganography
1.6
(Windows) ...17


Hip
2.0
(Windows) ...17


UnderMP3Cover
1.1
(Linux)...17


Hide
In
Picture
2.1
(Windows) ...18


S−Tools
(Windows) ...18


Wodax
1.2
(Windows)...18


Absolute
Chaos
3.8
(Windows)...18


Hide
In
Picture
2.1
(Windows) ...18


MP3Stego
(Windows,
Linux) ...18


Invisible
Secret
4
(Windows) ...18


InvisibleInk
(Windows) ...19


Steganography
(Windows)...19


Hermetic
Stego
(Windows) ...19


(5)

BitCrypt
(Windows) ...19


Bon
Kyu
Bon
1.1.3011
(Windows)...19


SteganoG
1.21
(Windows) ...20


PicCrypt
0.3
(Windows)...20


Xiao
Steganography
2.6.1
(Windows) ...20


ByteShelter
1
(Windows)...21


Digital
Identity
1.0.16
(Windows)...21


HIP
(Hide
In
Picture)
2.1
(Windows)...22


Secure
Share
1.0
(Windows)...22


StegHide
(Windows,
Linux)...22


AdaStegano
(Windows,
Linux)...22


CryptArkan
(Windows)...23


Xidie
Security
Suite
(Windows)...23


OutGuess
(Unix
Linux)...23


Camera
/
Shy
(Windows)...23


JPHIDE
y
JPSEEK
(Windows)...23


Hydan
(Unix
Linux
Windows)...24


CAPITULO
2...25


POSTSCRIPT...25


Lenguajes
de
Descripción
de
Pagina ...26


Estructura
del
Lenguaje...26


Programación
en
PostScript ...27


Números ...28


Strings...28


Nombres ...29


Arreglos...29


Procedimientos...29


(6)

Ejecución ...29


Estructuras
de
control...30


SELECCIÓN
DEL
LENGUAJE
DE
PROGRAMACIÓN ...32


SELECCIÓN
DE
MODULOS
A
DESARROLLAR...32


CAPITULO
3...34


ARCHIVOS
DE
TEXTO ...34


ARCHIVOS
POSTCRIPT...35


FORMATOS
COMPARATIVOS
TEXTO
Y
POSTSCRIPT...36


CAPITULO
4...37


DESARROLLO
DEL
GENERADOR...37


Modo
de
Funcionamiento ...38


Técnica
Esteganografica ...40


DESARROLLO
DEL
EXTRACTOR ...44


Uso
Ciclo
Ocultamiento
–
Recuperación...46


Parámetros
para
el
Ocultamiento...46


Parámetros
y
uso
de
Portadores...48


Parámetros
y
uso
de
Extracción...51


CAPITULO
5...55


PRUEBA
MOS...55


Elaboración...55


RESULTADOS...59


APLICACIONES
Y
USOS ...61


CAPITULO
6...63


Modificaciones
Futuras...63


POSIBLES
MEJORAS...63


Ampliar
opciones
de
Formato...64


Criptografía
antes
de
Esteganografía...64


(7)

Disminuir
tamaño
de
archivos
finales...64


Incluir
archivos
multimedia...65


Incluir
archivos
binarios
o
ejecutables...65


Compilación
en
otros
Sistemas
Operativos...66


CAPITULO
7...67


CONCLUSIONES...67


BIBLIOGRAFIA ...68


ANEXO
1...70


Código
Fuente
del
Generador...70


Código
Fuente
del
Extractor ...81



 
 
 Fig.
1.
 Bloques
de
Desarrollo ...15


Fig.
2.
 Tabla
de
Codificaciones ...27


Fig.
3.
 Flujo
de
Esteganografía
Propuesto...33


Fig.
4.
 Flujo
de
Extracción
Propuesto...33


Fig.
5.
 Aspecto
del
generador
sobre
la
línea
de
comando ...37


Fig.
6.
 Flujo
de
Ocultación
de
Información ...38


Fig.
7.
 Archivo
de
Texto
Portador ...39


Fig.
8.
 Archivo
PostScript
resultante ...40


Fig.
9.
 Métricas
de
un
carácter ...41


Fig.
10.
 Comparativa
de
Textos...42


Fig.
11.
 Estructura
PostScript
con
información
Oculta ...42


Fig.
12.
 Estructura
PostScript
sin
información
Oculta...43


Fig.
13.
 Archivo
PostScript
Sin
Información
Oculta...43


Fig.
14.
 Archivo
PostScript
Con
Información
Oculta ...43


(8)

Fig.
15.
 Comando
de
Generación
de
PS
con
información
Oculta...44


Fig.
16.
 Flujo
de
Extracción...45


Fig.
17.
 Utilización
en
línea
de
comando
para
el
programa
Extractor...46


Fig.
18.
 Definición
de
Parámetros
de
formato
en
ejecución
del
programa
generador 
 47
 Fig.
19.
 Estructura
de
ficheros
ejemplo
en
Sistema
de
Archivos ...48


Fig.
20.
 Ejemplo
de
contenido
en
archivos
de
Texto ...49


Fig.
21.
 Nombres
de
archivos
PS
generados ...49


Fig.
22.
 Comparativa
ente
texto
plano
y
texto
en
PostScript ...50


Fig.
23.
 Archivos
de
prueba
para
Extracción ...51


Fig.
24.
 Apariencia
de
una
recuperación
de
Información...52


Fig.
25.
 Ejemplo
de
Ocultación
entre
el
mismo
texto...53


Fig.
26.
 Extracción
de
un
archivo
oculto
en
si
mismo...54


Fig.
27.
 Formato
para
evaluación
MOS
de
Impresiones
PS ...56


Fig.
28.
 Primer
Memorando
(Texto
1)...57


Fig.
29.
 Segundo
Memorando
(Texto
2)...57


Fig.
30.
 Parte
de
Texto
Largo
en
PostScript
(Texto
3) ...58


Fig.
31.
 Comparación
Binaria...60



 
 
 
 
 
 


(9)

INTRODUCCION


El
 ocultamiento
 y
 la
 protección
 de
 la
 información,
 siempre
 será
 un
 tema
 de
 interés
 desde
nivel
personal
hasta
masivo,
refiriéndonos
a
un
interés
por
gobiernos
o
milicia;


así
para
la
parte
que
involucra
el
ocultamiento
o
protección
como
se
menciona
en
la
 hipótesis
 y
 en
 base
 a
 la
 premisa
 que
 las
 necesidades
 de
 protección,
 se
 tienen
 diferentes
 soluciones,
 estas
 soluciones
 son
 varias,
 sin
 embargo
 estudiamos
 una
 que
 puede
presentarse
comúnmente
en
el
medio
computacional
y
particularmente
en
un
 tratamiento
especifico
a
la
forma
de
utilizar
textos
en
formato
electrónico
PostScript
y
 en
 estos
 su
 capacidad
 de
 especificar
 con
 alta
 precisión
 ubicaciones
 de
 letras
 en
 un
 documento
 electrónico
 de
 esa
 naturaleza
 y
 así
 aprovechar
 dicha
 característica
 para
 poder
ocultar
información
ante
una
lectura
al
documento
electrónico
PostScript
final.



En
 el
 desarrollo
 de
 programas
 que
 involucren
 al
 computo,
 generalmente
 se
 ocupan
 variadas
 metodologías
 de
 ocultamiento
 así
 que
 en
 este
 trabajo
 nos
 ocuparemos
 de
 utilizar
Esteganografía
con
texto
para
formatos
de
impresión
electrónica
por
medio
de
 PostScript,
definiendo
mas
adelante
algunos
temas,
problemas
y
delimitaciones
para
 alcanzar
los
objetivos
de
este
proyecto.



 
 
 
 
 
 
 
 
 
 
 
 
 


(10)

CAPITULO
1


HIPOTESIS


La
 Esteganografía
 oferta
 muy
 variadas
 y
 efectivas
 formas
 de
 proteger
 y
 ocultar
 información
o
datos;
con
esta
disciplina
se
han
desarrollado
muy
diferentes
maneras
 para
 trasportar
 información
 en
 determinado
 medio
 con
 mas
 de
 lo
 que
 se
 pueda
 pensar
 en
 una
 primera
 vista
 hacia
 dicha
 representación.
 
 Lao
 anterior
 se
 ha
 desarrollado
 desde
 tiempos
 remotos
 hasta
 nuestros
 días,
 han
 existido
 muchas
 técnicas
diferentes
aún
cuando
se
requiera
ocultar
el
mismo
tipo
de
información,
un
 ejemplo;
 si
 se
 deseaba
 ocultar
 un
 mensaje
 de
 texto
 se
 logra
 por
 medio
 de
 micro
 puntos
señalando
una
letra
dentro
de
un
texto
para
formar
una
oración,
otro
ejemplo
 esta
en
que
se
rapaba
a
una
persona
de
manera
que
se
perdiera
de
vista
el
mensaje
 entre
 el
 resto
 del
 cabello;
 siempre
 cumpliendo
 la
 finalidad
 de
 poder
 pasa
 alguna
 información
 inadvertida
 por
 demás
 medios
 o
 personas
 que
 estén
 al
 tanto
 de
 poder
 sospechar
o
percatarse
de
que
se
transmite
información
importante.
Con
lo
anterior
 se
cumple
la
finalidad
original
de
la
Esteganografía,
que
es
ocultar
información
en
un
 medio,
a
manera
de
que
no
levante
sospecha
alguna
de
que
existe
mas
información
de
 la
que
se
observa
a
simple
vista.


En
el
transcurrir
del
tiempo
y
el
avance
de
la
tecnología
el
ser
humano
se
ha
apoyado
 de
su
ingenio
para
mezclar,
usar
y
desarrollar
nuevas
formas
de
ocultar
información.


Actualmente
 el
 uso
 de
 la
 computadora
 ha
 facilitado
 en
 gran
 media
 el
 ocultar
 información
 en
 datos,
 estos
 datos
 pueden
 representar
 alguna
 información
 diferente
 entre
 una
 y/o
 otra
 persona,
 siendo
 así
 que
 se
 tiene
 una
 gran
 capacidad
 de
 enmascaramiento
de
información
en
estos
medios
digitales
logrando
transportar
mas
 información
de
lo
que
parece,
hoy
en
día
se
ha
hecho
uso
de
imágenes,
sonido
y
video
 principalmente,
sin
descartar
al
texto
para
ocultar
información,
sin
embargo
en
este
 ultimo
medio
(el
Texto
plano)
al
usarse,
se
ha
requerido
de
bastante
cantidad
de
texto
 para
 transportar
 determinada
 cantidad
 de
 algún
 otro
 contenido,
 lo
 que
 hace
 variar
 según
la
complejidad
de
los
algoritmos
utilizados
resultando
por
ahora
los
mejores
en
 desarrollos
sobre
ocultamiento
en
texto
a
los
proyectos
privados.


Con
 lo
 anterior
 dicho
 acerca
 de
 la
 información
 oculta;
 dentro
 de
 este
 trabajo
 nos
 enfocamos
 a
 desarrollar
 una
 forma
 de
 lograr
 mayor
 cantidad
 de
 información
 transportada
 mediante
 otro
 texto,
 este
 texto
 que
 en
 un
 formato
 electrónico
 debe
 poderse
leer
la
misma
información
que
la
fuente
original,
que
es
un
texto
plano
y
ser
 transportando;
 a
 pesar
 de
 que
 el
 formato
 electrónico
 final
 sea
 mas
 grande
 para
 almacenamiento
 en
 disco,
 esto
 ocurrirá
 por
 respetar
 determinada
 estructura
 del
 lenguaje
seleccionado
que
en
este
desarrollo
será
PostScript.



 


(11)

OBJETIVO


Con
fundamento
en
la
Esteganografía
se
tendrá
una
implementación
en
Software
para
 ocultación
y
protección
de
información
de
texto
en
texto,
representado
por
medio
de
 un
formato
electrónico
de
visualización
de
documentos
en
pantalla
y
dispositivos
de
 impresión
conocido
como
PostScript,
que
debe
ser
capaz
ademas
de
poder
mostrar
en
 pantalla
 un
 texto
 predefinido,
 debe
 poder
 transportar
 determinada
 cantidad
 de
 información
 oculta
 y
 finalmente
 esta
 implementación
 debe
 ser
 capaz
 de
 extraer
 la
 información
que
se
haya
logrado
ocultar
en
este
medio
electrónico.


La
 implementación
 debe
 tener
 finalmente
 dos
 módulos
 específicos
 y
 dedicados
 a
 su
 tarea
 correspondiente;
 la
 generación
 y
 extracción
 de
 la
 información
 oculta
 respectivamente.


Ambas
 partes,
 la
 generación
 y
 la
 extracción
 deben
 satisfacer
 las
 siguientes
 características:


• Ejecutarse
sobre
línea
de
comandos.


• Aceptar
parámetros
de
trabajo.


• El
código
fuente
debe
ser
portable
a
mas
Sistemas
Operativos.


• El
trabajo
de
cada
modulo
debe
ser
veloz.


Particularmente
y
adicionalmente
la
implementación
encargada
de
generar
el
archivo
 debe:


• Tomar
 uno
 o
 mas
 archivos
 especificados
 en
 una
 ruta
 como
 fuentes
 para
 en
 estos
ocultar
otra
información
en
un
formato
electrónico
PostScript
por
cada
 archivo
de
texto
localizado.


• Tomar
 un
 archivo
 especifico
 para
 ocultar
 en
 los
 archivos
 anteriormente
 señalados.


• Generar
el
formato
PostScript
que
contiene
la
información
oculta,
visualizando
 otra
originalmente
especificada.


• Tomar
valores
básicos
para
visualización
del
formato
final
en
pantalla.


Para
la
implementación
de
la
Extracción
se
debe
tener:


• La
capacidad
de
especificarse
el
archivo
PostScript
que
contiene
la
información
 Oculta.


• El
archivo
que
contendrá
la
información
que
se
recupere
del
archivo
PostScript
 que
anteriormente
se
ha
especificado.



 


(12)

PLANTEAMIENTO
DEL
PROBLEMA


Actualmente
 existen
 muchas
 formas
 de
 ocultar
 y
 proteger
 información
 de
 muy
 variados
tipos,
desde
mensajes
hasta
contenido
multimedia,
estas
formas
se
derivan
 de
dos
grandes
ramos,
la
Criptografía
y
la
Esteganografía.


Básicamente
 el
 ocultamiento
 y
 por
 supuesto
 la
 protección
 de
 la
 información,
 son
 el
 objetivo
 de
 ambas
 disciplinas
 con
 determinada
 información,
 manteniendo
 la
 posibilidad
 al
 final
 de
 un
 proceso
 de
 tener
 una
 recuperación
 de
 determinada
 información
para
que
los
datos
sensibles
sean
reconocidos
o
reconstruidos
por
algún
 destinatario
 final;
 una
 y
 otra
 utilizan
 técnicas
 diferentes
 de
 manejar
 dichas
 protecciones;
 cada
 una
 con
 sus
 propias
 características
 defienden
 metas
 particulares
 de
prestaciones.



Es
claro
que
ambas
disciplinas
han
crecido
y
tienen
sus
origenes
desde
mucho
tiempo
 atrás,
pero
siempre
con
una
marcada
diferencia
que
crea
el
parte
aguas
de
sus
usos,
 esta
diferencia
radica
básicamente
en
estilo
o
forma
visual
final
que
pueden
tener,
por
 ejemplo
para
manejar
textos,
la
frase:


“Luego
de
el
nombre
de
usuario
de
escribe
la
contraseña.”


Cada
que
observamos
una
frase
común
como
la
anterior,
que
tiene
un
sentido
como
 oración
y
que
también
podría
no
tener
algún
valor
para
mas,
por
la
misma
naturaleza
 de
la
misma
fácilmente
tenderíamos
a
menospreciarle
y
perderle
interés
de
análisis.


Aplicando
 un
 método
 Criptográfico
 para
 proteger
 la
 oración
 anterior,
 es
 normal
 observar
una
cadena
de
texto
similar
a
la
siguiente:


“NjfKwoHJFLsfsdf
fkjslfk
.kjeoejsf*ç`¡’sdfdfç+sdf’¡’´ñ+çSFeRFffgDVBTfgH”


Observar
 la
 cadena
 anterior,
 generaría
 muchas
 ideas
 acerca
 de
 lo
 que
 pudiera
 esconder,
 que
 bien
 podría
 ser
 cualquier
 cosa,
 por
 lo
 que
 se
 levanta
 una
 sospecha
 inmediata
y
se
puede
aplicar
un
tratamiento
inverso
a
manera
de
atacar
el
sistema
de
 protección
 y
 tratar
 de
 revelar
 la
 información.
 Situación
 que
 se
 esquiva
 en
 la
 Esteganografía,
 pues
 ademas
 de
 la
 comparación
 visual
 con
 las
 oraciones
 que
 se
 ha
 presentado
entre
las
disciplinas
de
Esteganografía
y
Criptografía,
también
acabamos
 de
 tener
 frente
 a
 nosotros
 un
 ejemplo
 de
 Esteganografía
 aplicada;
 pues
 se
 ha
 transmitido
el
texto
“ABELCANO”
dado
que
en
los
párrafos
anteriores
incluyendo
este
 se
toma
cada
letra
inicial
incluyendo
las
oraciónes
de
ejemplo.


(13)

En
base
a
lo
anterior
y
en
el
caso
de
aplicar
la
particularidad
de
no
levantar
sospecha
 sobre
 el
 envío
 o
 protección
 de
 mas
 información
 ademas
 de
 la
 que
 se
 logra
 ver
 y/o
 hasta
 cierto
 punto
 distinguir
 entre
 que
 es
 algún
 criptograma
 o
 algo
 que
 pretende
 a
 simple
 vista
 ocultar
 algo
 otro,
 o
 también
 que
 aparentemente
 no
 es
 de
 lo
 que
 nos
 interese
sospechar,
se
tiene
a
la
Esteganografía
como
solución.


La
 Esteganografía
 ha
 sido
 utilizada
 desde
 hace
 tiempos
 muy
 remotos
 y
 de
 muy
 variadas
 formas,
 por
 mencionar
 una
 manera,
 cuenta
 una
 historia
 de
 un
 rey
 que
 deseaba
trasmitir
información
hacia
un
destino
lejano
y
con
muchos
espías
hacia
su
 reino,
se
le
ocurrió
rapar
a
 sus
súbditos
en
algunas
partes
y
formas
de
sus
cabezas,
 esperar
 a
 que
 el
 resto
 del
 cabello
 cubriera
 lo
 suficiente
 el
 mensaje
 y
 enviarlos
 para
 que
 el
 mensaje
 pasara
 desapercibido
 hasta
 llegar
 a
 su
 destino
 y
 pudiera
 ser
 observando.


Pero
 existe
 una
 variante
 muy
 particular
 de
 uso
 desde
 tiempos
 anteriores
 hasta
 actuales,
 esta
 es
 relacionada
 con
 el
 texto
 que
 oculta
 otro
 texto,
 estos
 mensajes
 utilizando
el
texto
como
medio
de
transporte
para
ocultar
y
proteger
información
han
 resultado
 un
 medio
 que
 esta
 caracterizado
 por
 transportar
 poca
 información
 en
 comparación
a
los
demás
métodos,
debido
a
que
se
tienen
que
especificar
diferentes
y
 entre
textos
ocasionalmente
distantes
características,
así
como
formas
de
recuperar
el
 mensaje,
es
decir
que
se
han
hecho
por
ejemplo
una
recuperación
de
texto
oculto
cada
 número
 de
 caracteres
 predeterminados
 o
 cada
 que
 se
 cumpla
 una
 condición,
 por
 ejemplo
cada
letra
mayúscula,
cada
después
de
una
coma
o
punto
etc.


La
 poca
 cantidad
 de
 transporte
 de
 información
 oculta
 comúnmente
 obtenida
 en
 ocultar
texto
en
texto,
representa
un
gran
problema
para
poder
transportar
un
texto
 considerable
por
medio
de
otro
texto,
esto
es
debido
a
que
a
pesar
de
poder
cambiar
 algunos
 bits
 que
 conformen
 un
 segmento
 de
 información
 por
 otros
 bits
 que
 representen
 otra
 información
 y
 que
 con
 este
 cambio
 no
 se
 note
 un
 cambio
 visual
 considerable
 en
 multimedios
 (Comúnmente
 conocido
 como
 LSB
 ‐
 “Less
 Significant
 Bit”),
el
caso
de
bits
en
texto
es
totalmente
diferente
ya
que
al
cambiar
un
bit
de
algún
 carácter
 lo
 convierte
 en
 otro
 y
 genera
 una
 gran
 diferencia
 y
 tentativamente
 puede
 llegar
 a
 considerarse
 posteriormente
 ante
 la
 vista
 de
 alguien
 mas
 como
 un
 criptograma.


Al
complicarse
un
cambio
LSB
en
un
texto
y
descartarlo
para
considerar
letras
a
partir
 de
referencias,
donde
estas
se
pueden
ser
tomadas
cada
determinada
distancia
entre
 textos,
 resulta
 en
 requerir
 gran
 cantidad
 de
 texto
 para
 trasportar
 texto
 de
 tamaños
 pequeños,
ejemplo
de
ello
puede
ser
el
tomar
solo
letras
después
de
puntos
o
comas
 por
ejemplo
hasta
formar
una
oración
con
sentido.


Actualmente
 se
 han
 desarrollado
 mejores
 y
 mas
 completos
 interpretes
 de
 formatos
 electrónicos
 que
 cuentan
 con
 grandes
 capacidades
 de
 impresión
 en
 papel
 como
 en
 pantalla
 y
 dispositivos
 de
 impresión,
 estos
 programas
 permiten
 gran
 control
 y
 conservación
del
formato
que
se
diseñe
en
determinado
programa
para
poder
pórtalo
 a
 otros
 dispositivos
 o
 equipos
 compatibles
 y
 finalmente
 visualizarlo
 de
 la
 misma
 manera
 en
 que
 se
 han
 guardado,
 ejemplo
 de
 estos
 programas
 son
 todos
 aquellas


(14)

aplicaciones
de
procesamiento
de
texto,
calculo
o
presentaciones
en
pantalla,
ademas
 de
estos
existen
también
sintaxis
y
lenguajes
completos
de
programación
como
el
XML
 y
 el
 PostScript,
 el
 cual
 posee
 una
 versatibilidad
 de
 usos
 y
 de
 sintaxis
 a
 manera
 de
 alcanzar
 una
 impresión
 en
 pantalla
 o
 en
 papel
 muy
 personalizada
 y
 completa
 conforme
 a
 textos
 y
 vectores
 conservando
 esta
 presentación
 en
 diferentes
 sistemas
 operativos
bajo
un
estándar
de
representación.


En
así
que
en
este
trabajo
aprovecharemos
la
potencia
de
generación
de
impresiones
 del
PostScript
para
poder
personalizar
un
texto
a
manera
de
que
porte
otro
de
gran
 cantidad
en
texto
comparada
con
el
texto
inicial,
hasta
medidas
cercanas
a
la
misma
 cantidad
 de
 información
 del
 texto
 portador,
 debido
 a
 la
 manera
 en
 la
 que
 se
 interpretarán
los
datos
de
un
texto
que
se
dese
ocultar
en
el
documento
electrónico
de
 PostScript.



Lo
 anterior
 nos
 brinda
 la
 oportunidad
 de
 ofertar
 una
 opción
 mas
 completa
 a
 la
 mayoría
de
las
aplicaciones
de
Esteganografía
con
formatos
de
documentos
de
texto
 electrónicos
que
sean
portadores
de
alguna
información
adicional
oculta.



 
 


DELIMITACIÓN


El
 manejo
 de
 texto
 como
 tal
 para
 poder
 ocultar
 otro
 texto,
 ocasiona
 generalmente
 textos
portadores
de
gran
tamaño,
esto
debido
a
las
técnicas
esteganograficas
que
se
 apliquen
 a
 la
 hora
 de
 ocultar
 y
 recuperar
 dicha
 información,
 la
 esteganografía
 presenta
mucha
flexibilidad
y
esta
es
generada
por
las
formas
en
que
las
tome
quien
 las
aplique,
es
decir
lejos
de
ser
estrictamente
una
ciencia,
puede
perfilarse
como
un
 arte,
gracias
a
que
puede
ser
tan
variante
como
el
creador
entienda
y
personalice
un
 método
esteganografico.


La
forma
que
usaremos
para
esteganografíar
un
texto
plano
se
basa
en
personalizar
 distancias
entre
caracteres
dentro
de
un
documento
electrónico
de
PostScript,
y
es
en
 las
variaciones
de
estos
espacios
en
las
que
se
ocultara
información
aprovechando
que
 estas
diferencias
tan
pequeñas
son
imperceptibles
al
ojo
humano
dado
que
entre
los
 espacios
 predeterminados
 y
 los
 nuevos
 calculados
 para
 los
 caracteres
 del
 texto,
 no
 debe
 existir
 una
 diferencia
 visible.
 Tal
 es
 que
 al
 aplicarla
 nos
 generara
 ciertas
 opciones
 como
 poder
 modificar
 el
 aspecto
 visual
 o
 conservarlo
 como
 esta
 en
 el
 archivo
de
texto
fuente,
para
que
dentro
de
estos
cambios
y
aspectos
finales,
ademas
 de
 adherir
 texto
 oculto
 el
 adicionar
 un
 formato
 visual
 mas
 completo,
 el
 cual
 será
 justificar
el
texto
y
especificar
algunas
distancias
de
margenes,
espacios
entre
líneas
y
 tamaño
de
fuente
para
el
documento
electrónico.


(15)

En
 este
 trabajo,
 se
 usarán
 documentos
 en
 archivos
 de
 texto
 plano,
 estos
 serán
 transportados
 al
 formato
 de
 impresión
 en
 el
 lenguaje
 PostScript
 cambiando
 su
 aspecto
de
texto
plano
en
archivo
TXT
a
un
formato
justificado
y
espaciado
con
una
 fuente
Arial
en
el
lenguaje
PostScript;
se
ha
escogido
este
procedimiento
para
ofrecer
 una
transformación
del
formato
de
la
información
que
se
tiene,
sin
cambiar
el
sentido
 de
la
lectura
y
en
este
proceso
incluir
otra
información
y
conservar
la
lectura
idéntica
 entre
el
archivo
original
fuente
y
el
generado
en
PostScript,
lo
que
finalmente
entrega
 un
 procedimiento
 de
 esteganografía
 de
 texto
 para
 otro
 texto
 con
 gran
 capacidad
 de
 transporte
para
el
mensaje
oculto.



Los
archivos
de
texto
que
tomaremos
serán
texto
planos,
es
decir
que
deben
de
tener
 el
texto
de
manera
simple
y
una
codificación
Occidental
(Mac
OS
Roman).



 


ESQUEMA


El
trabajo
es
descrito
en
tres
bloques,
como
sigue:


Fig.
1. Bloques
de
Desarrollo



 


• Lenguaje


• Medios


• Capacidades


Esteganogra~ia


• Sintaxis
P.S.


• Ocultamiento


• Recuperación
 Desarollo


• Conjunto
de
 Pruebas


• Modi~icaciones


• MOS


Pruebas


(16)

Cada
bloque
es
una
serie
de
propuestas,
delimitaciones
y
mejoras
a
ideas
iniciales.


El
 primer
 bloque
 se
 conforma
 de
 la
 selección
 del
 lenguaje
 a
 utilizar
 para
 generar
 el
 archivo
que
tendrá
la
información
oculta
que
será
el
PostScript,
así
como
los
medios
 que
 se
 utilizaran
 para
 formar
 una
 estructura
 de
 transporte
 de
 información
 oculta,
 también
se
selecciona
el
lenguaje
de
desarrollo,
tipos
de
archivos
a
tomar,
en
el
caso
 archivos
de
texto.


Para
 el
 segundo
 bloque
 de
 desarrollo,
 se
 escoge
 la
 sintaxis
 que
 nos
 convenga
 para
 poder
 elaborar
 un
 archivo
 PostScript.
 tanto
 como
 se
 desarrollan
 los
 dos
 módulos
 principales
 del
 proyecto,
 siendo
 el
 primero
 un
 programa
 sobre
 la
 línea
 de
 comando
 que
lleve
a
acabo
el
ocultamiento
de
la
información
de
un
archivo
de
texto
sobre
otro
 texto
 presentado
 en
 formato
 de
 PostScript,
 tanto
 como
 el
 desarrollo
 al
 modulo
 que
 nos
 ayudara
 a
 poder
 recuperar
 un
 mensaje
 oculto
 desde
 un
 archivo
 PostScript
 previamente
generado.


Finalmente
 la
 parte
 de
 generación
 de
 pruebas
 tanto
 impresas
 como
 en
 pantalla
que
 nos
 permite
 saber
 en
 base
 a
 una
 muestra
 de
 población
 que
 se
 le
 aplica
 una
 serie
 preguntas
 a
 responder
 en
 base
 a
 tres
 pares
 de
 documentos
 impresos
 diferentes,
 donde
cada
par
esta
conformado
de
un
archivo
que
posee
información
oculta
y
de
otro
 que
 no
 la
 tiene,
 estas
 pruebas
 son
 mayormente
 conocidas
 como
 pruebas
 MOS
 y
 describen
el
nivel
de
aceptación
de
un
evento
propuesto
a
la
sociedad,
en
este
caso
de
 que
no
existe
diferencia
entre
las
impresiones
cuando
en
verdad
la
hay,
pero
también
 no
hay
percepción
de
la
existencia
de
información
oculta,
que
es
uno
de
los
objetivos
 del
proyecto.


ESTADO
DEL
ARTE


El
 campo
 de
 la
 esteganografía,
 actualmente;
 se
 perfila
 hacia
 el
 uso
 de
 medios
 electrónicos,
 en
 la
 mayoría
 de
 los
 casos,
 esto
 por
 la
 popularidad
 del
 medio
 y
 la
 facilidad
 de
 difusión
 tanto
 como
 la
 flexibilidad
 que
 estos
 medios
 electrónicos
 informáticos
 pueden
 llegar
 a
 proporcionar
 o
 en
 todo
 caso
 según
 la
 creatividad
 del
 autor
para
ocultar
con
ellos
información
o
datos.


Actualmente
existen
mas
del
centenar
de
aplicaciones
de
esteganografía
para
trabajar
 de
 forma
 informática,
 es
 decir
 por
 medio
 de
 programas
 para
 equipo
 de
 computo,
 independiente
 de
 lo
 que
 pueda
 existir
 en
 otros
 medios
 como
 papel,
 perforaciones
 o
 tintas
especiales.


El
uso
de
medios
electrónicos
para
el
ocultamiento
y/o
protección
de
la
información,
 tiene
 actualmente
 gran
 auge
 cuando
 estos
 medios
 son
 sustanciosos
 en
 sus
 capacidades
y
características
propias
de
uso
y
manipulación,
es
decir
estos
recursos
 son
 muy
 populares
 y
 utilizables
 generalmente
 por
 tener
 un
 ¨tamaño¨


(Informaticamente
 hablando)
 considerable,
 por
 ejemplo
 videos,
 imágenes
 sonidos
 y
 formatos
de
impresión.


(17)

En
 base
 a
 lo
 anterior
 y
 requiriendo
 conocer
 la
 oferta
 actual,
 se
 tiene
 la
 siguiente
 recopilación
 en
 el
 estudio
 del
 arte
 relacionado
 con
 los
 programas
 hablando
 de
 Software
tengan
un
objetivo
de
esteganografía.


Steganopic
0.1

(Windows)


Programa
 de
 esteganografía,
 que
 esconde
 textos
 en
 imágenes,
 sin
 cambiar
 su
 apariencia.
Soporta
solamente
el
formato
GIF.


Cloak
7.0
(Windows)



Programa
de
esteganografía
que
se
utiliza
para
encriptar
y
ocultar
archivos
dentro
de
 imágenes
BMP.



Utiliza
 métodos
 avanzados
 para
 proteger
 los
 archivos.
 Incluye
 los
 algoritmos
 de
 encriptación
Cloak−128,
Blowfish
y
Mercury.


CryptoMX
1.1
(Win
Mac
Lin)



Colección
 de
 herramientas
 de
 encriptación,
 esteganografía
 y
 conversión.
 Trabaja
 en
 conjunto
 con
 el
 navegador
 IE,
 Netscape,
 Mozilla
 y
 browsers
 Javascript.
 Esta
 realiza
 esteganografía
 de
 texto
 con
 texto
 pero
 genera
 un
 texto
 aleatorio
 del
 que
 extrae
 posteriormente
la
información.


Dound’s
Steganography
1.6
(Windows)


Permite
 al
 usuario,
 con
 una
 simple
 clave,
 codificar
 y
 descodificar
 mensajes
 desde,
 o
 hacia,
un
archivo
de
imagen.
Es
muy
fácil
y
prácticamente
no
se
ve
la
diferencia
entre
 la
imagen
original
y
la
codificada.
Tiene
una
imagen
simple
para
probar.


Hip
2.0
(Windows)



Es
un
programa
que
te
permite
esconder
archivos
dentro
de
bitmaps,
utilizando
una
 contraseña.
Da
la
impresión
de
que
las
figuras
son
normales.


UnderMP3Cover
1.1
(Linux)



Herramienta
de
esteganografía
en
archivos
.mp3,
que
permite
escribir
y
leer
mensajes
 escondidos
dentro
de
archivos
con
esta
extensión,
sin
crear
ninguna
diferencia
en
el
 sonido.


(18)

Hide
In
Picture
2.1
(Windows)



Hide
In
Picture
(HIP)
es
un
programa
de
esteganografía.
Permite
"esconder"
cualquier
 tipo
de
archivo
adentro
de
una
imagen
bitmap
(soporta
GIF
y
BMP).
La
imagen
luce
 como
 una
 foto
 normal,
 así
 otra
 persona
 no
 puede
 sospechar
 que
 contiene
 datos
 ocultos.


S−Tools
(Windows)


Herramienta
que
permite
guardar
texto
dentro
de
imágenes.


Wodax
1.2
(Windows)


Permite
 ocultar
 ficheros
 de
 texto
 plano
 en
 imágenes
 PNG
 utilizando
 la
 técnica


"esteganográfica"
de
Inserción
en
el
Bit
Menos
Significativo"
(aunque
realmente
usaba
 el
par
de
bits
menos
significativos)


Absolute
Chaos
3.8
(Windows)


Permite
 encriptar
 cualquier
 archivo
 o
 carpeta
 de
 la
 computadora
 y
 posteriormente
 ocultarlo
en
un
fichero
gif,
doc,
rtf...
o
cualquier
otro.


Hide
In
Picture
2.1
(Windows)


Permite
"esconder"
cualquier
tipo
de
archivo
adentro
de
una
imagen
bitmap
(soporta
 GIF
y
BMP).
La
imagen
luce
como
una
foto
normal.


MP3Stego
(Windows,
Linux)


MP3Stego,
es
una
herramienta
que
esconde
datos
en
archivos
MP3.
El
procedimiento
 consiste
en
tener
un
archivo
de
texto
con
uno
.WAV,
para
ser
trasformado
en
formato
 MP3.
 El
 problema
 es
 que
 para
 esconder
 datos
 de
 cualquier
 tamaño
 se
 necesita
 un
 archivo
de
un
tamaño
proporcional.
Ejemplo:
para
esconder
un
archivo
de
5
bytes,
se
 necesita
 un
 archivo
 WAV
 de
 aprox.627kB.
 Como
 resultado,
 el
 tamaño
 del
 archivo
 compreso
en
MP3
fue
57Kb.


Invisible
Secret
4
(Windows)


Codifica
 datos
 y
 archivos
 para
 mantenerlos
 a
 salvo
 o
 para
 transferirlos
 de
 forma
 segura
 a
 través
 de
 Internet,
 sino
 que
 también
 los
 esconde
 en
 lugares
 que
 superficialmente
 parecen
 totalmente
 inocentes,
 como
 archivos
 de
 imagenes,
 de
 sonidos
o
paginas
Web.


(19)

InvisibleInk
(Windows)


InvisibleInk
es
un
programa
de
esteganografía
intuitivo
codificado
en
C#
que
coloca
 texto
 dentro
 de
 un
 archivo
 de
 imagen
 .bmp.
 El
 texto
 puede
 se
 fácilmente
 encriptado/desencriptado
utilizando
el
algoritmo
Rijndael
con
una
clave
de
256
bytes
 generada
con
la
función
sha256.


Steganography
(Windows)


Steganography
 usa
 técnicas
 de
 ocultación
 de
 datos
 digitales
 (esteganografía)
 para
 esconder
ficheros
y
mensajes
dentro
de
otros
ficheros
(portadores)
como
ficheros
de
 imagen
o
sonido.
Esto
te
permite
cifrar
información
sensible,
mientras
que
al
mismo
 tiempo
la
escondes
en
un
fichero
que
no
parece
sospechoso,
de
forma
que
nadie
sepa
 que
hay
información
cifrada.


Hermetic
Stego
(Windows)


Hermetic
 Stego
 es
 un
 programa
 esteganografico
 que
 permite
 cifrar
 y
 esconder
 un
 archivo
de
cualquier
tamaño
entre
uno
o
más
archivos
de
imagen
BMP,
con
o
sin
el
 uso
 de
 una
 clave
 stego/ciframiento,
 de
 manera
 que
 la
 presencia
 del
 archivo
 es
 indetectable,
aún
para
programas
forensicos
que
utilizan
métodos
estadísticos,
y
si
se
 utiliza
 una
 clave
 stego
 de
 un
 usuario
 especifico,
 entonces
 el
 archivo
 solo
 puede
 ser
 extraído
por
alguien,
usando
el
programa,
que
conoce
la
clave
stego.


BitCrypt
(Windows)


BitCrypt
es
un
original
codificador
esteganografico
para
la
comunidad
de
Inteligencia
 y
otros
por
el
estilo.
El
programa
le
permite
al
usuario
almacenar
cualquier
mensaje
 de
texto
de
manera
cifrada
que
a
su
vez
es
ocultada
dentro
de
una
imagen
especificada
 por
 el
 usuario.
 El
 texto
 es
 codificado
 con
 uno
 de
 los
 algoritmos
 de
 cifrado
 más
 robustos
con
el
objeto
de
mejorar
el
nivel
de
seguridad.


Bon
Kyu
Bon
1.1.3011
(Windows)


Permite
 ocultar
 un
 fichero
 o
 mensaje
 dentro
 de
 otro
 archivo.
 Con
 Bon
 Kyu
 Bon
 se
 puede
ocultar
un
documento
importante
o
un
mensaje
secreto
dentro
de
una
inocente
 fotografía.
Sólo
se
podrá
descubrir
el
mensaje
o
documento
con
la
clave
o
fichero
llave
 correctos.


Bon
Kyu
Bon
soporta
los
siguientes
formatos:
DLL,
EXE,
IL,
BMP,
TIF,
TIFF,
PNG,
GIF,
 WAV,
MID



 


(20)

SteganoG
1.21
(Windows)


Permite
ocultar
toda
clase
de
ficheros
tras
una
imagen
digital.
Así,
cualquiera
que
abra
 el
 documento
 cifrado
 verá
 una
 inocente
 fotografía,
 aunque
 detrás
 se
 esconderá
 un
 documento
 secreto.
 SteganoG
 es
 muy
 fácil
 de
 utilizar.
 Sólo
 se
 escoge
 la
 imagen‐

señuelo
y
el
archivo
a
ocultar.
Además,
cuando
se
configure
la
contraseña
indicará
si
 es
suficientemente
segura.


SteganoG
soporta
los
siguientes
formatos:
RAW,
BMP,
DIB
 


PicCrypt
0.3
(Windows)


Es
 una
 herramienta
 de
 cifrado
 y
 protección
 de
 ficheros
 mediante
 esteganografía,
 en
 este
 caso
 usando
 imágenes.
 Se
 selecciona
 el
 tamaño
 de
 la
 imagen,
 el
 archivo
 a
 esconder
dentro,
una
contraseña
si
desea
aumentar
todavía
más
la
seguridad,
y
listo.


PicCrypt
 es
 muy
 sencillo
 y
 no
 necesita
 configurar
 nada.
 Lamentablemente,
 para
 recuperar
el
archivo
cifrado
se
necesita
usar
PicCrypt.


P2Stego
1.0.0
(Windows)


P2Stego
es
capaz
de
insertar
mensajes
de
texto
en
una
imagen
BMP
de
24
bits.
Sólo
 hay
 que
 elegir
 el
 fichero,
 introducir
 una
 palabra
 clave
 y
 el
 mensaje
 en
 sí.
 Al
 pulsar
 Hide
message,
P2Stego
producirá
una
copia
exacta
de
la
imagen
original.


Para
descubrir
el
texto
se
tiene
a
disposición
la
pestaña
Reveal,
en
la
se
podrá
revelar
 el
contenido
oculto
usando
la
misma
contraseña.
P2Stego
presentará
un
mensaje
de
 error
genérico
en
caso
de
introducir
una
clave
errónea
o
usar
una
imagen
no
cifrada.


P2Stego
es
una
aplicación
esteganográfica
con
importantes
limitaciones.
No
se
puede
 configurar
y
sólo
permite
insertar
mensajes
en
imágenes
BMP
de
24
bits.
Aún
así,
es
 una
prueba
de
concepto
interesante.


P2Stego
soporta
los
siguientes
formatos:
BMP
(24
bits)


Nota
sobre
P2Stego:
Editar
o
convertir
una
imagen
modificada
por
P2Stego
hará
que
 se
pierda
el
mensaje
oculto


Xiao
Steganography
2.6.1
(Windows)


Se
elige
la
imagen
o
fichero
de
sonido
donde
se
ocultará
la
información,
se
selecciona
 los
 ficheros
 que
 quieres
 ocultar
 y
 ajusta
 después
 las
 opciones
 de
 configuración
 necesarias:
algoritmo
de
encriptación,
contraseña,
etc.


(21)

El
 resultado
 es
 una
 imagen
 o
 fichero
 de
 sonido
 idéntico
 al
 original,
 sólo
 que
 en
 su
 interior
 se
 oculta
 un
 mensaje
 que
 sólo
 el
 destinatario,
 con
 Xiao
 Steganography
 y
 sabiendo
la
contraseña
correspondiente,
podrá
descifrar.


Cambios
recientes
en
Xiao
Steganography:
Puede
adjuntar
cualquier
tipo
de
archivo
 solo
 limitado
 por
 el
 tamaño
 de
 la
 imagen
 que
 cargara
 los
 archivos,
 agregado
 un
 modulo
 de
 seguridad,
 Encripta
 /
 Desencripta
 con
 algoritmos
 RC2,
 RC4,
 DES,
 Triple
 DES
,
Triple
Des
112
y
Hashing
MD2,
MD4,
MD5,
SHA
a
través
de
la
protección
de
clave
 secreta.


ByteShelter
1
(Windows)


ByteShelter
es
un
sencillo
programa
con
el
que
se
puede
ocultar
un
texto
determinado
 dentro
 de
 un
 fichero
 de
 texto
 enriquecido
 (RTF).
 De
 esta
 forma,
 el
 documento
 RTF
 mantiene
exactamente
el
mismo
aspecto,
antes
y
después
de
incluir
el
texto
oculto.


El
programa
funciona
de
la
siguiente
manera:
Copiar
el
texto
RTF
donde
se
ocultará
el
 mensaje
directamente
desde
el
Portapapeles.
Luego
se
escribe
el
mensaje
secreto,
y
se
 vuelve
a
guardar
el
texto
RTF
y
finalmente
cópiarlo
de
nuevo
al
Portapapeles.


A
partir
de
ese
momento,
se
puede
incluir
en
un
mensaje
de
correo
electrónico
o
en
un
 DOC,
 y
 el
 receptor
 deberá
 usar
 ByteShelter
 (y
 por
 supuesto,
 introducir
 la
 correspondiente
contraseña)
para
poder
acceder
al
mensaje
oculto
en
el
texto
RTF.


Digital
Identity
1.0.16
(Windows)


Digital
 Identity
 gestiona
 contraseñas
 manteniéndolas
 en
 un
 lugar
 seguro,
 a
 salvo
 de
 ojos
indiscretos,
protegidas
mediante
un
nombre
de
usuario
y
contraseña.


Para
 mayor
 seguridad,
 el
 programa
 tiene
 soporte
 para
 codificación
 de
 ficheros
 y
 de
 esteganografía.
Puede
codificar
contraseñas
dentro
de
imágenes.
La
imagen
conserva
 un
 aspecto
 totalmente
 normal
 y
 nada
 hace
 pensar
 que
 oculta
 contraseñas
 en
 su
 interior.


El
 programa
 permite
 tanto
 encriptar
 como
 desencriptar
 contraseñas
 dentro
 de
 imágenes.
También
incluye
utilidades
de
generación
de
claves,
control
de
su
fecha
de
 caducidad
y
evaluación
de
su
nivel
de
seguridad.



 
 
 


(22)

HIP
(Hide
In
Picture)
2.1
(Windows)


Oculta
 un
 fichero
 dentro
 de
 una
 imagen
 en
 formato
 BMP,
 de
 forma
 que
 pase
 totalmente
desapercibida.


Se
 puede
 ocultar
 cualquier
 tipo
 de
 fichero,
 y
 la
 imagen
 no
 se
 altera
 en
 absoluto,
 de
 forma
que
nadie
sospechará
que
ese
inocente
gráfico
BMP
oculta
un
fichero
secreto
en
 su
interior.


Los
 datos
 quedan
 protegidos
 mediante
 contraseña,
 y
 puedes
 elegir
 entre
 dos
 algoritmos
de
encriptación.


Secure
Share
1.0
(Windows)


permite
 "esconder"
 ficheros
 cifrados
 dentro
 de
 una
 imagen,
 que
 sólo
 se
 pueden
 descodificar
mediante
el
correspondiente
programa.


El
programa
utiliza
el
algoritmo
de
encriptación
Blowfish
para
codificar
el
archivo,
y
 después
 lo
 oculta
 dentro
 de
 un
 gráfico
 GIF.
 La
 imagen
 tiene
 un
 aspecto
 totalmente
 normal
y
no
se
diferencia
en
nada
de
un
GIF
que
no
tenga
información
en
su
interior.


El
archivo
además
se
puede
proteger
mediante
contraseña.


Después
 sólo
 tienes
 que
 enviar
 el
 archivo
 por
 e‐mail,
 FTP
 o
 como
 quieras,
 con
 la
 seguridad
 de
 que
 nadie
 podrá
 leer
 la
 información
 codificada
 en
 el
 mismo.
 Eso
 sí,
 el
 destinatario
del
mensaje
debe
tener
Secure
Share
para
poder
descifrar
el
GIF.


StegHide
(Windows,
Linux)


Steghide
es
un
programa
de
estenografía
que
permite
ocultar
datos
en
varios
tipos
de
 imagen
y
archivos
de
audio.
Este
Programa
esta
liberado
bajo
la
licencia
GPL
por
lo
 que
 se
 tiene
 acceso
 al
 código
 fuente
 y
 dispone
 de
 versiones
 para
 Windows
 y
 GNU/Linux.


AdaStegano
(Windows,
Linux)


AdaStegano
permite
ocultar
cualquier
tipo
de
fichero
en
imágenes
bitmap
de
24bpp,
 de
forma
que
para
una
tercera
persona
no
sepa
que
esa
imagen
contiene
otro
archivo.


A
partir
de
una
contraseña
definida
por
el
usuario,
se
ocultan
los
datos
en
un
orden
 aleatorio;
 sin
 esa
 contraseña,
 es
 casi
 imposible
 siquiera
 “ver”
 que
 hay
 un
 fichero
 oculto
en
su
interior.


Este
 software
 esta
 programado
 enteramente
 en
 el
 lenguaje
 Ada95
 y
 liberado
 bajo
 licencia
GPL,
por
lo
que
se
puede
bajar
también
su
código
fuente
y
funciona
para
GNU
 Linux
 y
 MS
 Windows.
 A
 diferencia
 del
 StegHide,
 el
 AdaSteganos
 cuenta
 con
 una
 interfase
gráfica
y
esta
totalmente
en
español.


(23)

CryptArkan
(Windows)


La
 principal
 característica
 de
 CryptArkan
 es
 ocultar
 archivos
 cifrados
 dentro
 de
 archivos
 de
 audio
 wav
 con
 compresión
 PCM
 de
 16
 bits.
 Los
 archivos
 ocultos
 Irán
 protegidos
mediante
contraseña.
Ademas
de
los
archivos
de
audio,
es
posible
ocultar
y
 cifrar
 texto
 dentro
 de
 una
 imagen
 bmp
 como
 la
 mayor
 parte
 de
 programas
 de
 esteganografía.


Xidie
Security
Suite
(Windows)


Xidie
 Security
 Suite
 es
 una
 de
 las
 aplicaciones
 lideres
 en
 cifrado
 y
 esteganografía
 e
 incluye
 funcionalidades
 como:
 compresión
 de
 archivos
 (incluyendo
 el
 formato
 Zip),
 cifrado,
esteganografía
con
40
tipos
de
portadores,
borrado
seguro
de
archivos
y
otros
 componentes
que
le
ayudan
a
proteger
los
archivos
y
carpetas
del
PC
y
almacenarlos
 de
 forma
 segura.
 Puede
 proteger
 un
 archivo
 o
 múltiples
 archivos
 con
 solo
 un
 clic,
 directamente
desde
el
Explorador
de
archivos
de
Windows.


OutGuess
(Unix
Linux)


Permite
la
inserción
de
información
oculta
en
los
bits
de
redundancia
de
fuentes
de
 datos.
La
naturaleza
de
la
fuente
de
datos
es
irrelevante
para
el
núcleo
de
OutGuess.
El
 programa
se
basa
en
los
datos
de
controladores
específicos
que
va
a
extraer
bits
de
 redundancia
y
escribir
de
nuevo
después
de
la
modificación.
En
esta
versión
el
PNM
y
 formatos
de
imagen
JPEG
son
compatibles.
En
los
siguientes
párrafos,
las
imágenes
se
 utiliza
como
ejemplo
concreto
de
los
objetos
de
datos,
aunque
OutGuess
puede
utilizar
 cualquier
tipo
de
datos,
siempre
que
cuenten
con
un
controlador.


Camera
/
Shy
(Windows)


Automáticamente
busca
y
ofrece
contenido
descodificado
directamente
desde
la
Web.


Es
un
stand‐alone,
Internet
Explorer,
basada
en
el
navegador
que
no
deja
rastro
en
el
 sistema
del
usuario
y
ha
mejorado
la
seguridad.


JPHIDE
y
JPSEEK
(Windows)


Permiten
 ocultar
 un
 archivo
 en
 una
 imagen
 jpeg.
 El
 objetivo
 de
 diseño
 no
 era
 simplemente
 ocultar
 un
 archivo,
 sino
 de
 hacerlo
 de
 tal
 manera
 que
 es
 imposible
 probar
 que
 el
 archivo
 de
 host
 contiene
 un
 archivo
 oculto.
 Dada
 una
 imagen
 visual
 típica,
una
tasa
de
inserción
baja
(menos
del
5%)
y
la
ausencia
del
archivo
original,
no
 es
posible
concluir
con
certeza
que
vale
la
pena
que
el
archivo
de
host
contiene
datos
 insertados.
Como
el
porcentaje
de
inserción
aumenta
la
naturaleza
estadística
de
los
 coeficientes
de
jpeg
difiere
de
"normal"
en
la
medida
en
que
aumenta
la
sospecha.
Por
 encima
de
15%
de
los
efectos
comienzan
a
ser
visibles
a
simple
vista.
Por
supuesto,


(24)

algunas
imágenes
son
mucho
mejores
que
otros
cuando
se
utiliza
un
archivo
de
host
‐
 un
montón
de
detalle
es
bueno.
Un
cielo
azul
sin
nubes
en
un
paraíso
de
esquí
cubierta
 de
nieve
es
malo.
Una
cascada
en
un
bosque
es
probablemente
ideal.


Hydan
(Unix
Linux
Windows)


Oculta
un
mensaje
en
un
ejecutable.
Se
explota
la
redundancia
en
la
instrucción
de
la
 i386
 establecidos
 por
 la
 definición
 de
 conjuntos
 de
 instrucciones
 funcionalmente
 equivalentes.
A
continuación,
codifica
la
información
en
código
de
máquina,
utilizando
 las
 instrucciones
 de
 cada
 juego.
 El
 archivo
 ejecutable
 se
 mantiene
 sin
 cambios.
 El
 mensaje
es
cifrado
Blowfish
con
una
frase
de
contraseña
proporcionada
por
el
usuario
 antes
de
ser
incorporados.


Según
 el
 campo
 observado
 en
 Software
 para
 la
 esteganografía,
 podemos
 observar
 como
 la
 mayoría
 de
 lo
 programas,
 independientemente
 de
 la
 plataforma
 en
 que
 se
 estén
 ejecutando,
 prefieren
 utilizar
 medios
 para
 portar
 información
 oculta,
 de
 gran
 capacidad
en
relación
a
su
contenido
y
tamaño
informático;
esto
debido
a
la
facilidad
 que
esta
cantidad
de
información
ofrece
para
poder
ser
reemplazada
sin
que
se
note
 un
diferencia
considerablemente
visible
en
el
resultado
final.


Lo
 anterior
 nos
 dice
 sin
 duda
 alguna
 que
 la
 popularidad
 de
 ocultar
 información
 en
 imágenes
o
sonido
y
seguramente
en
video
mas
adelante
por
lo
que
este
perfila
en
e
 su
cantidad
de
información
se
desenvuelven
y
crecen
con
mayor
velocidad
que
otros
 medios
de
menor
cantidad
de
información,
por
lo
que
en
un
futuro
seria
mas
probable
 tomar
 en
 cuenta
 para
 sospechar
 estos
 medios
 que
 los
 recursos
 mas
 livianos
 en
 un
 tamaño
informático,
por
ejemplo
textos
o
formatos
de
impresión
electrónica.


Pero
con
base
a
este
estudio
del
arte
nos
deja
sin
duda
de
que
el
recurso
necesario
 para
 poder
 ocultar
 información
 termina
 siendo
 el
 recurso
 necesario
 para
 camuflar
 información,
 así
 que
 es
 siempre
 necesario
 incrementar
 o
 tener
 gran
 cantidad
 de
 información
 para
 dentro
 de
 ella
 colocar
 otra
 determina
 información
 que
 parezca
 perteneciente
a
la
propia
portadora,
sin
embargo
y
obviamente
sin
perder
el
objetivo
 de
la
esteganografía,
esta
ultima
sea
un
mensaje
o
información
oculta.


En
base
a
las
premisas
que
nos
ofrecen
los
programas
y
que
la
elaboración
de
estos
en
 su
gran
mayoría
se
enfocan
a
el
trabajo
de
información
oculta
con
ayuda
de
recursos
 multimedia
de
gran
capacidad,
el
reto
que
se
tiene
es
ocultar
información
con
menor
 cantidad
de
información,
así
este
desarrollo
toma
el
reto
de
ocultar
texto
pero
en
otro
 texto
y
respetando
la
forma
de
tener
un
incremento
en
el
medio
portador
que
ocultara
 la
 información;
 este
 medio
 serán
 los
 archivos
 de
 impresión
 electrónica,
 conocidos
 como
archivos
PostScript.



 
 


(25)

CAPITULO
2


POSTSCRIPT


El
 PostScript,
 es
 un
 lenguaje
 de
 programación
 para
 presentar
 información
 en
 texto
 y/o
 vectores
 para,
 estos
 últimos
 para
 generar
 imagenes
 en
 la
 computadora
 y
 en
 impresoras
 que
 soporten
 este
 lenguaje,
 tal
 es
 que
 este
 lenguaje
 tiene
 ya
 una
 larga
 trayectoria
de
uso
y
desarrollo;
ha
tenido
ya
varias
versiones
y
con
ellas
diferentes
y
 mejores
usos
como
también
aplicaciones,
por
ejemplo,
en
las
primeras
versiones
no
es
 posible
 representar
 imágenes
 como
 en
 las
 ultimas
 versiones,
 sin
 embargo
 cabe
 mencionar
que
en
este
trabajo
no
nos
enfocaremos
al
tratamiento
de
imágenes.


Es
 importante
 de
 tal
 manera
 conocer
 que
 la
 principal
 aplicación
 del
 PostScript
 es
 describir
la
apariencia
de
texto,
formas
graficas
e
imagenes.
Esta
descripción
de
alto
 nivel
 sobre
 texto
 e
 imagen
 es
 independiente
 del
 dispositivo
 grafico
 a
 usar
 (pantalla
 grafica
o
impresora).


Para
lograr
las
características
anteriores
entre
otras,
el
lenguaje
PostScript
hace
uso
 de
 un
 “interprete”,
 quien
 tendrá
 el
 papel
 de
 cambiar
 las
 líneas
 de
 código
 por
 una
 representación
en
la
pantalla
involucrando
textos
y/o
imágenes.


PostScript
puede
ser
visto
desde
los
siguientes
puntos
de
vista:



• Un
 lenguaje
 de
 programación
 de
 propósito
 general
 con
 primitivas
 graficas
 incorporadas.


• Un
lenguaje
de
descripción
de
pagina
con
cualidades
de
programación.


• Un
sistema
interactivo
para
controlar
dispositivos
de
salida
raster
(pantallas
e
 impresoras)


• Un
formato
para
intercambio
 


El
lenguaje
PostScript
(PS)
puede
interactuar
con
Dispositivos
de
Salida
Raster
(DSR)
 tales
 como
 impresoras
 láser,
 matriz
 de
 punto,
 de
 inyección
 de
 tinta
 y
 todo
 tipo
 de
 pantallas.
 Una
 imagen
 impresa
 o
 desplegada
 a
 un
 DSR
 es
 un
 arreglo
 rectangular
 de
 puntos
llamados
pixeles
que
pueden
ser
direccionados
individualmente.


Por
ejemplo
en
DSR
blanco
y
negro
cada
pixel
puede
ser
blanco
o
negro.
En
otros
DSR
 mas
 avanzados
 estos
 pixeles
 pueden
 ser
 tonalidades
 de
 grises
 o
 colores.
 Con
 esta
 técnica
 se
 pueden
 reproducir
 complejas
 imagenes
 o
 texto
 dependiendo
 de
 la
 resolución
del
DSR.



 


(26)

Lenguajes
de
Descripción
de
Pagina


Teóricamente
 o
 comúnmente
 se
 podría
 pensar
 que
 cualquier
 aplicación
 (como
 un
 procesador
 de
 texto
 por
 ejemplo)
 podría
 hacer
 una
 descripción
 de
 pagina
 como
 un
 arreglo
de
paginas,
cada
una
de
estas
siendo
un
arreglo
de
pixeles.
Sin
embargo
una
 descripción
de
este
tipo
seria
dependiente
del
dispositivo
y
por
lo
tanto
enorme
para
 documentos
grandes.
Un
lenguaje
de
descripción
de
pagina
debe
ser
suficientemente
 compacto
 para
 almacenamiento
 y
 transmisión,
 ademas
 de
 ser
 independiente
 del
 dispositivo.


Estas
características
de
portabilidad
e
independencia
para
un
archivo
a
un
dispositivo
 se
pueden
lograr
si
el
lenguaje
logra
describir
las
paginas
en
términos
de
entidades
 graficas
abstractas
de
alto
nivel
en
lugar
de
un
arreglo
de
pixeles.
Es
en
el
DSR
donde
 se
genera
el
arreglo
de
pixeles
a
través
del
proceso
llamado
“Scan
Conversion”,
Este
 proceso
consiste
en
que
dada
una
descripción
PS
en
este
caso
para
la
entidad
grafica,
 se
 determinan
 que
 pixeles
 se
 deben
 ajustar
 y
 que
 valor
 se
 les
 debe
 asignar
 para
 encontrar
la
mejor
representación
posible
de
la
entidad
a
la
resolución
del
DSR.



 


Estructura
del
Lenguaje


Una
descripción
de
pagina
PS
bien
estructurada
consiste
en
un
prologo
y
un
script.
El
 prologo
 es
 un
 conjunto
 de
 procedimientos
 a
 usar
 y
 se
 acostumbra
 a
 ponerlo
 en
 el
 comienzo
del
archivo.
El
script
es
la
descripción
de
los
elementos
de
las
paginas
con
 ayuda
de
los
procedimientos
del
prologo.
Esto
ayuda
a
que
la
descripción
de
la
pagina
 sea
mas
eficiente
y
compacta.
Por
ejemplo
en
el
prologo
se
puede
definir:


/ms {moveto show} bind ref 


Y
en
el
script
se
puede
llamar
a
este
procedimiento
de
la
siguiente
forma:


(texto cualquiera aquí) 100 200 ms 


Así
 el
 script
 de
 un
 documento
 a
 imprimir
 por
 ejemplo,
 consiste
 típicamente
 de
 una
 secuencia
 de
 paginas
 separadas.
 La
 descripción
 de
 cada
 pagina
 puede
 usar
 los
 procedimientos
 del
 prologo
 pero
 debe
 ser
 independiente
 de
 las
 demás
 paginas
 del
 script.


(27)

Programación
en
PostScript


PostScript,
 lejos
 de
 ser
 solo
 una
 estructura
 de
 representación
 de
 impresiones
 en
 pantalla
 o
 impresoras
 de
 texto
 y
 de
 imágenes,
 es
 un
 muy
 completo
 lenguaje
 de
 programación
 que
 nos
 permite
 llevar
 acabo
 diferentes
 tareas,
 tales
 como
 calculo
 de
 operaciones
 matemáticas
 y
 resolución
 de
 problemas
 computables,
 tal
 es
 el
 canso
 entonces
 que
 PostScript
 usa
 notación
 postfija.
 En
 una
 operación
 los
 operandos
 van
 después
de
los
operadores.


Ej: “2 3 add”.

El
interprete
PS
manipula
entidades
llamados
Objetos
PostScript
(OP).
Algunos
OP
son
 datos
(números,
booleanos,
strings)
mientras
que
otros
son
elementos
de
programa
a
 ser
 ejecutados
 (nombres,
 operadores
 y
 procedimientos).
 El
 interprete
 opera
 ejecutando
 secuencia
 de
 OP.
 El
 efecto
 de
 la
 ejecución
 de
 un
 OP
 depende
 del
 tipo
 de
 este,
sus
atributos
y
su
valor.
Por
ejemplo
la
ejecución
de
un
OP
numero
provoca
que
 el
 interprete
 ponga
 una
 copia
 de
 ese
 objeto
 en
 la
 pila
 de
 operandos
 para
 posterior
 seguir
 operaciones
 postfijas.
 La
 ejecución
 de
 un
 nombre
 provoca
 que
 el
 interprete
 busque
su
valor
en
el
diccionario,
lo
obtenga
y
ejecute
ese
valor
asociado.
La
ejecución
 de
 un
 objeto
 operador
 provoca
 que
 el
 interprete
 realice
 una
 acción
 que
 posee
 incorporada,
tal
como
la
suma
o
el
pintado
de
caracteres
en
memoria.


El
 intérprete
 PS
 consume
 un
 programa
 mediante
 la
 ejecución
 de
 cada
 OP
 que
 encuentra.
 No
 es
 necesario
 por
 tanto
 compilar
 o
 interpretar
 el
 programa
 entero
 de
 una
vez
para
hacer
algo.


Existen
 tres
 codificaciones
 para
 programas
 PS:
 ASCII,
 binary
 token
 y
 secuencia
 de
 objetos
binarios.
ASCII
es
la
codificación
mas
usada
y
recomendada.
En
la
codificación
 ASCII
los
espacios
en
blanco
separan
una
construcción
sintáctica
de
otra.
Uno
o
mas
 espacios
son
tratados
como
si
fueran
uno
solo.
Los
caracteres
tratados
como
espacios
 son
los
siguientes:


Octal
 Hex
 Decimal
 Nombre


000
 00
 0
 Nulo
(nul)


011
 09
 9
 Tab
(tab)


012
 0A
 10
 Line‐feed
(LF)


014
 0C
 12
 Form‐feed
(FF)


015
 0D
 13
 Carriage‐return
(CR)


040
 20
 32
 Space
(SP)


Fig.
2. Tabla
de
Codificaciones


(28)

Los
 caracteres
 CR
 y
 LF
 son
 también
 llamados
 caracteres
 newline.
 Un
 CR
 seguido
 inmediatamente
por
un
LF
son
tratados
juntos
como
un
solo
newline.
Los
caracteres
 (,),<,>,[,],{,},/,
 y
 %
 son
 especiales.
 Ellos
 delimitan
 entidades
 sintácticas
 tales
 como
 strings,
 procedimientos,
 nombres
 literales
 y
 comentarios,
 sin
 embargo
 cabe
 señalar
 que
por
ello
al
enviarlos
a
pantalla
reciben
un
trato
especial.


Un
comentario
en
PS
se
forma
desde
un
%
hasta
el
siguiente
newline
no
importando
la
 existencia
de
cualquier
carácter
de
por
medio.


Números


Los
números
en
PS
pueden
ser:


• Enteros
con
signo:
123,
‐98,
43445,
0,
+17


• Reales:
‐0.002,
‐.01,
123.6e10.
1E‐5,
0.0
y


• Números
con
base
(radix
numbers):
8#1777,
16#FFFE,
2#1000
 


Si
 un
 entero
 excede
 el
 limite
 de
 implementación
 para
 ese
 tipo
 de
 dato
 entonces
 es
 convertido
a
real.
Si
un
real
excede
su
limite
entonces
un
error
de
“limitcheck”
ocurre.


Los
mismo
anterior
sucede
para
los
radix
numbers.



 


Strings


Hay
3
convenciones
para
definir
strings:


• Como
texto
literal
encerrado
entre
(
y
)


• Como
dato
codificado
hexadecimal
encerrado
entre
<
y
>


• Como
dato
codificado
ASCII
base‐85
encerrado
entre
<~
y
~>
(PS2)
 


Dentro
 de
 un
 string
 el
 “backslash”
 \
 se
 usa
 como
 carácter
 de
 escape
 para
 incluir
 caracteres
 especiales
 tales
 como
 :
 \n,
 \r,
 \t,
 \b,
 \f,
 \\,
 \(,
 \),
 \ddd.
 Este
 ultimo
 es
 código
octal
del
carácter
y
sirve
para
poner
caracteres
especiales
como
ñ
o
á,
ó,
etc.


(29)

Nombres


Toda
 construcción
 sintáctica
 compuesta
 de
 caracteres
 regulares
 y
 que
 no
 puede
 ser
 interpretado
 como
 numero
 es
 tratado
 como
 un
 objeto
 nombre
 o
 un
 nombre
 ejecutable.
Cualquier
carácter
excepto
delimitadores
o
espacios
pueden
formar
parte
 de
un
nombre.
Cuando
inmediatamente
delante
del
nombre
hay
un
/
entonces
este
es
 un
nombre
literal,
en
caso
contrario
es
un
nombre
ejecutable.


Arreglos


Los
 caracteres
 “[“
 y
 “]”
 delimitan
 un
 arreglo.
 Por
 ejemplo:
 “[123
 /abc
 (xyz)]”
 es
 un
 objeto
arreglo
que
contiene
el
entero
“123”,
el
nombre
literal
“abc”
y
el
string
“xyz”.


Procedimientos


Los
caracteres
“{“
y
“}”
delimitan
un
arreglo
ejecutable
o
procedimiento.
Por
ejemplo:


“{add
2
div}”.
Un
procedimiento
no
es
ejecutado
de
inmediato,
sino
que
se
pone
en
la
 pila
de
operandos
y
se
ejecuta
si
es
explícitamente
invocado.


Ejecución


El
lenguaje
de
programación
PostScript,
como
se
ha
mencionado,
trabaja
con
forme
a
 evaluaciones
 postfijas,
 estas
 son
 asistidas
 de
 funcionamientos
 en
 pilas,
 dichas
 pilas
 son
manipuladas
por
el
interprete
(IPS).


El
IPS
maneja
4
pilas
que
representan
el
estado
de
ejecución
de
un
programa
PS.



• Pila
 de
 operandos.
 Mantiene
 los
 objetos
 PS
 que
 son
 operandos
 para
 una
 operación
posterior
o
son
el
resultado
de
alguna
operación
llevada
a
cabo.
Esta
 pila
puede
es
manipulada
por
el
programa
PS.


• Pila
diccionario.
Mantiene
objetos
diccionario.
Esta
pila
también
es
manipulada
 por
el
programa
PS.



• Pila
de
ejecución.
Mantiene
la
secuencia
de
objetos
ejecutables
a
ejecutar.
Esta
 pila
 es
 manipulada
 por
 el
 IPS,
 puede
 ser
 leída
 por
 el
 programa
 PS
 pero
 no
 modificada.


• Pila
de
estado
grafico.


La
semántica
de
la
ejecución
difiere
de
un
tipo
de
objeto
a
otro.
Esta
ejecución
puede
 ser
inmediata
o
diferida.



 


(30)

Por
ejemplo:



“40
60
add
2
div”


1. El
IPS
en
este
caso
carga
en
la
pila
de
operandos
el
valor
entero
40.


2. Se
encuentra
el
entero
60
y
lo
carga
también
en
la
pila
de
operandos.


3. Se
 encuentra
 “add”,
 se
 busca
 en
 la
 pila
 de
 diccionarios
 por
 este
 nombre.
 Se
 encuentra
 en
 “systemdict”
 y
 se
 ejecuta
 su
 acción
 incorporada,
 la
 suma
 de
 los
 dos
últimos
operandos
de
la
pila
de
operandos.


4. Luego
de
llevarse
a
cabo
tal
operación
se
carga
100
en
la
pila
de
operandos
y
se
 eliminan
los
operandos
anteriores


5. Luego
el
IPS
carga
2
en
la
pila
de
operandos
y
ejecuta
“div”,
después
de
lo
cual
 cargaría
50
en
la
pila
de
operandos.
Esta
ejecución
es
inmediata.


Estructuras
de
control


En
PS,
las
estructuras
de
control
tales
como
condicionales
o
iteraciones
son
llevadas
a
 cabo
por
operadores
que
toman
procedimientos
como
operandos.
Por
ejemplo:


a b gt {a} {b} ifelse

1. El
 interprete
 encuentra
 los
 nombre
 ejecutables
 “a”
 y
 “b”
 y
 los
 busca
 en
 la
 pila
 de
 diccionarios.
 En
 este
 caso
 se
 asumen
 números
 y
 se
 ejecutan
 cargándolos
en
la
pila
de
operandos.


2. El
operador
“gt”
saca
los
dos
operandos,
los
compara
y
pone
“true”
en
la
pila
 si
el
primero
es
mayor
que
el
segundo
y
“false”
en
cualquier
otro
caso.


3. Se
 encuentran
 los
 procedimientos
 {a}
 y
 {b}
 que
 se
 ponen
 en
 la
 pila
 de
 operandos.


4. El
operador
“ifelse”
toma
tres
operandos,
un
boolean
y
dos
procedimientos.


Se
sacan
estos
tres
operandos
de
la
pila
de
operandos.
Si
el
primer
operando
es
“true”


entonces
se
ejecuta
{a},
en
otro
caso
se
ejecuta
{b}.


El
 resultado
 de
 este
 estamento
 es
 poner
 entonces
 en
 la
 pila
 de
 operandos
 el
 valor
 mayor
entre
“a”
y
“b”,
dado
que
ambos
procedimientos
tienen
aquellos
números
tan
 solo
como
cuerpo.




 
 
 


(31)

Los
operadores
de
control
son:1

• if,
ifelse


• Ejecuta
un
objeto
incondicionalmente.


• for,
repeat,
loop
y
forall


• exit:

 
 Escapa
de
un
loop


• stop:

 Termino
prematuro,
quiebra
toda
secuencia
de
ejecución.


• countexecstack,
execstack:
se
usan
para
leer
la
pila
de
ejecución
 Ejemplos:


% provocara poner en la pila 4 veces el string “abc” sacando previamente

% los operandos 4 y el procedimiento de la pila 4 {(abc)}repeat

% aquí el tope de la pila termina con el valor 4 8 4 {1 sub} repeat

% equivale al codigo-C: for(i=0; i<=8; i++) proc;

% si el incremento es negativo entonces el <= se cambia por un >=

0 2 8 {proc} for

% lo siguiente pondra los valores 3.0, 2.5, 2.0, 1.5 y 1.0 en la pila 3 -0.5 1 {}for

% en cada iteracion del for el actual valor del contador es puesto en la pila, así

0 1 4 {add} for

% resultara en un 10 al final.

Entre
las
estructuras
de
control,
pilas
y
demás
prestaciones
que
ofrece
el
lenguaje
de
 PostScript
 podríamos
 detallar
 mas
 acerca
 del
 funcionamiento
 del
 lenguaje,
 sin
 embargo
dado
que
este
no
es
el
objetivo
de
esta
investigación,
continuaremos
con
las
 actividades
relacionadas
al
proyecto.
Todo
lo
concerniente
al
lenguaje
PostScript
que
 tenga
relación
con
el
tema
se
desarrollara
en
el
tiempo.










1
PostScript.
Salvador
Ramírez
Flandes,
Ideas
Básicas,
P.
5


Referencias

Documento similar

· Emisión de informe sobre la adecuación entre las competencias y conocimientos adquiridos de acuerdo con el plan de estu- dios del título de origen, o la experiencia laboral

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés

Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

Luis Miguel Utrera Navarrete ha presentado la relación de Bienes y Actividades siguientes para la legislatura de 2015-2019, según constan inscritos en el

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de