Вы находитесь на странице: 1из 41

TECNOLGICO DE ESTUDIOS SUPERIORES DE JOCOTITLN INGENIERA EN SISTEMAS COMPUTACIONALES

DESARROLLO DE SOFTWARE Compaa de Seguridad Informtica


ALGORITMO PARALELO PARA EL SISTEMA CRIPTOGRFICO TDES EMPLEANDO OPEN MP
QUE PRESENTAN:
Saldaa Garca Jess Antonio Seplveda Maya Jos Jorge Odiln Nava Liliana Gonzlez Gil Marco Antonio Garduo Mondragn Vctor Hugo Garca Torres Mario Agustn Gonzlez Benjamn De Jess Lpez Antonio Garca Gmez Nestor Alonso Vicente Marcelo Abel

NOMBRE DEL DOCENTE:


M. en T.C. Erika Lpez Gonzlez.

SEMESTRE: VIII

GRUPO: IC - 802 Jocotitln Estado de Mxico a 28 de Marzo de 2011

NDICE
I ANLISIS 1.1 OBJETIVO GENERAL 1.2 OBJETIVOS ESPECFICOS II DISEO 2 INTRODUCCIN 2.1 DIAGRAMAS DE DELIMITACIN DEL SISTEMA 2.2 DIAGRAMA DE CASO DE USO 2.3 DIAGRAMA DE PAQUETES 2.4 DIAGRAMA DE ESTADO 2.5 DIAGRAMA DE EMPLAZAMIENTO 2.6 DIAGRAMA DE INTERACCIN 2.7 DIAGRAMA DE CLASE 2.8 DIAGRAMA DE ACTIVIDADES 2.9 DIAGRAMA DE COLABORACIN 2.10 DESCRIPCIN DE COMPONENTES DEL DIAGRAMA DE EMPLAZAMIENTO 2.11 ARQUITECTURA PARA EL SISTEMA III REFERENCIAS BIBLIOGRFICAS IV INDICE DE FIGURAS V INDICE DE TABLAS VI GLOSARIO 3 3 4 5 6 13 15 17 19 22 26 28 29 31 36 37 32 33

I Anlisis
Software: Builder 6.0 y Open MP y El software permite la programacin paralela. Recursos: y y y y y y Procesador multincleos para poder trabajar la programacin paralela. Computadora: Para poder programar. Memoria: Tener suficiente espacio para acelerar los procesos. SO: Debe ser compatible con el software y hardware a utilizar (Builder 6.0 y Open MP). Internet: Fuente de investigacin y consulta. Lugar de trabajo:

1.1 OBJETIVO GENERAL


Disear e implementar un algoritmo paralelo para el sistema criptogrfico T-DES empleando Open MP que aprovechamiento de los recursos del sistema y minimice los tiempos de procesamiento.

1.2 OBJETIVOS ESPECFICOS


y y y y y y Investigar y estudiar sistemas criptogrficos. Analizar el sistema criptogrfico T-DES. Estudiar las caractersticas de mquinas con procesamiento paralelo. Analizar y estudiar la programacin paralela. Implementar la programacin paralela en el sistema criptogrfico T-DES. Analizar y aplicar el lenguaje de programacin Open MP.

II DISEO 2 INTRODUCCIN

La tecnologa ha ido avanzando a pasos agigantados durante los ltimos aos en razn a la utilizacin de sistemas computarizados as como de sistemas inteligentes, se podra decir que la cultura contempornea est marcada por la tecnologa computacional hoy presente. Los nuevos productos son: informaciones, datos y conocimientos elaborados, imgenes y concepciones nuevas, a la par de crecientes y rpidamente cambiantes, con un gran nmero de innovaciones tecnolgicas y sociales puestas en circulacin. En cuanto a los manejos de informacin la utilizacin de la tecnologa computacional ha sido de gran importancia para el ser humano, ya que esto le ha permitido ahorrar tiempo y recursos que puede destinar a otras actividades, pero sin duda uno de los grandes riesgos que ha venido sufriendo tras el manejo de estos sistemas es el robo de informacin, as como de fraudes provenientes de agentes externos como hackers y personas que estn pendientes del envi de informacin para poder extraerla de la red y usarla en su beneficio. Para prevenir este tipo de eventos que perjudican directamente a los usuarios se han ido diseando sistemas capases de proteger la informacin confidencial para que llegue con bien a su destino.

2.1

DIAGRAMAS DE DELIMITACIN DEL SISTEMA

Marca las fronteras, los usuarios o acciones principales que se enrolan al proceso de forma general al sistema de desarrollo de software [1]. En la Fig. 2.1 se muestra el funcionamiento del sistema y cules son los elementos principales involucrados con el sistema. El usuario ser el encargado de agregar o buscar un archivo existente al sistema y utilizando programacin paralela se encriptar el archivo.

Usuario Archivo original

Algoritmo T-Des empleando programacin paralela

Archivo encriptado /des encriptado Des. Archivo procesado

Fig. 2.1 Diagrama de Delimitacin del Sistema

2.2 DIAGRAMA DE CASO DE USO


Un caso de uso es una descripcin de las acciones de un sistema desde el punto de vista del usuario. Cada caso de uso est relacionado como mnimo con un actor. Cada caso de uso es un iniciador (un actor). Elementos: Actor: Entidad externa (fuera del sistema) que interacta con el sistema. Los actores pueden ser gente real, otras computadoras o eventos externos. Representan su rol. Relaciones: <<include>> Especifica una situacin en la que un caso de uso tiene lugar dentro de otro caso de uso. <<extends>> Detalla que en ciertas situaciones, o en algn punto (llamado punto de extensin) un caso de uso ser extendido por otro. Generalizacin: Especifica que un caso de uso hereda las caractersticas del super caso de uso [2]. En la figura 2.2 se muestra el funcionamiento de encriptacin por medio de los diagramas de casos de uso.

Encriptacin T-Des
Buscar archivo Archivo <<extend> Algoritmo de encriptacin /Des, T-Des Dividir procesos (Open MP)

Solicitar clave Usuario

Archivo

Fig. 2.2 Diagrama de Casos de Uso de encriptacin

En el proceso de encriptacin T-Des es necesario buscar un archivo que es provedo por el usuario, posteriormente solicitar una clave, ya asignada, se divide el proceso (Open MP) que se extiende del Algoritmo de encriptacin / Des, T-Des.

Cuando el proceso est terminado, se obtendr un archivo final.

En la tabla 2.1 se dan a conocer la descripcin detallada de los elementos del caso de uso del sistema de Encriptacin.
Nombre Autor Fecha Descripcin Autores Precondiciones Flujo normal Encriptacin CSI 1/03/2011 Encriptacin de datos de un archivo y Usuario / Archivo

y
y

Archivo final

Se necesita una clave de 64 bits.

Procesador milti ncleos o clster. Solicitar la cave.


Divisin de procesos. Encriptacin de archivo. Arroja archivo encriptado En caso de no enviar un archivo, enviar mensaje de error.

1. Insertar un archivo de texto.

2. 3. 4. 5.
Flujo alternativo y

Pos condiciones

Generar un archivo de texto (.txt o .PDF) ya encriptado.

y y

Error al procesar la clave (ingresarla de nuevo). Proceso no admitido.

Tabla 2.1 Descripcin de Encriptacin Descripcin: En la figura 2.3 se muestra el funcionamiento del proceso de des encriptacin por medio de los diagramas de casos de uso.

Des encriptacin T-Des


Buscar archivo Archivo <<extend>> Algoritmo de encriptacin /Des, T-Des Dividir procesos (Open MP)

Solicitar clave Usuario

Archivo

Fig. 2.3 Diagrama de Caso de Uso de T - Des encriptacin y En el proceso de Des encriptacin T-Des es necesario buscar un archivo que es provedo por el usuario, posteriormente solicitar una clave, ya asignada, se divide el proceso (Open MP) que se extiende del Algoritmo de encriptacin / Des, T-Des. Cuando el proceso est terminado, se obtendr un archivo final.

En la tabla 2.2 se dan a conocer la descripcin detallada de los elementos del caso de uso del sistema de Des encriptacin.
Nombre Autor Fecha Descripcin Autores Precondiciones Flujo normal Des encriptacin CSI 1/03/2011 Encriptacin de datos de un archivo y Usuario / Archivo

y
y

Archivo final

Se necesita una clave de 64 bits.

Procesador milti o clster. Solicitar la cave.


Divisin de procesos. Des encriptacin de archivo. Arroja archivo des encriptado En caso de no enviar un archivo, enviar mensaje de error.

1. Insertar un archivo de texto.

2. 3. 4. 5.
Flujo alternativo y

Pos condiciones

Generar un archivo de texto (.txt o .PDF) ya des encriptado.

y y

Error al procesar la clave (ingresarla de nuevo). Proceso no admitido.

Tabla 2.2 Descripcin de Des encriptacin

En la figura 2.4 se muestra el funcionamiento del Algoritmo de encriptacin T-Des

En el proceso de encriptacin T-Des se necesita una clave de 64 bits y tener una BD para poder realizar una permutacin cuando se calculan las subclaves, el archivo que ser encriptado tiene que ser un texto plano de 64 bits. Las permutaciones van de L0 hasta L16 y de K1 hasta K16, este proceso se realizars hasta obtener una permutacin final y el sistema entregar un archivo de texto cifrado.

Algoritmo de encriptacin T-Des

Clave (64 bits)

Calculo de subclaves K1, K16

BD Permutacin es

Permutacione s L0-L16, R1R16

Permutacin final

Archivo Texto cifrado

Texto plano (64 bits)

Fig. 2.4 Diagrama de Caso de Uso de Algoritmo de encriptacin T Des

En la tabla 2.3 se dan a conocer la descripcin detallada de los elementos del caso de uso del sistema de Des encriptacin.

Nombre Autor Fecha Descripcin Autores Precondiciones

Algoritmo de Encriptacin T Des CSI 1/03/2011 Algoritmo que realiza la encriptacin de un archivo de datos.

y y
y

Calve de 64 bits, BD (Tabla de permutaciones). Texto plano (64 bits).


Se necesita el clculo de sub claves k1-k16

Flujo normal

y y y

Es necesario una permutacin L0 L 16, R1 R 16. Realizar una permutacin final. Texto cifrado (Archivo). Se compara en la tabla de permutaciones (BD). Se realiza la permutacin del texto plano. Se realiza permutacin final. Arroja texto cifrado.

1. Ingresar clave de 64 bits.

2. 3. 4. 5.
Flujo alternativo Pos condiciones y

Si la permutacin es incorrecta no se entregar un archivo cifrado Generar un archivo de texto (.txt o .PDF) ya encriptado.

Tabla 2.3 Descripcin de Algoritmo de Encriptacin T-Des

10

En la figura 2.5 se muestra el funcionamiento del Algoritmo de Des encriptacin TDes. En el proceso de Des encriptacin T-Des se necesita una clave de 64 bits y tener una BD para poder realizar una permutacin cuando se calculan las subclaves, el archivo que ser encriptado tiene que ser un texto plano de 64 bits. Las permutaciones van de L16 hasta L0 y de K16 hasta K1, este proceso se realizars hasta obtener una permutacin final y el sistema entregar un archivo de texto cifrado.

Algoritmo de Des encriptacin T-Des

Clave (64 bits)

Calculo de subclaves K16, K1

BD Permutacio nes

Permutaciones L16-L0, R16R1

Permutacin final

Archivo Texto cifrado

Texto plano (64 bits)

Fig. 2.5 Diagrama de Caso de Uso de Algoritmo de Desencriptacin T Des

11

En la tabla 2.4 se dan a conocer la descripcin detallada de los elementos del caso de uso del sistema de Des encriptacin.

Nombre Autor Fecha Descripcin Autores Precondiciones

Algoritmo de Des encriptacin T Des CSI 1/03/2011 Algoritmo que realiza la Des encriptacin de un archivo de datos.

y y
y

Calve de 64 bits, BD (Tabla de permutaciones). Texto plano (64 bits).


Se necesita el clculo de sub claves k16-k1

Flujo normal

y y y

Es necesario una permutacin L16 L 0, R16 R 1. Realizar una permutacin final. Texto cifrado (Archivo). Se compara en la tabla de permutaciones (BD). Se realiza la permutacin del texto plano. Se realiza permutacin final. Arroja texto cifrado.

1. Ingresar clave de 64 bits.

2. 3. 4. 5.
Flujo alternativo Pos condiciones y

Si la permutacin es incorrecta no se entregar un archivo cifrado Generar un archivo de texto (.txt o .PDF) ya encriptado.

Tabla 2.4 Descripcin de Algoritmo de Des encriptacin T-Des

12

2.3

DIAGRAMA DE PAQUETES

Permite dividir al sistema orientado a objetos, organizndolo en subsistemas y detallando sus relaciones.

Elementos

Paquetes: Mecanismos para agrupar y organizar elementos. Clases, interfaces, componentes, nodos, colaboraciones, casos de uso, diagramas y otros paquetes. Se representa con el smbolo de una carpeta.

Dependencia entre paquetes: Indica que un elemento de un paquete requiere a otro de otro de un paquete distinto.

Visibilidad de los elementos:

y y y y

+ Pblico - Privado (estos elementos no se pueden importar o mezclar) # Protegido Estereotipos definidos <<...>>. Si se definen propiedades, se representan debajo del nombre y entre llaves.

En la figura 1.6 se muestra el funcionamiento del diagrama de paquetes del sistema [3].

13

INTERFAZ
ARCHIVO PLANO

+ Encriptar. + Des encriptar

ARCHIVO CIFRADO + Archivo de texto

+ Archivo de texto
CLAVE # Clave de 64 bits

PROCESO # Procesamiento en paralelo. # Algoritmo de encriptacin

ARCHIVOS # Tabla de permutaciones

PROCESO #Procesamiento en paralelo. # Algoritmo de Des encriptacin

Fig. 2.6 Diagrama de Paquetes. y El paquete de Interfaz contiene dos elementos de carcter pblico los cuales son Encriptar y Des encriptar y es donde se elige la accin a realizar y depende de los paquetes de Archivo Plano y el de Archivo de Cifrado ya sea que el usuario desee encriptar o Des encriptar un archivo. El paquete de Cifrado contiene dos elementos de carcter protegidos los cuales son procesamiento en paralelo y algoritmo de cifrado para realizar la encriptacin, y este a su vez necesita del paquete de Archivo Plano, el de Clave, y el de Tabla para realizar el proceso de cifrado. El paquete de Archivo Plano contiene un elemento de carcter pblico de nombre archivo de texto, este proporcionara un archivo de texto plano para ser procesado. El paquete de Clave contiene un elemento de carcter protegido de nombre Clave, este proporcionara una clave de 64 bits para el proceso de encriptacin. El paquete de Tabla contiene un elemento de carcter protegido de nombre Tabla de Permutacin, este va a interactuara con el algoritmo de encriptacin. El paquete de Descifrado contiene dos elementos de carcter protegidos los cuales son procesamiento en paralelo y algoritmo de des encriptacin para realizar la Desencriptacin, y este a su vez necesita del paquete de Archivo Cifrado, el de Clave, y el de Tabla para realizar el proceso de descifrado.

y y y y

14

y y

El paquete de Archivo Cifrado contiene un elemento de carcter pblico de nombre archivo de texto, este proporcionara un archivo de texto cifrado para ser procesado. El paquete de Clave contiene un elemento de carcter protegido de nombre Clave, este proporcionara una clave de 64 bits para el proceso de des encriptacin. El paquete de Tabla contiene un elemento de carcter protegido de nombre Tabla de Permutacin, este va a interactuara con el algoritmo de des encriptacin.

2.4

DIAGRAMA DE ESTADO

Los diagramas de estados son una tcnica conocida para describir el comportamiento de un sistema. Representa el ciclo de vida de un objeto. Permitiendo visualizar los estados de un objeto, los eventos ante los cuales reacciona y los efectos o acciones que realiza al cambiar de estado. Estados: Los estados se representan mediante un rectngulo redondeado:

Los estados iniciales y finales las cuales se representan: Inicial final

Condicin: Esto se da cuando se tiene que tomar o escoger una opcin y se representa con un rombo: Transicin: Son los cambios de estados que ocurren en la vida de un objeto. Se representan por medio de una flecha dirigida. Eventos: Un evento es una ocurrencia que afecta el comportamiento del objeto ocasionando una transicin [4]. En la figura 2.7 se muestra el funcionamiento del sistema de encriptacin por medio de un diagrama de Estado.

15

Solicitar Archivo

Encontrado

No encontrado Crear archivo No crear

Seleccionar archivo

Editar archivo

Agregar al sistema

Guardar archivo

Ingresar clave

Seleccin de proceso

Cifrado

Descifrado

Realizar un proceso

Archivo procesado

Fig. 2.7 Diagrama de Estado Al Iniciar se solicita un archivo despus pasa por una transicin de buscar y llega a una condicin en la cual se muestran dos opciones: archivo encontrado o archivo no encontrado, si se encuentra realiza lo siguiente:

16

Seleccionamos el archivo, se agrega al sistema, en seguida se tiene que ingresar la llave, despus de esto se lleva a una seleccin de proceso en la que nos muestra dos opciones cifrar o descifrar, al concluir con el proceso que se seleccion nos arroja un archivo procesado. En el caso de no encontrar el archivo nos encontraremos otra condicin, la cual nos ofrece dos opciones: crear archivo y no crear, al tomar la primera opcin se realiza lo siguiente: o Se crea el archivo, se guarda y se agrega al sistema, en seguida se tiene que ingresar la llave, despus de esto se lleva a una seleccin de proceso en la que nos muestra dos opciones cifrar o descifrar, al concluir con el proceso que se seleccion nos arroja un archivo procesado. En caso de seleccionar la opcin de no crear archivo el proceso se termina automticamente. o

2.5

DIAGRAMA DE EMPLAZAMIENTO

Diagrama de emplazamiento (funcin). Muestra el funcionamiento los componentes fsicos entre los componentes de software. Un nodo se representa por un cuadro, por lo regular se muestra una pieza de hardware, este puede ser un dispositivo de o sensor simple o puede tratarse de una computadora y dentro de l los componentes que lo integran.

Nodo Otro elemento que entra en estos diagramas son las conexiones entre nodos muestran las rutas de comunicacin a travs de las cuales interactuar el sistema, se representan por lneas continuas.

Conexin Los componentes en un diagrama de emplazamiento representan mdulos fsicos de cdigo. Corresponden exactamente a los paquetes de un diagrama de paquetes, de tal modo que el diagrama de emplazamiento muestra dnde se ejecuta cada paquete en el sistema.

Componente

17

Las dependencias entre los componentes deben ser las mismas que las dependencias de paquetes. En conclusin el diagrama de paquetes est relacionado con el diagrama de emplazamientos. Estas dependencias muestran cmo se comunican los componentes con otros componentes. La direccin de una dependencia dada indica el conocimiento en la comunicacin. ---------------------------------------------> Dependencia

En la fig. 2.8 se muestra el funcionamiento de diagrama de emplazamiento para el encriptador.

PC con Windows Archivo de texto Archivo de texto

Clave

Clave

Encriptar

Proceso en Paralelo

Des encriptar

Procesador Multi ncleo Conexin P1 PN

Fig. 2.8 Diagrama de Emplazamiento

18

Como nodo tenemos una pc con Windows, dentro de ella se representas los componentes Interface que se representa con un crculo transparente, el cual est ligada al componente Archivo de texto, as mismo esta muestra una relacin con el paquete clave, as el componente encriptar entra al componente proceso paralelo, el cual muestra una dependencia con el nodo de procesador multinucleo, este ltimo tiene componentes de procesador 1 hasta procesador n. Para desencriptar utilizamos los mismos compontes que se utilizaron en encriptacin, siguiendo los mismos pasos hasta antes de llegar a proceso paralelo ya que hay comparten los dos este componente, as como la dependencia con el nodo procesador multincleo. Por ltimo tenemos la conexin entre el nodo pc con Windows y el nodo procesador multincleo.

2.6

DIAGRAMA DE INTERACCIN

Los diagramas de interaccin se encargan de describir el comportamiento dinmico del sistema de informacin mediante el paso de mensajes entre los objetos del mismo. Componentes: Un objeto se representa como una lnea vertical discontinua, llamada lnea de vida, con un rectngulo de encabezado con el nombre del objeto en su interior.

Componente Un mensaje se representa como una flecha horizontal entre las lneas de vida de los objetos que intercambian el mensaje [6] Dependencia

En la figura 2.9 se muestra el funcionamiento del proceso de encriptacin del sistema por medio de un diagrama de interaccin.

19

Interface

Archivo

Procesos

Usuario 1 Busca archivo 1.1 Selecciona archivo

1.3 Archivo encontrado

1.2 Selecciona archivo

2 Proceso de cifrado 2.1 Retorna archivo procesado

Fig. 2.9 Diagrama de Interaccin de Cifrado y y En el diagrama se muestra a un usuario, una interface de usuario, un archivo y el proceso DES. El usuario acceder a la interface de usuario, ya que se accedi a la interface se enva un mensaje buscando el archivo plano con el que se realizara la operacin de encriptacin. Si el archivo se encontr se retornara un mensaje a la interface indicando que el archivo fue encontrado. Ya que se ha seleccionado y encontrado el archivo se enva una mensaje al proceso T-Des para que comience el cifrado del archivo, ya que se concluye el proceso T-Des se retorna un mensaje a la interface indicando que el archivo termino de procesarse. Si el archivo se encuentra entrara al proceso T-Des que es el encargado de realizar la encriptacin del archivo, una vez concluido el proceso se retornara el archivo procesado a la interface.

y y

20

Interface

Archivo

Procesos

Usuario 1 Busca archivo 1.1 Selecciona archivo

1.3 Archivo encontrado

1.2 Selecciona archivo

2 Proceso de descifrado 2.1 Retorna archivo procesado

Fig. 2.10 Diagrama de Interaccin de Descifrado En la figura 2.10 se muestra el funcionamiento del proceso de Des encriptacin del sistema por medio de un diagrama de interaccin. y y El usuario accede a la interface, la interface enva un mensaje para buscar el archivo cifrado, si el archivo se encuentra se retornara un mensaje a la interface. Ya que la interface encontr el archivo se enva un mensaje al proceso T-Des para que se comience a descifrar el archivo, cuando se concluya este proceso se enva un mensaje a la interface indicando que el archivo se ha descifrado correctamente.

21

2.7 DIAGRAMA DE CLASE


Se utiliza en el anlisis para describir el contenido de una clase y las operaciones que puede ejecutar el usuario. Se utiliza en el diseo de la arquitectura de las aplicaciones para describir la estructura de una clase y los servicios que ofrecen a otras clases.

Fig. 2.11 Ejemplo de una clase Relacin de asociacin Representa cualquier tipo de relacin entre clases. No obstante en caso de relaciones estndares se aconseja utilizar la notacin disponible. Fundamentalmente se utilizan en el anlisis.

Fig. 2.12 Ejemplo de una clase y el tipo de relacin que existen.

22

Relacin de generalizacin La generalizacin se asocia a las relaciones es-un en el anlisis y herencia en el diseo, es decir, el subtipo tiene todas las caractersticas que tiene el supertipo.

Fig. 2.13 Relacin de generalizacin de una clase.

Relacin de agregacin Representa la composicin de un objeto. Se utiliza para representar las relaciones es-parte-de en el anlisis.

Fig. 2.14 Relacin de agregacin de una clase.

Relacin de composicin Tambin representa la composicin de un objeto, pero la existencia de los componentes es dependiente de la existencia de la clase que lo contiene. Se utiliza para representar la composicin de una clase en el diseo.

Fig. 2.15 Relacin de navegabilidad de una clase. 23

Relacin de navegabilidad Se utilizan en diseo para indicar que una clase accede al contenido de otra clase.

Fig. 2.16 Relacin de navegabilidad de una clase. Clase parametrizada Se utilizan en el diseo para representar plantillas (templates). Son muy tiles para definir colecciones.

Fig. 2.17 Ejemplo de una clase parametrizada. Relacin de dependencia Se utilizan en el diseo para indicar que una clase accede a los servicios de otra clase [7].

Fig. 2.18 Ejemplo de una clase de dependencia. En la figura 1.19 se muestra el funcionamiento del proceso de encriptacin del sistema por medio de un diagrama de clase.

24

Fig. 2.19 Diagrama de clase.

y y

Componentes: El diagrama est compuesta por 3 clases, la cual se puede apreciar con el nombre de cifrar, abrir, descifrar. Clase cifrar: cuenta con ciertas caractersticas como es la de archivo plano, Clave. El cual esta clase ejecuta o llama la funcin cifrar( ); Clase Abrir: tiene como solo caracterstica nombre, llamando a una funcin abrir_archivo ( ); Clase descifrar: como caracterstica de la clase archivo_cifrado y clave. Cuenta con dos objetos: Archivo cifrado, Archivo plano. Descripcin: En primera en la clase abrir le asignamos el nombre al archivo y este a su vez realiza la operacin abrir_archivo para realizar la operacin que se desea ya sea descifrar y cifrar. En la clase cifrar, aadimos el archivo a encriptar el cual ser necesario ingresar una clase, est a su vez manda a llamar la funcin cifrar ( ); para poder realizar cierta operacin obteniendo como resultado o accin generada el archivo cifrado. As mismo se dice que se tiene una relacin 1:1 entre la clase cifrar y el objeto archivo_cifrado ya que solo encripta un archivo y solo entrega uno. Lo mismo pasa con la clase descifrar tiene la misma relacin 1:1 solo que esta descifra.

25

1.8 DIAGRAMA DE ACTIVIDADES


Estos diagramas son particularmente tiles en conexin con el flujo de trabajo y para la descripcin del comportamiento que tiene una gran cantidad de proceso paralelo. El diagrama de actividades me permite seleccionar el orden en que se harn las cosas. Esto es, simplemente me dice las reglas esenciales de secuenciacin que tengo que seguir. sta es la diferencia clave entre un diagrama de actividades y un diagrama de flujo. Los diagramas de flujo se limitan normalmente a procesos secuenciales; los diagramas de actividades pueden manejar procesos paralelos. Carriles: Cada zona representa la responsabilidad de una clase en particular.
Usuario Archivo Proceso de cifrado

Buscar archivo Encontrado no

Crear Selecciona archivo

No crear

Ingresar clave

Editar archivo

Cifrar

Descifrar

Seleccionar accin

Guarda archivo

Archivo procesado

Realiza proceso

Fig. 2. 20 Diagrama de actividades

26

En la figura 1.20 se tiene un usuario que al entrar al sistema lo primero que hace es buscar un archivo, despus de buscar en varias rutas el sistema debe tomar una decisin de acuerdo a si se encontr el archivo o no: y Si el archivo fue encontrado se selecciona este, despus se ingresa la clave y luego la accin en donde el usuario debe seleccionar si va a cifrar o descifrar el archivo. El sistema realiza el proceso y enseguida nos manda el archivo procesado. Si el archivo no fue encontrado el usuario debe tomar la decisin de crear o no crear un archivo: Si la decisin es crear el archivo, se crea el archivo o se edita y enseguida se guarda. El sistema nos manda al estado seleccionar archivo, despus al estado ingresar clave, despus pasa por el estado seleccionar accin en donde el usuario debe seleccionar si va a cifrar o descifrar el archivo. El sistema realiza el proceso y enseguida nos manda el archivo procesado. Si la decisin es no crear entonces se sale del sistema [8].

27

2.9

DIAGRAMA DE COLABORACIN

Aqu en este diagrama nos muestra la interaccin organizada basndose en los objetos que toman parte en la interaccin y los enlaces entre los mismos. As mismo muestran las relaciones entre los roles de los objetos.

Interfaz

5: El cifrado es entregado ()

Proceso Cifrado

4: Solicita que le alcance la informacin () 6: Fin del encriptado () 3: Devuelve informacin () 1: Solicita peticin () 2: Solicita texto y clave ()

Usuario

Archivo

Fig. 2. 21 Diagrama de colaboracin

Descripcin.
En este diagrama nos enumera los mensajes mediante una serie continua de nmeros los cuales nos describen lo siguiente: 1.-Solicita peticin (): En este mensaje nos dice que el usuario solicita una peticin para realizar el proceso de encriptado. 2.- Solicita texto y clave (): El Algoritmo le solicita el texto a cifrar y la clave que tendr. 3.- Devuelve informacin (): Aqu nos regresa la informacin del archivo a cifrar y la clave que tendr. 4.- Solicita que le alcance la informacin (): En este mensaje nos dice que la informacin recabada ser procesada para el cifrado mediante programacin paralela. 5.- El cifrado es entregado (): Aqu nos dice que el texto ha sido cifrado con la clave dada y es entregada a la interfaz para posteriormente mostrarlo.

28

6.- Fin del encriptado (): Por ltimo el mensaje nos muestra que el texto ha sido encriptado y est listo para el usuario [9].

2.10 DESCRIPCIN DE COMPONENTES DEL DIAGRAMA DE EMPLAZAMIENTO


Archivo plano que contiene la informacin a encriptar, tiene que ser agregado por el usuario.

Archivo de texto  Leer_archivo();

Clave (llave) de 64 bits ya se encuentra definida dentro del programa.

Clave.  Cifrar();

El proceso de encriptacin TDes se necesita una clave de 64 bits y tener una BD para poder realizar una permutacin cuando se calculan las subclaves, el archivo que ser encriptado tiene que ser un texto plano de 64 bits. Las permutaciones van de L16 hasta L0 y de K16 hasta K1.

Encriptar.  Iteraciones();  Texto plano  claves

Se carga el algoritmo de encriptacin T-DES y se comienzan a dividir procesos mediante la programacin open MP

Proceso en Paralelo.  Omp.h;  Paralelo();  Procesador multinucleos

29

El proceso de des encriptacin T-Des se necesita una clave de 64 bits y tener una BD para poder realizar una permutacin cuando se calculan las sub claves, el archivo que ser des encriptado tiene que ser un texto plano de 64 bits. Las permutaciones van de L16 hasta L0 y de K16 hasta K0.

Des encriptar.  Iteraciones();  Texto cifrado  claves

Clave (llave) de 64 bits ya se encuentra definida dentro del programa.

Clave.  Des_cifrar();

Archivo plano que contiene la informacin descifrada.

Archivo de texto  Leer_archivo();

Fig. 2. 22 Descripcin de componentes del diagrama de emplazamiento

30

2.11 ARQUITECTURA PARA EL SISTEMA


La arquitectura que se considera se adapta al Sistema Criptogrfico T-Des Open MP es la arquitectura de Sistema de informacin. Esta arquitectura se eligi ya que nuestro sistema a desarrollar es un sistema automatizado, ya que lo nico que har el usuario es seleccionar e ingresar el archivo a cifrar o descifrar, dependiendo del caso y el resto del proceso lo realizara el sistema.

Archivo plano / archivo cifrado

Algoritmo triple DES empleando programacin paralela, para realizar el cifrado o descifrado.

Archivo plano / archivo cifrado

Fig. 2. 23 Arquitectura de sistemas de informacin

Elementos del sistema de informacin. Archivo cifrado / descifrado Llave de 64 bits Tablas de permutaciones Algoritmo de encriptacin Triple DES Archivo cifrado / descifrado

Fig. 2. 24 Elementos del sistema de informacin

31

Capas del sistema. Capa de presentacin Interfaz de usuario Archivo cifrado /descifrado

Algoritmo Triple DES

Capa de aplicacin

Capa de datos Tablas de permutaciones Fig. 2. 25 Capas del sistema

Descripcin: Capa de Presentacin Esta capa rene todos los aspectos del software que tiene que ver con las interfaces y la interaccin con los diferentes tipos de usuarios humanos. Estos aspectos tpicamente incluyen el manejo y aspecto de las ventanas, el formato de los reportes, menes, grficos y elementos multimedia en general. Capa de presentacion del sistema criptogrfico t-des 1.- Ventana de inicio en donde se nos presenta las diferentes opciones que podemos hacer con el programa.

32

Fig. 2. 26 Ventana men

2.- Al dar clic en encriptar se muestra una ventana en donde podremos agregar un archivo para encriptar.

Fig. 2. 27 Ventana para agregar el archivo a encriptar

3.- Si damos clic en el botn desencriptar se nos muestra una ventana similar a la anterior para de igual manera agregar un archivo, pero en este caso debe ser un archivo que ya fue encriptado para poder desencriptarlo.

Fig. 2. 28 Ventana para agregar el archivo a dencriptar

33

Capa de Datos En esta capa rene se renen todos los aspectos del software que tienen que ver con el manejo de los datos persistentes, por lo que tambin se le denomina la capa de la Base de Datos. En esta capa de cierta manera el cifrador/decifrador no maneja una base de datos como tal, sino una tabla de permutaciones para poder realizar sus principales de codificar y decodificar.

Tabla de Permutaciones

CAPA DE DATOS

Fig. 29 Capa de Datos. La Tabla de permutaciones en esta la capa de aplicacin solicita las combinaciones necesarias para la realizacin de las funciones de cifrado/decifrado, es decir que la capa de aplicacin realiza la solicitud de la informacin que se encuentra en la tabla de permutaciones para realizar las funcione principales, de este modo la base de datos no es denominada como tabla de permutaciones.

34

35

III REFERENCIAS BIBLIOGRFICAS


[1] M. en T.C Lpez Gonzlez Erika. Diagramacin, Diagramas de delimitacin del sistema. Pg. 6Tecnolgico de Estudios Superiores de Jocotitln. [2] [3] [4] [5] [6] [7] [8] [9] Martin Fowler, UML gota a gota. Ed. Pearson, Pg 49 59. Martin Fowler, UML gota a gota. Ed. Pearson, Pg 127 - 135. Martin Fowler, UML gota a gota. Ed. Pearson, Pg 137 - 142. Martin Fowler, UML gota a gota. Ed. Pearson, Pg 127 - 135 Martin Fowler, UML gota a gota. Ed. Pearson, Pg 115 - 125. Martin Fowler, UML gota a gota. Ed. Pearson, Pg 61 - 84. Martin Fowler, UML gota a gota. Ed. Pearson, Pg 147 - 160. Martin Fowler, UML gota a gota. Ed. Pearson, Pg 115 - 125.

36

IV
FIGURA Fig. 2.1 Fig. 2.2 Fig. 2.3 Fig. 2.4 Fig. 2.5 Fig. 2.6 Fig. 2.7 Fig. 2.8 Fig. 2.9 Fig. 2.10 Fig. 2.11 Fig. 2.12 Fig. 2.14 Fig. 2.15 Fig. 2.16 Fig. 2.17 Fig. 2.18 Fig. 2.19 Fig. 2.20 Fig. 2.21 Fig. 2.22 Fig. 2.23 Fig. 2.24 Fig. 2.25 Fig. 2.26 Fig. 2.27 Fig. 2.28 Fig. 2.29

INDICE DE FIGURAS
NOMBRE DE LA FIGURA Diagrama de Delimitacin del Sistema Diagrama de Casos de Uso de encriptacin Diagrama de Caso de Uso de T - Des encriptacin Diagrama de Caso de Uso de Algoritmo de encriptacin T Des Diagrama de Caso de Uso de Algoritmo de Desencriptacin T Des Diagramas de Paquetes Diagrama de Estado Diagrama de Emplazamiento Diagrama de Interaccin de Cifrado Diagrama de Interaccin de Descifrado Ejemplo de una clase Ejemplo de una clase y el tipo de relacin que existen. Relacin de generacin de una clase Relacin de navegabilidad de una clase. Relacin de navegabilidad de una clase. Ejemplo de una clase parametrizada. Ejemplo de una clase de dependencia. Diagrama de clase Diagrama de actividades Diagrama de colaboracin Descripcin de componentes del diagrama de emplazamiento Arquitectura de sistemas de informacin Elementos del sistema de informacin Capas del sistema Ventana men Ventana para agregar el archivo a encriptar Ventana para agregar el archivo a desencriptar Capa de datos PGINA 5 6 8 9 11 14 17 19 21 22 23 23 24 24 25 25 25 26 27 29 30 31 31 32 33 33 33 34

V
No. De tabla Tabla 2.1 Tabla 2.2 Tabla 2.3 Tabla 2.4

NDICE DE TABLAS
Nombre de la tabla Descripcin de Encriptacin Descripcin de Des encriptacin Descripcin de Algoritmo de Encriptacin T-Des Descripcin de Algoritmo de Des encriptacin T-Des Pgina

37

VI

GLOSARIO DE FIGURAS
DIAGRAMA FIGURA FUNCIONAMIENTO Seala lo que los usuarios o acciones enrolan al proceso. Proceso que se realiza en el sistema. Actor que interacta con los procesos. Proceso del sistema

DIAGRAMA DE DELIMITACIN DEL SISTEMA DIAGRAMA DE DELIMITACIN DEL SISTEMA DIAGRAMA DE CASOS DE USO DIAGRAMAS DE CASO DE USO DIAGRAMA DE PAQUETES

Paquete del sistema

DIAGRAMA DE PAQUETES

Dependencia de algn paquete. Estado

DIAGRAMA DE ESTADO

DIAGRAMA DE ESTADO

Proceso de inicio

DIAGRAMA DE ESTADO

Fin de proceso

DIAGRAMA DE ESTADO

Condicin

DIAGRAMA DE ESTADO

Cambio de estado

38

DIAGRA,MA DE EMPLAZAMIENTO DIAGRAMA DE EMPLAZAMIENTO DIAGRAMA DE EMPLAZAMIENTO DIAGRAMA DE EMPLAZAMIENTO DIAGRAMA DE INTERACCIN DIAGRAMA DE INTERACCIN DIAGRAMA DE INTERACCIN DIAGRAMA DE CLASE

Nodo

Conexin

Componente

Dependencia

Objeto con lnea de vida

Mensaje

Lnea de vida

Clase y servicios que ofrece a otras clases Asociacin de clases

DIAGRAMA DE CLASE

DIAGRAMA DE CLASE

Relacin de negatividad de una clase Carriles que dividen los procesos. Procesos

DIAGRAMA DE ACTIVIDADES DIAGRAMA DE ACTIVIDADES DIAGRAMA DE ACTIVIDADES DIAGRAMA DE ACTIVIDADES DIAGRAMA DE ACTIVIDADES

Inicio del diagrama de actividad. Relacin de procesos

Fin del diagrama de actividades

39

DIAGRAMA DE COLABORACIN DIAGRAMA DE COLABORACIN

Objeto

Relacin de objetos

GLOSARIO
Actor: Entidad externa (fuera del sistema) que interacta con el sistema. Carriles: Cada zona representa la responsabilidad de una clase en particular. Condicin: Esto se da cuando se tiene que tomar o escoger una opcin y se representa con un rombo. Conexiones: Muestran las rutas de comunicacin a travs de las cuales interactuar el sistema, se representan por lneas continuas. Clase parametrizada: Se utilizan en el diseo para representar plantillas (templates). Son muy tiles para definir colecciones. Dependencias: Relacin que existe entre los componentes y debe ser las mismas que las dependencias de paquetes. Estados: Los estados se representan mediante un rectngulo redondeado. Eventos: Un evento es una ocurrencia que afecta el comportamiento del objeto ocasionando una transicin. Nodo: Se representa por un cuadro, por lo regular se muestra una pieza de hardware, este puede ser un dispositivo de o sensor simple o puede tratarse de una computadora y dentro de l los componentes que lo integran. Paquetes: Mecanismos para agrupar y organizar elementos. Clases, interfaces, componentes, nodos, colaboraciones, casos de uso, diagramas y otros paquetes. Se representa con el smbolo de una carpeta. Relacin de asociacin: Representa cualquier tipo de relacin entre clases. No obstante en caso de relaciones estndares se aconseja utilizar la notacin disponible. Relacin de agregacin: Representa la composicin de un objeto. Se utiliza para representar las relaciones es parte de en el anlisis. Relacin de generalizacin: La generalizacin se asocia a las relaciones es un anlisis y herencia en el diseo, es decir, el subtipo tiene todas las caractersticas que tiene el supertipo. 40

Relacin de navegabilidad: Se utilizan en diseo para indicar que una clase accede al contenido de otra clase.

Relacin de dependencia: Se utilizan en el diseo para indicar que una clase accede a los servicios de otra clase. Transicin: Son los cambios de estados que ocurren en la vida de un objeto. Se representan por medio de una flecha dirigida.

41

Вам также может понравиться