Diagramas III
-
Upload
victorhugo123 -
Category
Documents
-
view
625 -
download
2
Transcript of 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
Í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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
III REFERENCIAS BIBLIOGRÀFICAS
35
[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
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
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
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
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
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