Diagramas III

51
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE JOCOTITLÁN INGENIERÍA EN SISTEMAS COMPUTACIONALES DESARROLLO DE SOFTWARE Compañía de Seguridad Informática “ALGORITMO PARALELO PARA EL SISTEMA CRIPTOGRÁFICO T- DES EMPLEANDO OPEN MP” QUE PRESENTAN: Saldaña García Jesús Antonio Sepúlveda Maya José Jorge Odilón Nava Liliana González Gil Marco Antonio Garduño Mondragón Víctor Hugo García Torres Mario Agustín González Benjamín De Jesús López Antonio García Gómez Nestor Alonso Vicente Marcelo Abel NOMBRE DEL DOCENTE: M. en T.C. Erika López González. 1

Transcript of Diagramas III

Page 1: Diagramas III

TECNOLÓGICO DE ESTUDIOS SUPERIORES DE JOCOTITLÁN

INGENIERÍA EN SISTEMAS COMPUTACIONALES

DESARROLLO DE SOFTWARE

Compañía de Seguridad Informática

“ALGORITMO PARALELO PARA EL SISTEMA CRIPTOGRÁFICO T-

DES EMPLEANDO OPEN MP”

QUE PRESENTAN:

Saldaña García Jesús Antonio

Sepúlveda Maya José Jorge

Odilón Nava Liliana

González Gil Marco Antonio

Garduño Mondragón Víctor Hugo

García Torres Mario

Agustín González Benjamín

De Jesús López Antonio

García Gómez Nestor Alonso

Vicente Marcelo Abel

NOMBRE DEL DOCENTE:

M. en T.C. Erika López González.

SEMESTRE: VIII GRUPO: IC - 802

Jocotitlán Estado de México a 28 de Marzo de 2011

1

Page 2: Diagramas III

ÍNDICEI ANÁLISIS 1.1 OBJETIVO GENERAL 1.2 OBJETIVOS ESPECÍFICOS

……………………………………………………

33

II DISEÑO 2 INTRODUCCIÓN 2.1 DIAGRAMAS DE DELIMITACIÓN 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 INTERACCIÓN 2.7 DIAGRAMA DE CLASE 2.8 DIAGRAMA DE ACTIVIDADES 2.9 DIAGRAMA DE COLABORACIÓN2.10 DESCRIPCIÓN DE COMPONENTES DEL DIAGRAMA DE EMPLAZAMIENTO2.11 ARQUITECTURA PARA EL SISTEMA

…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

……………………………………………………

45613151719222628

2931

III REFERENCIAS BIBLIOGRÁFICAS ………………………… 36IV INDICE DE FIGURAS ………………………… 37V INDICE DE TABLAS ………………………… 32VI GLOSARIO ………………………… 33

2

Page 3: Diagramas III

I AnálisisSoftware: Builder 6.0 y Open MP

El software permite la programación paralela.

Recursos:

Procesador multinúcleos para poder trabajar la programación 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 investigación y consulta.

Lugar de trabajo:

1.1 OBJETIVO GENERALDiseñar e implementar un algoritmo paralelo para el sistema criptográfico T-DES

empleando Open MP que aprovechamiento de los recursos del sistema y minimice los

tiempos de procesamiento.

1.2 OBJETIVOS ESPECÍFICOS Investigar y estudiar sistemas criptográficos.

Analizar el sistema criptográfico T-DES.

Estudiar las características de máquinas con procesamiento paralelo.

Analizar y estudiar la programación paralela.

Implementar la programación paralela en el sistema criptográfico T-DES.

Analizar y aplicar el lenguaje de programación Open MP.

3

Page 4: Diagramas III

II DISEÑO

2 INTRODUCCIÓN

La tecnología ha ido avanzando a pasos agigantados durante los últimos años en

razón a la utilización de sistemas computarizados así como de sistemas inteligentes, se

podría decir que la cultura contemporánea está marcada por la tecnología computacional

hoy presente. Los nuevos productos son: informaciones, datos y conocimientos

elaborados, imágenes y concepciones nuevas, a la par de crecientes y rápidamente

cambiantes, con un gran número de innovaciones tecnológicas y sociales puestas en

circulación.

En cuanto a los manejos de información la utilización de la tecnología

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 información, así como de fraudes provenientes de agentes externos como

hackers y personas que están pendientes del envió de información 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 diseñando sistemas capases de proteger la información confidencial para que

llegue con bien a su destino.

4

Page 5: Diagramas III

Algoritmo T-Des empleando

programación paralela

2.1 DIAGRAMAS DE DELIMITACIÒN 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 cuáles son los elementos principales involucrados con el sistema.

El usuario será el encargado de agregar o buscar un archivo existente al sistema y utilizando programación paralela se encriptará el archivo.

Fig. 2.1 Diagrama de Delimitación del Sistema

5

Algoritmo T-Des empleando

programación paralela

Usuario

Archivo original

Archivo encriptado /des encriptado Des.

Archivo procesado

Page 6: Diagramas III

2.2 DIAGRAMA DE CASO DE USO

Un caso de uso es una descripción de las acciones de un sistema desde el punto de vista del usuario.

Cada caso de uso está relacionado como mínimo con un actor.

Cada caso de uso es un iniciador (un actor).

Elementos:

Actor: Entidad externa (fuera del sistema) que interactúa con el sistema.

Los actores pueden ser gente real, otras computadoras o eventos externos. Representan su rol.

Relaciones:

<<include>> Especifica una situación en la que un caso de uso tiene lugar dentro de otro caso de uso.

<<extends>> Detalla que en ciertas situaciones, o en algún punto (llamado punto de extensión) un caso de uso será extendido por otro.

Generalización: Especifica que un caso de uso hereda las características del «super» caso de uso [2].

En la figura 2.2 se muestra el funcionamiento de encriptación por medio de los diagramas de casos de uso.

Encriptación T-Des

Fig. 2.2 Diagrama de Casos de Uso de encriptación

6

Buscar archivo

Solicitar clave

Dividir procesos (Open MP)

Algoritmo de encriptación /Des, T-Des

<<extend>

Archivo

UsuarioArchivo

Page 7: Diagramas III

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

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

En la tabla 2.1 se dan a conocer la descripción detallada de los elementos del caso de uso del sistema de Encriptación.

Nombre EncriptaciónAutor CSIFecha 1/03/2011Descripción Encriptación de datos de un archivoAutores Usuario / Archivo

Archivo finalPrecondiciones Se necesita una clave de 64 bits.

Procesador milti núcleos o clúster.Flujo normal 1. Insertar un archivo de texto.

2. Solicitar la cave.3. División de procesos.4. Encriptación de archivo.5. Arroja archivo encriptado

Flujo alternativo En caso de no enviar un archivo, enviar mensaje de error. Error al procesar la clave (ingresarla de nuevo). Proceso no admitido.

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

Tabla 2.1 Descripción de Encriptación

Descripción:

En la figura 2.3 se muestra el funcionamiento del proceso de des encriptación por medio de los diagramas de casos de uso.

7

Page 8: Diagramas III

Des encriptación T-Des

Fig. 2.3 Diagrama de Caso de Uso de T - Des encriptación

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

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

En la tabla 2.2 se dan a conocer la descripción detallada de los elementos del caso de uso del sistema de Des encriptación.

Nombre Des encriptaciónAutor CSIFecha 1/03/2011Descripción Encriptación de datos de un archivoAutores Usuario / Archivo

Archivo finalPrecondiciones Se necesita una clave de 64 bits.

Procesador milti o clúster.Flujo normal 1. Insertar un archivo de texto.

2. Solicitar la cave.3. División de procesos.4. Des encriptación de archivo.5. Arroja archivo des encriptado

Flujo alternativo En caso de no enviar un archivo, enviar mensaje de error. Error al procesar la clave (ingresarla de nuevo). Proceso no admitido.

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

Tabla 2.2 Descripción de Des encriptación

En la figura 2.4 se muestra el funcionamiento del Algoritmo de encriptación T-Des

8

Buscar archivo

Solicitar clave

Dividir procesos (Open MP)

Algoritmo de encriptación /Des, T-Des

<<extend>>

Usuario

Archivo

Archivo

Page 9: Diagramas III

En el proceso de encriptación T-Des se necesita una clave de 64 bits y tener una BD para poder realizar una permutación 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 realizarás hasta obtener una permutación final y el sistema entregará un archivo de texto cifrado.

Algoritmo de encriptación T-Des

Fig. 2.4 Diagrama de Caso de Uso de Algoritmo de encriptación T Des

En la tabla 2.3 se dan a conocer la descripción detallada de los elementos del caso de uso del sistema de Des encriptación.

9

Calculo de subclaves K1, K16

Permutaciones L0-L16, R1-R16 Permutación final

Clave (64 bits)

BD Permutación

es

Texto plano (64 bits)

Archivo

Texto cifrado

Page 10: Diagramas III

Nombre Algoritmo de Encriptación T DesAutor CSIFecha 1/03/2011Descripción Algoritmo que realiza la encriptación de un archivo de datos.Autores Calve de 64 bits, BD (Tabla de permutaciones).

Texto plano (64 bits).Precondiciones Se necesita el cálculo de sub claves k1-k16

Es necesario una permutación L0 – L 16, R1 – R 16. Realizar una permutación final. Texto cifrado (Archivo).

Flujo normal 1. Ingresar clave de 64 bits.2. Se compara en la tabla de permutaciones (BD).3. Se realiza la permutación del texto plano.4. Se realiza permutación final.5. Arroja texto cifrado.

Flujo alternativo Si la permutación es incorrecta no se entregará un archivo cifrado

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

Tabla 2.3 Descripción de Algoritmo de Encriptación T-Des

En la figura 2.5 se muestra el funcionamiento del Algoritmo de Des encriptación T-Des.

10

Page 11: Diagramas III

En el proceso de Des encriptación T-Des se necesita una clave de 64 bits y tener una BD para poder realizar una permutación 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 realizarás hasta obtener una permutación final y el sistema entregará un archivo de texto cifrado.

Algoritmo de Des encriptación T-Des

Fig. 2.5 Diagrama de Caso de Uso de Algoritmo de Desencriptación T Des

En la tabla 2.4 se dan a conocer la descripción detallada de los elementos del caso de uso del sistema de Des encriptación.

11

Calculo de subclaves K16, K1

Permutaciones L16-L0, R16-R1 Permutación final

Clave (64 bits)

BD Permutacio

nes

Texto plano (64 bits)

Archivo

Texto cifrado

Page 12: Diagramas III

Nombre Algoritmo de Des encriptación T DesAutor CSIFecha 1/03/2011Descripción Algoritmo que realiza la Des encriptación de un archivo de datos.Autores Calve de 64 bits, BD (Tabla de permutaciones).

Texto plano (64 bits).Precondiciones Se necesita el cálculo de sub claves k16-k1

Es necesario una permutación L16 – L 0, R16 – R 1. Realizar una permutación final. Texto cifrado (Archivo).

Flujo normal 1. Ingresar clave de 64 bits.2. Se compara en la tabla de permutaciones (BD).3. Se realiza la permutación del texto plano.4. Se realiza permutación final.5. Arroja texto cifrado.

Flujo alternativo Si la permutación es incorrecta no se entregará un archivo cifrado

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

Tabla 2.4 Descripción de Algoritmo de Des encriptación T-Des

2.3 DIAGRAMA DE PAQUETESPermite dividir al sistema orientado a objetos, organizándolo en subsistemas y

detallando sus relaciones.

12

Page 13: Diagramas III

ARCHIVO PLANO

+ Archivo de texto

ARCHIVO CIFRADO

+ Archivo de texto

CLAVE

# Clave de 64 bits

Elementos

Paquetes: Mecanismos para agrupar y organizar elementos. Clases, interfaces, componentes, nodos, colaboraciones, casos de uso, diagramas y otros paquetes. Se representa con el símbolo 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:

+ Público - 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

+ Encriptar.

+ Des encriptar

Page 14: Diagramas III

Fig. 2.6 Diagrama de Paquetes.

El paquete de Interfaz contiene dos elementos de carácter público los cuales son Encriptar y Des encriptar y es donde se elige la acción 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 carácter protegidos los cuales son procesamiento en paralelo y algoritmo de cifrado para realizar la encriptación, 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 carácter público de nombre archivo de texto, este proporcionara un archivo de texto plano para ser procesado.

El paquete de Clave contiene un elemento de carácter protegido de nombre Clave, este proporcionara una clave de 64 bits para el proceso de encriptación.

El paquete de Tabla contiene un elemento de carácter protegido de nombre Tabla de Permutación, este va a interactuara con el algoritmo de encriptación.

El paquete de Descifrado contiene dos elementos de carácter protegidos los cuales son procesamiento en paralelo y algoritmo de des encriptación para realizar la Desencriptación, y este a su vez necesita del paquete de Archivo Cifrado, el de Clave, y el de Tabla para realizar el proceso de descifrado.

El paquete de Archivo Cifrado contiene un elemento de carácter público de nombre archivo de texto, este proporcionara un archivo de texto cifrado para ser procesado.

El paquete de Clave contiene un elemento de carácter protegido de nombre Clave, este proporcionara una clave de 64 bits para el proceso de des encriptación.

14

Page 15: Diagramas III

El paquete de Tabla contiene un elemento de carácter protegido de nombre Tabla de Permutación, este va a interactuara con el algoritmo de des encriptación.

2.4 DIAGRAMA DE ESTADOLos diagramas de estados son una técnica 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 rectángulo redondeado:

Los estados iniciales y finales las cuales se representan:

Inicial final

Condición:

Esto se da cuando se tiene que tomar o escoger una opción y se representa con un rombo:

Transición:

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 transición [4].

En la figura 2.7 se muestra el funcionamiento del sistema de encriptación por medio de un diagrama de Estado.

15

Solicitar Archivo

Encontrado No encontrado

No crear

Page 16: Diagramas III

Fig. 2.7 Diagrama de Estado

Al Iniciar se solicita un archivo después pasa por una transición de buscar y llega a una condición en la cual se muestran dos opciones: archivo encontrado o archivo no encontrado, si se encuentra realiza lo siguiente:

o Seleccionamos el archivo, se agrega al sistema, en seguida se tiene que ingresar la llave, después de esto se lleva a una selección 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 condición, la cual nos ofrece dos opciones: crear archivo y no crear, al tomar la primera opción se realiza lo siguiente:

16

Seleccionar archivo

Agregar al sistema

Ingresar clave

Selección de proceso

Cifrado Descifrado

Realizar un proceso

Archivo procesado

Crear archivo

Editar archivo

Guardar archivo

Page 17: Diagramas III

o Se crea el archivo, se guarda y se agrega al sistema, en seguida se tiene que ingresar la llave, después de esto se lleva a una selección 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 opción de no crear archivo el proceso se termina automáticamente.

2.5 DIAGRAMA DE EMPLAZAMIENTO Diagrama de emplazamiento (función).

Muestra el funcionamiento los componentes físicos 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 comunicación a través de las cuales interactuará el sistema, se representan por líneas continuas.

Conexión

Los componentes en un diagrama de emplazamiento representan módulos físicos de código. Corresponden exactamente a los paquetes de un diagrama de paquetes, de tal modo que el diagrama de emplazamiento muestra dónde se ejecuta cada paquete en el sistema.

Componente

Las dependencias entre los componentes deben ser las mismas que las dependencias de paquetes. En conclusión el diagrama de paquetes está relacionado con el diagrama de emplazamientos. Estas dependencias muestran cómo se comunican los componentes con otros componentes. La dirección de una dependencia dada indica el conocimiento en la comunicación.

--------------------------------------------->

17

Page 18: Diagramas III

Archivo de texto

Clave

Encriptar

Archivo de texto

Clave

Des encriptarProceso en Paralelo

P1

PN

Dependencia

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

Fig. 2.8 Diagrama de Emplazamiento

Como nodo tenemos una pc con Windows, dentro de ella se representas los componentes Interface que se representa con un círculo transparente, el cual está ligada al componente Archivo de texto, así mismo esta muestra una relación 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.

18

Procesador Multi núcleo

PC con Windows

Conexión

Page 19: Diagramas III

Interface Archivo Procesos Interface Archivo Procesos Interface Archivo Procesos Interface Archivo Procesos Interface Archivo Procesos

Para desencriptar utilizamos los mismos compontes que se utilizaron en encriptación, 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 multinúcleo.

Por último tenemos la conexión entre el nodo pc con Windows y el nodo procesador multinúcleo.

2.6 DIAGRAMA DE INTERACCIÓN

Los diagramas de interacción se encargan de describir el comportamiento dinámico del sistema de información mediante el paso de mensajes entre los objetos del mismo.

Componentes:

Un objeto se representa como una línea vertical discontinua, llamada línea de vida, con un rectángulo de encabezado con el nombre del objeto en su interior.

Componente

Un mensaje se representa como una flecha horizontal entre las líneas de vida de los objetos que intercambian el mensaje [6]

Dependencia

En la figura 2.9 se muestra el funcionamiento del proceso de encriptación del sistema por medio de un diagrama de interacción.

19

Page 20: Diagramas III

Interface Archivo Procesos Interface Archivo Procesos Interface Archivo Procesos Interface Archivo Procesos Interface Archivo Procesos

Fig. 2.9 Diagrama de Interacción de Cifrado

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 envía un mensaje buscando el archivo plano con el que se realizara la operación de encriptación.

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 envía 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 encriptación del archivo, una vez concluido el proceso se retornara el archivo procesado a la interface.

20

Usuario 1 Busca archivo 1.1 Selecciona archivo

1.2 Selecciona archivo

1.3 Archivo encontrado

2 Proceso de cifrado

2.1 Retorna archivo procesado

Page 21: Diagramas III

Fig. 2.10 Diagrama de Interacción de Descifrado

En la figura 2.10 se muestra el funcionamiento del proceso de Des encriptación del sistema por medio de un diagrama de interacción.

El usuario accede a la interface, la interface envía 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 envía un mensaje al proceso T-Des para que se comience a descifrar el archivo, cuando se concluya este proceso se envía un mensaje a la interface indicando que el archivo se ha descifrado correctamente.

2.7 DIAGRAMA DE CLASE

21

Usuario 1 Busca archivo 1.1 Selecciona archivo

1.2 Selecciona archivo

1.3 Archivo encontrado

2 Proceso de descifrado

2.1 Retorna archivo procesado

Page 22: Diagramas III

Se utiliza en el análisis para describir el contenido de una clase y las operaciones que puede ejecutar el usuario. Se utiliza en el diseño 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

Relación de asociación

Representa cualquier tipo de relación entre clases. No obstante en caso de relaciones estándares se aconseja utilizar la notación disponible. Fundamentalmente se utilizan en el análisis.

Fig. 2.12 Ejemplo de una clase y el tipo de relación que existen.

Relación de generalización

22

Page 23: Diagramas III

La generalización se asocia a las relaciones es-un en el análisis y herencia en el diseño, es decir, el subtipo tiene todas las características que tiene el supertipo.

Fig. 2.13 Relación de generalización de una clase.

Relación de agregación

Representa la composición de un objeto. Se utiliza para representar las relaciones es-parte-de en el análisis.

Fig. 2.14 Relación de agregación de una clase.

Relación de composición

También representa la composición 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 composición de una clase en el diseño.

Fig. 2.15 Relación de navegabilidad de una clase.Relación de navegabilidad

23

Page 24: Diagramas III

Se utilizan en diseño para indicar que una clase accede al contenido de otra clase.

Fig. 2.16 Relación de navegabilidad de una clase.

Clase parametrizada

Se utilizan en el diseño para representar plantillas (templates). Son muy útiles para definir colecciones.

Fig. 2.17 Ejemplo de una clase parametrizada.

Relación de dependencia

Se utilizan en el diseño 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 encriptación del sistema por medio de un diagrama de clase.

24

Page 25: Diagramas III

Fig. 2.19 Diagrama de clase.

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 características como es la de archivo plano, Clave. El cual esta clase ejecuta o llama la función cifrar( );

- Clase Abrir: tiene como solo característica nombre, llamando a una función abrir_archivo ( );

- Clase descifrar: como característica de la clase archivo_cifrado y clave.- Cuenta con dos objetos: Archivo cifrado, Archivo plano.

Descripción: En primera en la clase abrir le asignamos el nombre al archivo y este a su vez realiza la operación abrir_archivo para realizar la operación que se desea ya sea descifrar y cifrar. En la clase cifrar, añadimos el archivo a encriptar el cual será necesario ingresar una clase, está a su vez manda a llamar la función cifrar ( ); para poder realizar cierta operación obteniendo como resultado o acción generada el archivo cifrado. Así mismo se dice que se tiene una relación 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 relación 1:1 solo que esta descifra.

25

Page 26: Diagramas III

Archivo procesado

Selecciona archivo

Editar archivo

Guarda archivo

Realiza proceso

Seleccionar acción

Ingresar clave

Buscar archivo

Descifrar

Encontrado no

Crear No crear

Cifrar

Usuario Archivo Proceso de cifrado

1.8 DIAGRAMA DE ACTIVIDADES

Estos diagramas son particularmente útiles en conexión con el flujo de trabajo y para la descripción del comportamiento que tiene una gran cantidad de proceso paralelo.

El diagrama de actividades me permite seleccionar el orden en que se harán las cosas. Esto es, simplemente me dice las reglas esenciales de secuenciación 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.

Fig. 2. 20 Diagrama de actividades

26

Page 27: Diagramas III

En la figura 1.20 se tiene un usuario que al entrar al sistema lo primero que hace es buscar un archivo, después de buscar en varias rutas el sistema debe tomar una decisión de acuerdo a si se encontró el archivo o no:

Si el archivo fue encontrado se selecciona este, después se ingresa la clave y luego la acción 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 decisión de crear o no crear un archivo:

Si la decisión es crear el archivo, se crea el archivo o se edita y enseguida se guarda. El sistema nos manda al estado seleccionar archivo, después al estado ingresar clave, después pasa por el estado seleccionar acción 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 decisión es no crear entonces se sale del sistema [8].

27

Page 28: Diagramas III

InterfazProceso Cifrado

Usuario Archivo

1: Solicita petición ()

2: Solicita texto y clave ()

6: Fin del encriptado ()

5: El cifrado es entregado ()

4: Solicita que le alcance la información ()

3: Devuelve información ()

2.9 DIAGRAMA DE COLABORACIÓN

Aquí en este diagrama nos muestra la interacción organizada basándose en los objetos que toman parte en la interacción y los enlaces entre los mismos. Así mismo muestran las relaciones entre los roles de los objetos.

Fig. 2. 21 Diagrama de colaboración

Descripción.

En este diagrama nos enumera los mensajes mediante una serie continua de números los cuales nos describen lo siguiente:

1.-Solicita petición (): En este mensaje nos dice que el usuario solicita una petición 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 información (): Aquí nos regresa la información del archivo a cifrar y la clave que tendrá.

4.- Solicita que le alcance la información (): En este mensaje nos dice que la información recabada será procesada para el cifrado mediante programación 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

Page 29: Diagramas III

Archivo de textoLeer_archivo();

Clave.Cifrar();

Encriptar.Iteraciones();Texto planoclaves

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

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 DESCRIPCIÓN DE COMPONENTES DEL DIAGRAMA DE EMPLAZAMIENTO

29

Archivo plano que contiene la información a encriptar, tiene que ser agregado por el usuario.

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

El proceso de encriptación T-Des se necesita una clave de 64 bits y tener una BD para poder realizar una permutación 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.

Se carga el algoritmo de encriptación T-DES y se comienzan a dividir procesos mediante la programación open MP

Page 30: Diagramas III

Archivo de textoLeer_archivo();

Clave.Des_cifrar();

Des encriptar.Iteraciones();Texto cifradoclaves

Fig. 2. 22 Descripción de componentes del diagrama de emplazamiento

30

Archivo plano que contiene la información descifrada.

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

El proceso de des encriptación T-Des se necesita una clave de 64 bits y tener una BD para poder realizar una permutación 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.

Page 31: Diagramas III

Archivo plano / archivo cifrado

Algoritmo triple DES empleando programación paralela, para realizar el cifrado o descifrado.

Archivo plano / archivo cifrado

Archivo cifrado / descifrado

Llave de 64 bits

Tablas de permutaciones

Algoritmo de encriptación Triple DES

Archivo cifrado / descifrado

2.11 ARQUITECTURA PARA EL SISTEMA

La arquitectura que se considera se adapta al Sistema Criptográfico T-Des Open MP es la arquitectura de Sistema de información.

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.

Fig. 2. 23 Arquitectura de sistemas de información

Elementos del sistema de información.

Fig. 2. 24 Elementos del sistema de información

31

Page 32: Diagramas III

Interfaz de usuario Archivo cifrado /descifrado

Capa de presentación

Algoritmo Triple DESCapa de aplicación

Tablas de permutaciones

Capa de datos

Capas del sistema.

Fig. 2. 25 Capas del sistema

Descripción:

Capa de Presentación

Esta capa reúne todos los aspectos del software que tiene que ver con las interfaces y la interacción con los diferentes tipos de usuarios humanos.

Estos aspectos típicamente incluyen el manejo y aspecto de las ventanas, el formato de los reportes, menúes, gráficos y elementos multimedia en general.

Capa de presentacion del “sistema criptográfico t-des”

1.- Ventana de inicio en donde se nos presenta las diferentes opciones que podemos hacer con el programa.

32

Page 33: Diagramas III

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 botón 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

Page 34: Diagramas III

Capa de Datos

En esta capa reúne se reúnen todos los aspectos del software que tienen que ver con el manejo de los datos persistentes, por lo que también 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.

Fig. 29 Capa de Datos.

La Tabla de permutaciones en esta la capa de aplicación solicita las combinaciones necesarias para la realización de las funciones de cifrado/decifrado, es decir que la capa de aplicación realiza la solicitud de la información 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

Tabla de Permutaciones

CAPA DE DATOS

Page 35: Diagramas III

III REFERENCIAS BIBLIOGRÀFICAS

35

Page 36: Diagramas III

[1] M. en T.C López González Erika. Diagramación, Diagramas de delimitación del sistema. Pág. 6Tecnológico de Estudios Superiores de Jocotitlán.

[2] Martin Fowler, UML gota a gota. Ed. Pearson, Pág 49 – 59.

[3] Martin Fowler, UML gota a gota. Ed. Pearson, Pág 127 - 135.

[4] Martin Fowler, UML gota a gota. Ed. Pearson, Pág 137 - 142.

[5] Martin Fowler, UML gota a gota. Ed. Pearson, Pág 127 - 135

[6] Martin Fowler, UML gota a gota. Ed. Pearson, Pág 115 - 125.

[7] Martin Fowler, UML gota a gota. Ed. Pearson, Pág 61 - 84.

[8] Martin Fowler, UML gota a gota. Ed. Pearson, Pág 147 - 160.

[9] Martin Fowler, UML gota a gota. Ed. Pearson, Pág 115 - 125.

IV INDICE DE FIGURAS

36

Page 37: Diagramas III

FIGURA NOMBRE DE LA FIGURA PÀGINAFig. 2.1 Diagrama de Delimitación del Sistema 5Fig. 2.2 Diagrama de Casos de Uso de encriptación 6Fig. 2.3 Diagrama de Caso de Uso de T - Des encriptación 8Fig. 2.4 Diagrama de Caso de Uso de Algoritmo de encriptación T Des 9Fig. 2.5 Diagrama de Caso de Uso de Algoritmo de Desencriptación T

Des11

Fig. 2.6 Diagramas de Paquetes 14Fig. 2.7 Diagrama de Estado 17Fig. 2.8 Diagrama de Emplazamiento 19Fig. 2.9 Diagrama de Interacción de Cifrado 21Fig. 2.10 Diagrama de Interacción de Descifrado 22Fig. 2.11 Ejemplo de una clase 23Fig. 2.12 Ejemplo de una clase y el tipo de relación que existen. 23Fig. 2.14 Relación de generación de una clase 24Fig. 2.15 Relación de navegabilidad de una clase. 24Fig. 2.16 Relación de navegabilidad de una clase. 25Fig. 2.17 Ejemplo de una clase parametrizada. 25Fig. 2.18 Ejemplo de una clase de dependencia. 25Fig. 2.19 Diagrama de clase 26Fig. 2.20 Diagrama de actividades 27Fig. 2.21 Diagrama de colaboración 29Fig. 2.22 Descripción de componentes del diagrama de emplazamiento 30Fig. 2.23 Arquitectura de sistemas de información 31Fig. 2.24 Elementos del sistema de información 31Fig. 2.25 Capas del sistema 32Fig. 2.26 Ventana menú 33Fig. 2.27 Ventana para agregar el archivo a encriptar 33Fig. 2.28 Ventana para agregar el archivo a desencriptar 33Fig. 2.29 Capa de datos 34

V ÍNDICE DE TABLASNo. De tabla Nombre de la tabla PáginaTabla 2.1 Descripción de EncriptaciónTabla 2.2 Descripción de Des encriptaciónTabla 2.3 Descripción de Algoritmo de Encriptación T-DesTabla 2.4 Descripción de Algoritmo de Des encriptación T-Des

37

Page 38: Diagramas III

VI GLOSARIO DE FIGURAS

DIAGRAMA FIGURA FUNCIONAMIENTODIAGRAMA DE DELIMITACIÓN DEL SISTEMA

Señala lo que los usuarios o acciones enrolan al proceso.

DIAGRAMA DE DELIMITACIÓN DEL SISTEMA

Proceso que se realiza en el sistema.

DIAGRAMA DE CASOS DE USO

Actor que interactúa con los procesos.

DIAGRAMAS DE CASO DE USO

Proceso del sistema

DIAGRAMA DE PAQUETES Paquete del sistema

DIAGRAMA DE PAQUETES Dependencia de algún paquete.

DIAGRAMA DE ESTADO Estado

DIAGRAMA DE ESTADO Proceso de inicio

DIAGRAMA DE ESTADO Fin de proceso

DIAGRAMA DE ESTADO Condición

DIAGRAMA DE ESTADO Cambio de estado

DIAGRA,MA DE EMPLAZAMIENTO

Nodo

38

Page 39: Diagramas III

DIAGRAMA DE EMPLAZAMIENTO

Conexión

DIAGRAMA DE EMPLAZAMIENTO

Componente

DIAGRAMA DE EMPLAZAMIENTO

Dependencia

DIAGRAMA DE INTERACCIÓN

Objeto con línea de vida

DIAGRAMA DE INTERACCIÓN

Mensaje

DIAGRAMA DE INTERACCIÓN

Línea de vida

DIAGRAMA DE CLASE Clase y servicios que ofrece a otras clases

DIAGRAMA DE CLASE Asociación de clases

DIAGRAMA DE CLASE Relación de negatividad de una clase

DIAGRAMA DE ACTIVIDADES

Carriles que dividen los procesos.

DIAGRAMA DE ACTIVIDADES

Procesos

DIAGRAMA DE ACTIVIDADES

Inicio del diagrama de actividad.

DIAGRAMA DE ACTIVIDADES

Relación de procesos

DIAGRAMA DE ACTIVIDADES

Fin del diagrama de actividades

DIAGRAMA DE COLABORACIÓN

Objeto

39

Page 40: Diagramas III

DIAGRAMA DE COLABORACIÓN

Relación de objetos

GLOSARIO

Actor: Entidad externa (fuera del sistema) que interactúa con el sistema.

Carriles: Cada zona representa la responsabilidad de una clase en particular.

Condición: Esto se da cuando se tiene que tomar o escoger una opción y se representa con un rombo.

Conexiones: Muestran las rutas de comunicación a través de las cuales interactuará el sistema, se representan por líneas continuas.

Clase parametrizada: Se utilizan en el diseño para representar plantillas (templates). Son muy útiles para definir colecciones.Dependencias: Relación que existe entre los componentes y debe ser las mismas que las dependencias de paquetes.

Estados: Los estados se representan mediante un rectángulo redondeado.

Eventos: Un evento es una ocurrencia que afecta el comportamiento del objeto ocasionando una transición.

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 símbolo de una carpeta.

Relación de asociación: Representa cualquier tipo de relación entre clases. No obstante en caso de relaciones estándares se aconseja utilizar la notación disponible.

Relación de agregación: Representa la composición de un objeto. Se utiliza para representar las relaciones es parte de en el análisis.

Relación de generalización: La generalización se asocia a las relaciones es un análisis y herencia en el diseño, es decir, el subtipo tiene todas las características que tiene el supertipo.

40

Page 41: Diagramas III

Relación de navegabilidad: Se utilizan en diseño para indicar que una clase accede al contenido de otra clase.

Relación de dependencia: Se utilizan en el diseño para indicar que una clase accede a los servicios de otra clase.

Transición: Son los cambios de estados que ocurren en la vida de un objeto. Se representan por medio de una flecha dirigida.

41