UTILIZACIÓN DE ARQUITECTURAS COMPUTACIONALES NO CONVENCIONALES PARA LA CODIFICACIÓN Y DECODIFICACIÓN DE MENSAJES

Documentos relacionados
Utilización de Arquitecturas Computacionales No Convencionales para la Codificación y Decodificación de Mensajes

Utilización de Arquitecturas Computacionales No Convencionales para la Codificación y Decodificación de Mensajes

Centro Universitario UAEM Zumpango Ingeniería en Computación. Dr. Arturo Redondo Galván 1

Gráficos de flujo de señal

Problemas donde intervienen dos o más variables numéricas

5. PROGRAMAS BASADOS EN RELACIONES DE RECURRENCIA.

Métodos específicos de generación de diversas distribuciones discretas

Cifrado de imágenes usando autómatas celulares con memoria

IDENTIFICACIÓN Y MODELADO DE PLANTAS DE ENERGÍA SOLAR

DESEMPEÑO DEL CONTROL DE FRECUENCIA PROCEDIMIENTO DO

Codificación de la Información

Reconciliación de datos experimentales. MI5022 Análisis y simulación de procesos mineralúgicos

Para dos variables x1 y x2, se tiene el espacio B 2 el que puede considerarse definido por: {0, 1}X{0, 1} = {(00), (01), (10), (11)}

El diodo Semiconductor

Medidas de Variabilidad

Matemáticas Discretas

Figura 1

H 0 : La distribución poblacional es uniforme H 1 : La distribución poblacional no es uniforme

Optimización de la ecualización del histograma en el procesamiento de imágenes digitales

Unidad Nº III Unidad Aritmética-Lógica

Práctica 12 - Programación en C++ Pág. 1. Practica Nº 12. Prof. Dr. Paul Bustamante. Informática II Fundamentos de Programación - Tecnun

TÍTULO I Aspectos Generales TÍTULO II Alcance TÍTULO III Metodología de Cálculo de FECF... 3

Introducción a la Física. Medidas y Errores

Práctica 1 Caracterización de un voltímetro analógico

Perturbación de los valores propios simples de matrices de polinomios dependientes diferenciablemente de parámetros

CARTAS DE CONTROL. Han sido difundidas exitosamente en varios países dentro de una amplia variedad de situaciones para el control del proceso.

COLECCIÓN DE PROBLEMAS SOBRE BUSES

FORMULARIO PARA LA PRESENTACIÓN DE RESUMEN DE PONENCIA

EL MÉTODO DE DIFERENCIAS FINITAS POR GUILLERMO HERNÁNDEZ GARCÍA

TEMA 6 AMPLIFICADORES OPERACIONALES

Examen 4 de Febrero de 2005

CAPÍTULO IV: MODELOS MATEMÁTICOS Y MODELOS EN RED

EL ANÁLISIS DE LA VARIANZA (ANOVA) 2. Estimación de componentes de varianza

METODOS NUMERICOS CATEDRA 0 6. Ingeniería Civil ING.CRISTIANCASTROP. Facultad de Ingeniería de Minas, Geología y Civil

Reconocimiento de Locutor basado en Procesamiento de Voz. ProDiVoz Reconocimiento de Locutor 1

Circuitos eléctricos en corriente continúa. Subcircuitos equivalentes Equivalentes en Serie Equivalentes en Paralelo Equivalentes de Thevenin y Norton

APLICACIÓN DEL ANALISIS INDUSTRIAL EN CARTERAS COLECTIVAS DE VALORES

ANEXO 24 JUSTIFICACIÓN ECONÓMICA

MEMORIA TÉCNICA. Dinámica del agua en el suelo a través del contenido de humedad edáfica H Paoli y J Diez

IES Menéndez Tolosa (La Línea) Física y Química - 1º Bach - Gráficas

Dpto. Física y Mecánica

Comparación entre distintos Criterios de decisión (VAN, TIR y PRI) Por: Pablo Lledó

Capitalización y descuento simple

EXPERIMENTACIÓN COMERCIAL(I)

SEGUNDA PARTE RENTAS FINANCIERAS

TEMA 5: SISTEMAS ARITMÉTICOS Y LÓGICOS.

2. EL TENSOR DE TENSIONES. Supongamos un cuerpo sometido a fuerzas externas en equilibrio y un punto P en su interior.

Corriente continua: introducción

Guía de Electrodinámica

Descripción de una variable

CAPÍTULO 1: VARIABLES ALEATORIAS Y SUS DISTRIBUCIONES

CURSO INTERNACIONAL: CONSTRUCCIÓN DE ESCENARIOS ECONÓMICOS Y ECONOMETRÍA AVANZADA. Instructor: Horacio Catalán Alonso

Sistema Evolutivo Generador De Bases De Conocimiento

Pista curva, soporte vertical, cinta métrica, esferas metálicas, plomada, dispositivo óptico digital, varilla corta, nuez, computador.

ESTADÍSTICA DESCRIPTIVA

DISTRIBUCIONES BIDIMENSIONALES

FE DE ERRATAS Y AÑADIDOS AL LIBRO FUNDAMENTOS DE LAS TÉCNICAS MULTIVARIANTES (Ximénez & San Martín, 2004)

Guía de Inducción al Sistema de Gestión de Calidad (SGC) para el Personal de Nuevo Ingreso. Julio 2006


Aplicación de un Modelo para la Predicción de Pérdidas de Trayectoria en un Sistema de Comunicaciones Inalámbricas en Pisos de Edificios

3.- Programación por metas.

PRÁCTICA 10 CINÉTICA QUÍMICA I: DETERMINACIÓN DEL ORDEN DE REACCIÓN Y DE LA CONSTANTE DE VELOCIDAD

Facultad de Ciencias Básicas

Relaciones entre variables

Dicha tabla adopta la forma del diagrama de árbol del dibujo. En éste, a cada uno de los sucesos A y A c se les ha asociado los sucesos B y B c.

ANÁLISIS DE ACCESIBILIDAD E INTERACCIÓN ESPECIAL:

Formulación y Evaluación de Proyectos

7º CONGRESO IBEROAMERICANO DE INGENIERIA MECANICA 7º CONGRESSO IBEROAMERICANO DE ENGENHARIA MECANICA México D.F., 12 al 14 de Octubre de 2005

ANEXO B SISTEMAS NUMÉRICOS

ECUACIONES DIFERENCIALES Problemas de Valor Inicial

Universidad de Pamplona Facultad de Ciencias Básicas Física para ciencias de la vida y la salud

UNA FORMA GRÁFICA DE ENSEÑANZA: APLICACIÓN AL DUOPOLIO DE. Dpto. de Métodos Cuantitativos e Informáticos. Universidad Politécnica de Cartagena.

Guía para el Trabajo Práctico N 5. Métodos Estadísticos en Hidrología

A. Una pregunta muy particular que se puede hacer a una distribución de datos es de qué magnitud es es la heterogeneidad que se observa.

FUNDAMENTOS QUIMICOS DE LA INGENIERIA

Clase 19: Estado Estacionario y Flujo de Potencia. EL Conversión de la Energía y Sistemas Eléctricos Eduardo Zamora D.

Interacción entre Procesos en Sistemas de Tiempo Real

Tema 1.3_A La media y la desviación estándar

ESTADISTÍCA. 1. Población, muestra e individuo. 2. Variables estadísticas. 3. El proceso que se sigue en estadística

10. VIBRACIONES EN SISTEMAS CON N GRADOS DE LIBERTAD

Condiciones Generales TestQual 2013

Población 1. Población 1. Población 2. Población 2. Población 1. Población 1. Población 2. Población 2. Frecuencia. Frecuencia

Sistema de Gestión de Peticiones

6 Impacto en el bienestar de los beneficiarios del PAAM

Captura de objetos móviles sobre una recta *

3 LEYES DE DESPLAZAMIENTO

UNIVERSIDAD CARLOS III DE MADRID Ingeniería Informática Examen de Investigación Operativa 21 de enero de 2009

EQUILIBRIO LÍQUIDO VAPOR EN UN SISTEMA NO IDEAL

SOBRE CIERTAS REDES DE UNIDADES DINÁMICAS ACOPLADAS POR IMPULSOS

IN540: Métodos Estadísticos para economía y gestión Profesores: Marcelo Henríquez, Felipe Avilés Auxiliares: José Miguel Carrasco

UN PROBLEMA LOGÍSTICO DE RUTEO DE VEHÍCULOS Y UNA SOLUCIÓN CON LA HEURÍSTICA R: UN CASO DE ESTUDIO

Interacción de Métodos Teóricos, Numéricos y Experimentales en el Rediseño y Análisis de un Elemento Estructural Hecho de Materiales Compuestos.

Capitalización y descuento simple

TEMA 3. VARIABLE ALEATORIA

DELTA MASTER FORMACIÓN UNIVERSITARIA C/ Gral. Ampudia, 16 Teléf.: MADRID

Tallerine: Energías Renovables. Fundamento teórico

Convertidores Digital-Analógico y Analógico-Digital

Tu área reservada Organización Simplicidad Eficiencia

Apéndice A: Metodología para la evaluación del modelo de pronóstico meteorológico

Facultad de Química. UNAM Alejandro Baeza

Transcripción:

UTILIZACIÓN DE ARQUITECTURAS COMPUTACIONALES NO CONVENCIONALES PARA LA CODIFICACIÓN Y DECODIFICACIÓN DE MENSAJES Departamento de Ingenería en Sstemas de Informacón Integrantes: Julo Monett Maxmlano Cresctell Emmanuel Bello Palabras claves: Cálculo Paralelo, Crptografía, Fuerza Bruta. Resumen. Como resultado de la prolferacón de sstemas de nformacón y gestón a lo largo de Internet, como el emal, e-commerce, etc., la encrptacón de datos se transforma en una necesdad para el funconamento seguro de los msmos. A partr de la ncorporacón del análss matemátco a técncas de encrptacón cláscas se obtenen modelos cada vez más robustos, logrando así una gran confabldad en la transmsón de datos a través de las redes. En el presente trabajo se utlza un método smple de crptografía, analzando la vulnerabldad del msmo con la aplcacón de fuerza bruta. Con el objeto de obtener mejores tempos de ejecucón se analza la computacón paralela como un paradgma de computacón alternatvo. Para ello se propone la arqutectura físca necesara para el empleo de cómputo paralelo y se analzan las varables a tener en cuenta para la correcta utlzacón del paradgma. 1 INTRODUCCION Los autores, membros de segundo año de Ingenería en Sstemas de Informacón, han emprenddo actvdades de nvestgacón relaconadas con el cómputo paralelo. Como ejemplo de aplcacón de este paradgma se estuda prevamente la aplcacón de un algortmo smple de encrptacón de datos en forma seral. En la seccón 2 se brnda una vsón general del estado de las prncpales técncas crptográfcas en la 1

actualdad, menconando los prncpales algortmos y las aplcacones más relevantes dentro de las nuevas tecnologías de nformacón. En la seccón 3 se explca un caso de estudo, para el cual se ha codfcado un algortmo de encrptacón smple, analzado prevamente como aplcacón de nterés relaconado con el álgebra lneal. Se busca observar el funconamento del algortmo, el tempo de respuesta en el proceso de encrptacón y desencrptacón, y la caldad de la encrptacón obtenda. Para ello, en la seccón 4 se consdera un algortmo de desencrptacón por fuerza bruta para estudar la vulnerabldad del método utlzado. Se preparan casos de prueba a través de la generacón de posbles solucones a través de fuerza bruta, tendentes a la decodfcacón de mensajes sn el algortmo de decodfcacón correspondente. A la luz de los resultados observados (seccón 5), los autores proponen modfcacones al algortmo de fuerza bruta, buscando mejores tempos de respuesta y cubrr un mayor rango de valores de prueba en el proceso de decodfcacón. La nueva solucón requere gran capacdad de cálculo para obtener un resultado en un tempo aceptable. A partr de esta stuacón, el grupo propone el procesamento paralelo del msmo, con el objeto de mejorar los tempos de ejecucón; para lo cual se plantea una arqutectura físca adecuada, basada en un cluster de computadoras, como así tambén la utlzacón del mddleware 1 necesaro para poder ejecutar el algortmo en forma paralela. En la seccón 6 se analza el algortmo paralelo utlzado para obtener dcha mejora. En la seccón 7 se muestran los resultados obtendos a través de la aplcacón de cómputo paralelo, y se realza un prmer análss de los factores que nfluyen en los tempos de ejecucón. Como conclusón, los autores exponen sus experencas como estudantes, al abordar un caso de estudo extracurrcular, y se presentan los resultados obtendos. 2 MÉTODOS DE CRIPTOGRAFÍA El desarrollo de la nformátca, especalmente en el ámbto de las telecomuncacones, ha permtdo la 1 Térmno utlzado en nformátca para denotar una capa de software que presta servcos para la nterconexón de otros componentes. 2

automatzacón de muchos procesos como el e-commerce, mensajería a través de e-mal o chat, y especalmente el uso de sstemas de nformacón orentados a la gestón de empresas, el comerco, etc. Este escenaro oblga a la determnacón de procesos cada vez más seguros para la transmsón de datos a través de las redes. La crptografía comprende un conjunto de técncas tendentes a consegur el ocultamento de los datos a través de la alteracón de los caracteres contendos en el mensaje a transmtr. Esto mpde que el mensaje nterceptado en el canal de comuncacón sea nterpretado y explotado por terceros. En la actualdad se cuenta con una gran varedad de algortmos de encrptacón de mensajes con dferentes característcas estructurales. Las prncpales varables a tener en cuenta para comparar estos algortmos y determnar cuál es más adecuado que otro para una aplcacón en partcular, gran en torno a la velocdad de cfrado y descfrado, segurdad del mensaje, costos de adquscón, y especalmente a la caldad del códgo obtendo. Los métodos de encrptacón están dvddos en dos grupos ben dferencados: los que trabajan con claves smétrcas y los que trabajan con claves asmétrcas [11]. En el prmer grupo se destaca el algortmo DES [9] por su grado de generaldad, y porque es reconocdo como el ponero entre los algortmos de encrptacón. Fue orgnado en el ámbto de grupos técncos del goberno de los EE.UU. a través de una propuesta del NIST (Natonal Insttute of Standars and Technology) para resguardar datos sensbles. El problema prncpal de este algortmo es que trabaja con claves de 64 bts, de los cuales usa solo 57 para la codfcacón. Expertos en crptografía opnan que en poco tempo, claves 1024 a 4096 bts podrían comenzar a ser débles y fácles de romper. Es recomendable que las claves contengan como mínmo 2048 bts; por lo tanto el algortmo DES, que cuenta con claves de sólo 57 bts, es consderado muy vulnerable en la actualdad. Por este motvo se creó una mejora al algortmo: el 3-DES. La estructura algorítmca es smlar al DES, pero el proceso de encrptado se realza tres veces, con lo que se obtenen claves de 192 bts. Esto lo hace un códgo más seguro, pero mucho más lento de procesar que su antecesor. 3

Como consecuenca de la vulnerabldad e nefcenca de estas solucones, surge la necesdad de un algortmo más efcente para la transmsón segura de mensajes. Luego, el NIST crea un concurso en 1997 para elegr el mejor algortmo de encrptacón y es aquí donde nace AES [6][9]. Esta solucón llega a convertrse en el algortmo de encrptacón más popular dentro de la crptografía smétrca, adoptándose como un estándar de encrptacón por el goberno de los Estados Undos. AES utlza claves de 128, 192 o 256 bts y su procesamento resulta más rápdo que DES, tanto en software como en hardware. Requere poca memora y es relatvamente fácl de mplementar. En la actualdad no se encuentra nformacón sobre trabajos que hayan logrado romper 2 el AES. No obstante, académcos relaconados con la crptografía entenden que el algortmo puede ser vulnerado en el futuro debdo a que posee una descrpcón matemátca muy ordenada y comprensble. Una ventaja que presenta AES frente a otros algortmos es que su códgo es aberto. Otro algortmo que se propuso para 2 En crptografía se utlza comúnmente este térmno para hacer referenca a la volacón del algortmo. el concurso como reemplazo de DES fue IDEA [9]. Éste trabaja con bloques de texto de 64 bts. El algortmo de desencrptacón es muy parecdo al de encrptacón, por lo que resulta muy fácl y rápdo de mplementar. Posee una velocdad de procesamento muy parecda a la de DES y hasta ahora no se conoce nformacón sobre su vulneracón. Su longtud de clave aporta una segurdad fuerte ante los ataques por fuerza bruta ya que sería necesaro probar 2 38 claves para la obtencón de un mensaje, cantdad dfícl de manejar con los medos nformátcos actuales. Un algortmo de clave smétrca muy utlzado en la actualdad es Twofsh [10]. Utlza un cfrado por bloques de 128 bts que acepta claves de hasta 256 bts. Generalmente su procesamento es un poco más lento que AES con claves de 128 bts, pero más rápdo para claves de 256. Un punto a favor es que no ha sdo patentado y es lbre y gratuto, pudendo ser utlzado sn nnguna restrccón. En el grupo de los algortmos más populares que usan claves asmétrcas podemos encontrar a Dffe-Hellman [9], que fue el prmer método en usar este tpo de clave. La 4

ventaja prncpal que presenta es que trabaja con potencas de números combnada con la funcón módulo dscreto, sendo así muy compleja la obtencón y aplcacón de funcones nversas para su desencrptacón. Otra ventaja que posee es que su códgo es aberto y totalmente gratuto. Por otro lado su desventaja más sgnfcatva es la de ser sensble a los ataques de tpo man-n-themddle. S la comuncacón es nterceptada por un tercero, éste se puede hacer pasar por el emsor de cara al destnataro y vceversa, ya que no dspone de mecansmos para valdar la dentdad de los partcpantes en la comuncacón. Otro algortmo pertenecente a este grupo es el DSA [5], el cual representa actualmente un estándar dentro del goberno de los EE.UU. Es amplamente utlzado para frmas dgtales y utlza claves entre 512 y 1024 bts. Una desventaja de este algortmo es que s ben tarda un tempo muy smlar a RSA [12] en crear frmas dgtales, requere entre 10 y 40 veces más de tempo de cómputo para verfcarlas. Pero por otro lado es mucho más seguro y confable que RSA. DSA fue patentado, por lo tanto su dstrbucón no es lbre. Un algortmo que se dferenca de los anterores, por resultar uno de los más utlzado dentro del mundo de la encrptacón de datos, es RSA. Éste método srve tanto para cfrar como para frmar dgtalmente: una característca mportante en lo que concerne a la autentcacón de un mensaje. Su punto fuerte hoy en día -pero posblemente débl en el futuro-, es que trabaja con productos de números prmos, ya que en la actualdad no exsten formas rápdas para descomponer números grandes en producto de prmos. El procesamento con números prmos presenta en la actualdad dfcultades desde un punto de vsta matemátco y tambén tecnológco. No obstante, y a través del progreso de las tecnologías relaconadas con la potenca de procesamento, se espera que en un tempo este método deje de ser seguro o deba ser modfcado. De hecho ya sufró su prmer ataque por Bertacco, Austn y Pellegrn quenes lograron, en enero del 2010, vulnerar la versón del algortmo de 768 bts. Las claves RSA contenen normalmente entre 1024 y 2048 bts de longtud. S ben RSA es uno de los métodos más seguros que exsten en la actualdad, tambén es de códgo cerrado y tene un costo 5

asocado. Un estudo más amplo de la crptografía en la actualdad muestra que exsten otros métodos, algunos menos formales y no tendos en cuenta por la lteratura. Esta stuacón ndca que se trata de una dscplna en pleno crecmento, donde la nformátca y la matemátca pueden contnuar realzando mportantes aportes. 3 CODIFICACIÓN DE MENSAJES POR INVERSIÓN DE MATRICES Se observa que una característca común en los métodos de encrptacón es la complejdad algorítmca para generar una codfcacón segura. Por otro lado se observa tambén que una varable para medr la vulnerabldad de un algortmo es el tempo de procesamento requerdo para romper su clave. Para el presente trabajo, y como ejemplo de expermentacón, los autores han adoptado un método smple de encrptacón [1] basado en clave smétrca. En dcho algortmo se consdera una matrz cuadrada, utlzada para la codfcacón de mensajes: la matrz codfcadora Cnn, y una matrz rectangular que contene el mensaje a codfcar: la matrz portadora A nm. Se consderan dos actores: un emsor y un receptor del mensaje, y un canal de comuncacón. El procedmento del ctado algortmo consste en tomar un texto de entrada, y dsponerlo en forma matrcal cada letra del texto en una celda de la matrz A-, sguendo un orden de almacenamento por flas 3. Una vez almacenado el texto orgnal en la matrz A, se procede a la premultplcacón de la msma por la matrz codfcadora C. Este procedmento genera una nueva matrz con el texto codfcado: la matrz X. C. A= X (1) Para poder mplementar esta multplcacón de matrces se deben almacenar números enteros, representando éstos al valor ASCII 4 del carácter en cuestón. Para complementar este procedmento se consdera el envío del mensaje cfrado a través del canal, y el descfrado del msmo por parte del potencal receptor, a través de la premultplcacón de la matrz codfcada X por una segunda matrz: 3 S ben en [1] se mencona un almacenamento por columna, en la presente mplementacón se adopta un almacenamento por fla. 4 ASCII, por sus sglas en nglés Amercan Standard Code for Informaton Interchange: utlzado para la representacón numérca de caracteres. 6

la decodfcadora Dnn en la computadora del receptor. D. X = A (2) Esta últma resulta de nvertr la matrz codfcadora C, es decr 1 D = C (3) 3.1 Característcas de las estructuras de datos Como se observó en la seccón anteror, la característca prncpal del cfrado/descfrado utlzado en este método resde en la multplcacón de dos matrces. En el caso de la codfcacón se cuenta con CnnAnm, donde ambas matrces contenen números enteros. Esta stuacón oblga a dsponer los códgos ASCII del texto a codfcar en una matrz cuya cantdad de flas sea gual a la cantdad de columnas de la matrz codfcadora. En el caso de la decodfcacón se tene DnnXnm, donde la prmera cuenta eventualmente con valores no enteros. Como se menconó anterormente, la matrz decodfcadora corresponde a la matrz nversa de la matrz codfcadora. Esta stuacón conlleva a una restrccón algebraca mportante: la matrz codfcadora debe ser nversble [2] (debe ser posble el cálculo de la ecuacón 3). Por otro lado, se deberá prestar especal atencón a la codfcacón/decodfcacón de mensajes muy largos, puesto que un mensaje con una longtud consderable conlleva a la multplcacón de matrces llenas de grandes dmensones. Se debe consderar por otro lado que la multplcacón de matrces rectangulares presenta una Ο n 2 m, complejdad de cálculo de ( ) donde para m y n muy grandes se puede expermentar tempos muy grandes de cómputo y grandes cantdades de almacenamento. 3.2 Consderacones sobre uso y rendmentos En vsta de los métodos observados en la seccón 2, y las característcas estructurales del algortmo de referenca [1], los autores observan que este últmo podría ser vulnerado bajo la técnca de fuerza bruta. Esto es, ensayando la desencrptacón a través de un conjunto de matrces decodfcadoras D D, donde Q 1.. Q representa la cantdad de matrces a tener en cuenta en los sucesvos ntentos. Las dferentes matrces decodfcadoras se obtenen a través de la permutacón ordenada de los 7

valores de sus celdas, tenendo en cuenta una matrz decodfcadora de 22 celdas como la de la expresón 4. a b D= (4) c d con a, b, c, d elementos que pueden varar entre -20 y 20 (este rango es tendo en cuenta para los expermentos llevados a cabo en este trabajo). Luego, el valor Q es obtendo a través del cálculo del total de permutacones posbles entre los valores de a, b, c, y d. Como se menconó anterormente, s ben no exste un método drecto para conocer la matrz nversa o decodfcadora, se pueden probar dferentes combnacones en forma ordenada de matrces que respondan a las característcas estructurales de la matrz decodfcadora. Luego, obtenendo la matrz nversa D= correcta para el ntento, el mensaje puede ser descfrado nmedatamente a través de la multplcacón de la msma por la matrz X con el texto codfcado. El problema que presenta este procedmento se halla en la cantdad de combnacones de matrces necesaras para dar con la correcta. D Tal cantdad está expresada como una varacón con repetcones Q (expresón 5). c Q= n (5) Donde n representa la cantdad de valores posbles a almacenar en cada celda de la matrz, c la cantdad de celdas de la matrz, y Q la cantdad de combnacones posbles. Para generar todas estas combnacones se dseña una sere de expermentos basados en fuerza bruta, con los cuales se pretende ensayar un conjunto de posbles solucones, y así conclur con la vulnerabldad o robustez del método de encrptacón. Esta conclusón se analza en funcón de los tempos de descfrado obtendos s es posble obtener la matrz D. 4 ALGORITMO DE FUERZA BRUTA 4.1 Algortmo de fuerza bruta El algortmo de desencrptacón por fuerza bruta pretende realzar combnacones en forma ordenada de los elementos a,b,c y d dspuestos sobre cada matrz D y aplcadas sobre X, hasta obtener la matrz decodfcadora D. Una vez obtenda la matrz decodfcadora D se podrá desencrptar cualquer texto codfcado X. Como se menconó en 8

3.2, a, b, c y d en la matrz decodfcadora toman valores no enteros, lo que conlleva a probar una gran cantdad de valores en el ntervalo de prueba. Tras cada teracón se obtene una matrz A, la cual debe ser nspecconada para verfcar s contene el texto decodfcado. Para el proceso se utlza un wordlst 5 en español, prevamente almacenado, donde se buscan las palabras obtendas en A tras cada búsqueda (se consdera una palabra al conjunto de caracteres contendos entre dos espacos). El algortmo se muestra en forma gráfca en el dagrama de flujos de la fgura 1. Fgura 1. Algortmo de Desencrptacón por Fuerza Bruta. Un resultado aparentemente obvo pero que resultará de gran sgnfcacón en posterores expermentos, es que se encuentra la solucón en forma cada vez más temprana, mentras más chca es la en el conjunto de solucones ensayadas D para =1...Q. 5 EXPERIMENTACION Y RESULTADOS OBTENIDOS 5 Lstado de vocablos en un doma partcular almacenados en un fchero o memora prncpal. Para el conjunto de expermentos se codfcó un texto de 40 caracteres, cuyos códgos ASCII se dspuseron en una matrz A 2 20. Se tomó una 9

matrz codfcadora C 2 2, cuya nversa corresponde con la matrz D 2 2, la cual pretende ser obtenda a través de la permutacón de sus elementos a, b, c y d para cada D. El proceso teratvo utlzado para la generacón de cada nueva matrz D corresponde, algorítmcamente hablando, a un conjunto de lazos andados para generar la permutacón ordenada de los elementos de sus celdas. Se utlza el lenguaje C para la codfcacón del algortmo de prueba, y prevo a la ejecucón del msmo, se verfca que no exstan procesos utlzando de forma consderable el procesador y que puedan entorpecer las medcones. Se realzan 20 ejecucones del algortmo bajo las condcones mostradas en la seccón 4.1, obtenendo la matrz decodfcadora D en un tempo medo de ejecucón de 605.19 segundos. El conjunto de expermentos presenta tempos t smlares, es decr una varanza pequeña frente al tempo medo de ejecucón, por lo que se concluye que exste una marcada homogenedad en cuanto a los tempos de ejecucón a lo largo de los expermentos. 6 PROPUESTA DE MEJOR EJORA PARA EL ALGORITMO DE FUERZA BRUTA De los resultados obtendos con el algortmo seral se observa que los tempos de ejecucón dependen drectamente de factores ben dferencados, como resulta el rango de valores que pueden contener los elementos de la matrz decodfcadora. Este rango está determnado por el número total del conjunto de valores a probar Q. 6.1 Algortmo paralelo de fuerza f bruta Por las característcas estructurales del algortmo de fuerza bruta se puede pensar en la ejecucón en paralelo del msmo, probando dferentes matrces D en dferentes procesadores. El algortmo seral presenta un conjunto de lazos teratvos andados, lo que representa una estructura deal para ser paralelzada, s es que no exste dependenca de datos entre los dferentes lazos. Se propone la aplcacón de computacón paralela a través de un cluster de computadoras, donde cada nodo del msmo pueda realzar cálculos sobre dferentes combnacones de matrces D. Luego, la cantdad de combnacones 10

a probar en cada nodo esta dada por la expresón 6. c n Q = (6) p Donde p es la cantdad de procesadores colaborando con la búsqueda de la solucón, n la cantdad de valores posbles a ser almacenado en cada celda, c la cantdad de celdas, y Q la cantdad de matrces que le corresponde probar a cada procesador. Es mportante consderar que s la dvsón en la ecuacón 6 resulta un número entero (es decr la cantdad de valores a probar es un múltplo de la cantdad de procesadores) tenemos p = Q, (7) Q Con Q1=Q2=...=Qn para n=p. Es decr, todos los procesadores cuentan con la msma cantdad de valores de prueba. Por otro lado, s la ecuacón 6 no resulta entera, se deberá balancear la carga entre procesadores. En este caso el conjunto de valores sobrantes (n c mod p) deberá ser repartdo de acuerdo a algún crtero a lo largo de los dferentes procesos. 6.2 Infraestructura físca de prueba Con el objetvo de realzar las pruebas del algortmo paralelo, el grupo realza la nstalacón de un cluster de computadoras con las sguentes característcas: Sstema Lnux. (Deban 5) Operatvo Procesador (11 AMD Athlon (tm) nodos) 64 Proc 3200+ Mhz 2000.248 Cache 512Kb Memora RAM 1GB RED Ethernet a 100MBps Tabla 1. Hardware utlzado (cluster). El cluster es de tpo Beowulf [13] y se encuentra dspuesto en forma de red LAN, con el objeto de mantenerlo aslado del resto de las computadoras del campus de la Unversdad. Esto permte un uso dedcado para el conjunto de expermentos a realzar, stuacón que asegura la homogenedad de las pruebas y la correcta medcón de tempos. 6.3 Infraestructura lógca de prueba rueba: algortmo paralelo y mddleware dleware Como en la codfcacón del algortmo seral, se utlza lenguaje C 11

estándar para la codfcacón del programa paralelo, anexando una lbrería de paso de mensajes MPI [3][4]. Esta lbrería es utlzada para permtr la transferenca de mensajes entre los dferentes procesos que ntervenen en la búsqueda. Se utlza una metodología de ejecucón paralela denomnada master-worker, donde exsten dos tpos de procesos. El proceso master está encargado de la coordnacón general del resto de los procesos, y los procesos worker están encargados de realzar la búsqueda de la solucón en forma local. Esta búsqueda, como se explctó en seccones anterores corresponde a la varacón de los elementos de cada matrz D y la posteror multplcacón por la matrz con el texto codfcado X. Se codfca un únco programa, el cual es nvocado en el proceso master, ejecutándose en este y en cada uno de los nodos worker. Este tpo de arqutectura de software resulta un caso partcular de la arqutectura SPMD [7][8]. En el dagrama de flujo de la fgura 2, se puede advertr que éste está dvddo en dos partes, una que corresponde a las tareas del master (zquerda) y otra que corresponde a las tareas ejecutadas por cada nodo worker (derecha). Se puede aprecar tambén que exste una comuncacón explícta entre ambos procesos. En prmer lugar el proceso master envía a cada proceso worker el texto a decodfcar, y los parámetros de búsqueda. Estos últmos están compuestos prncpalmente por el rango de valores que conformarán las matrces D en cada worker y los valores ncales para a, b, c y d. Cada worker cuenta con una nstruccón para recbr los correspondentes datos (fgura 2: pasos etquetados como 1 y 2 en el dagrama de flujo de la derecha). Una característca mportante de este algortmo paralelo es que los procesos master y workers se encuentran bloqueados hasta que el dato ha sdo transferdo y aceptado en destno. Esta característca representa los mayores tempos muertos en la ejecucón del algortmo y se debe prestar especal atencón en la mnmzacón de la cantdad de mensajes transferdos. Luego, el procesamento prncpal realzado por el conjunto de workers (fgura 2: etquetas 3 a 10 en el dagrama de flujo de la derecha) consste en la generacón del conjunto de matrces D, la multplcacón por la matrz X, y la comprobacón sobre una potencal 12

decodfcacón. Se espera que el nuevo tempo de ejecucón se reduzca al repartr el trabajo en p procesos. El tempo teórco de ejecucón está dado por la ecuacón 8. t t esp = (8) p Donde t representa el tempo expermentado por algortmo seral, p la cantdad de procesadores, y tesp el tempo esperado tras la ejecucón paralela. Luego, se adverte que este tempo deal se ve afectado por los tempos ncurrdos en la comuncacón entre nodos, esperando un nuevo tempo de respuesta dado por la ecuacón 9. t t = + Co (9) p una decodfcacón extosa se detene el proceso en forma global: master y workers. Es decr, s el master recbe un avso de decodfcacón, en la próxma sncronzacón avsa a cada worker que debe detener su ejecucón. En caso contraro, el master espera por el avso de cada worker para realzar una nueva tarea de comuncacón. S ben este procedmento determna un protocolo smple y seguro de comuncacón entre master y workers, nvolucra una gran cantdad de mensajes a ser transferdos. Donde Co corresponde al tempo total ncurrdo en la comuncacón entre nodos, y t el tempo total de procesamento tenendo en cuenta cómputo y comuncacón. Entre las tareas del master, se consdera el envío de un mensaje de sncronzacón a cada worker (fgura 2: etqueta 4 en el dagrama de flujo de la zquerda), por la cual se solcta a cada uno de ellos que nforme sobre la potencal decodfcacón tras cada teracón. En caso de que un worker concluya con 13

Fgura 2. Ejecucón en paralelo. Izquerda: master. Derecha: worker(s) Se observa en la fgura 2 que la tarea de sncronzacón (Snc) se encuentra dentro del lazo prncpal del proceso master (tambén en cada worker). Como se especfcó en párrafos anterores, en el paso 4 el master recbe una señal de cada worker, la cual está compuesta de un número entero: 0 para ndcar que no tuvo éxto en el proceso, y 1 para ndcar que pudo desencrptar el códgo. Luego el master verfca s alguno de ellos ha encontrado la matrz decodfcadora, y comunca a cada uno s debe contnuar con la búsqueda de una nueva matrz D. Es decr, tras cada búsqueda de una nueva matrz D en cada uno de los workers, y su posteror multplcacón por X, exste un bloqueo general del sstema. Esta stuacón se ve fuertemente desalentada por las buenas práctcas en torno de los algortmos paralelos, puesto que se entende que debdo a la naturaleza del cálculo realzado por cada worker, compuesto por operacones smples de punto flotante, se nsume mucho más tempo en la comuncacón con el master. A partr de este escenaro los autores plantean como hpótess de trabajo que: la reduccón en la cantdad de mensajes generará tempos globales de ejecucón t menores. 7 EJECUCIÓN EN LA ARQUITECTURA PARALELA Prevo a la realzacón de los expermentos se verfca que en cada uno de los nodos worker no exstan procesos que puedan entorpecer las medcones. La expermentacón en la nueva arqutectura lleva a los resultados mostrados en la tabla 2. Tempo t (segundos) Workers C/Sncronz S/Sncronz (seral) t=605.19 2 2823.45 596.90 4 2611.21 293.01 6 2540.22 197.73 8 2749.28 141.52 10 3191.91 110.08 Tabla 2. Tempos de cálculo con sncronzacón y sn sncronzacón En la tabla 2 se destacan tres resultados relevantes: 1) No exste un patrón de varacón de tempos marcado cuando se utlza una dferente cantdad de procesadores, 2) La solucón seral resulta 14

convenente frente a la solucón paralela con sncronzacón, y 3) S no se utlza sncronzacón, se pueden obtener mejores tempos. Con el objeto de verfcar (3), se ntenta destacar la nfluenca de los tempos de comuncacón sobre el tempo total de ejecucón, por lo que se genera un nuevo expermento donde se sncronza el master con cada worker tras una determnada cantdad de cómputo. Es decr que cada worker realza la búsqueda de una determnada cantdad de solucones (columna 1 en la tabla 3) antes de comuncar el resultado al master. Los resultados se muestran en la tabla 3 para una prueba con 2 procesos worker. Cómputos p/ p t (segs) Sncronz 1 2821.45 1.000 629.02 3.000 613.01 5.000 605.75 7.000 604.01 Tabla 3. Cantdad de cómputos tras cada sncronzacón master-workers (para 2 workers) Luego, se concluye que los tempos de comuncacón (Co en ecuacón 9) penalzan fuertemente la ejecucón del programa. Se debe tener en cuenta que la tarea de sncronzacón master-worker corresponde al envío de un número entero del worker al master, y la correspondente respuesta. Esta comuncacón es de tpo bloqueante e mpde que cada worker contnúe con la sguente matrz D, hasta que el master haya +1 recbdo todos los mensajes correspondentes a la teracón. El estudo pormenorzado de las relacones entre comuncacón y cómputo forma parte de trabajos futuros de los autores, donde se espera que los msmos puedan establecer una relacón más específca entre cómputo y comuncacón, y así poder determnar a pror el speedup [3][4] posble para una cantdad de procesadores dada. En la fgura 3 se muestra gráfcamente la dsmnucón en los tempos de ejecucón al ncrementar la cantdad de cómputo tras cada teracón. 15

Sstemas de Informacón de la Unversdad Tecnológca Naconal Facultad Regonal Mendoza, que a través del grupo de nvestgacón LADEI y la cátedra Paradgmas de Programacón ha generado un espaco de nvestgacón donde fue posble desarrollar los temas presentados. Fgura 3. Tempos de ejecucón en funcón de la relacón cómputo/sncronzacón. Se ha observado tambén que s ben la cantdad de cómputo por teracón crece constantemente, con la consecuente dsmnucón de los tempos globales de ejecucón; a la larga, tras nclur mayor cantdad de cómputo en cada teracón, se llega a una stuacón estaconara donde el tempo no dsmnuye. Esta stuacón está dada por la razón de que los tempos de cálculo ncurrdos en una gran cantdad de multplcacón de matrces en cada worker comenza a compensar el tempo ncurrdo en la comuncacón. 8 AGRADECIMIENTOS Los autores agradecen al Departamento de Ingenería en 9 CONCLUSIONES Por la naturaleza del trabajo realzado, se destacan conclusones en torno a dos temas. En prmer lugar, se ha observado que métodos smples de encrptacón pueden ser fáclmente vulnerados. No obstante, resultan de fácl mplementacón, y tras pequeñas modfcacones se pueden transformar en métodos útles para ser utlzados en pequeñas aplcacones. Con respecto a la utlzacón de cálculo paralelo, el grupo ha realzado sus prmeras experencas en torno al msmo. Estas experencas han resultado sufcentemente útles para poder observar varables que determnan potencales mejoras en cuanto a tempos de ejecucón. Se ha observado que para el algortmo 16

utlzado en este partcular, la ncorporacón de más procesadores no es sufcente para conclur con la mejora de los tempos, llevando a la búsqueda de explcacones más específcas, las cuales serán precsadas en trabajos subsguentes. Los resultados obtendos resumen como sgue: 1. El tempo de respuesta depende en prmera nstanca de la poscón de la solucón dentro una cantdad Q de posbles solucones. Esto sgnfca que s la solucón sempre la obtene el proceso 1, no mporta cuantos procesadores se agreguen: el tempo será gual al ncurrdo por la solucón seral, y penalzado además por los tempos de comuncacón. 2. S se reduce la cantdad de sncronzacones entre master y workers se obtenen mejores tempos globales. Esto lleva a la necesdad de estudar en forma más precsa esta relacón. 10 TRABAJO FUTURO Los autores pretenden como trabajo futuro la expermentacón exhaustva con el algortmo paralelo, analzando nuevas formas de sncronzacón entre master y workers, tendendo a buscar menores tempos muertos en los últmos, y sobre todo buscar relacones entre el speedup obtendo y las varables que ntervenen en el cálculo del msmo. Por otro lado, exste un marcado nterés en la nvestgacón de los dferentes métodos de encrptacón, para lo cual se propone una línea de nvestgacón en el tema. 11 REFERENCIAS [1] WILLIAMS, GARETH. (2002): Algebra Lneal con Aplcacones, 4º Edcón, McGraw-Hll Interamercana. ISBN: 970-10-3838-X, Méxco. [2] ANTON, HOWARD. (2005): Introduccón al Algebra Lneal, 3º Edcón, Lmusa Wley. ISBN: 968-18- 6317-8, Méxco. [3] HARRY, JORDAN & ALAGHBAND, GITA. (2003): Fundamentals of Parallel Processng, Pearson Educaton Inc. ISBN: 0-13-901158-7, USA. [4] PACHECO, PETER. (1997): Parallel Programmng wth MPI, Morgan Kaufmann Publshers, Inc. ISBN: 1-55860-339-5, Calforna, USA. [5] DSA. NIST: Natonal Insttute of Standars and Technology. Insttuto del Goberno de Estados Undos. http://www.tl.nst.gov/fpspubs/fp1 86.htm 17

[6] AES. NIST: Natonal Insttute of Standars and Technology. Insttuto del Goberno de Estados Undos.http://csrc.nst.gov/publcat ons/fps/fps197/fps-197.pdf [7] PARHAMI, BEHROOZ. (2002): Introducton to Parallel Procesng, Algorthms and Archtectures, Plenum Seres n Computer Scence, Edtor: Kluwer Academc Plublshers. ISBN (EBook): 0-306-45970-1, Calforna, USA. Sprnger. ISBN (EBook): 978-3-642-04101-3. Berln, Alemana. [12] KONHEIM, ALAN (2007): Computer Secutry and Cryptography, John Wley & Sons Inc. ISBN: 978-0-471-94783-7. USA. [13] BEOWULF. http://www.beowulf.org/ [8] DONGARRA, JACK. & OTROS (2003): Sourcebook of Parallel Computng, Morgan Kaufmann Publshers, Edtor: Jack Dongarra & Otros. ISBN: 1-55860-871-0, Calforna, USA. [9] STALLINGS, WILLIAM (2005): Cryptography and Network Securty, 4º Edcón, Prentce Hall. ISBN (EBook): 0-13-187319-9, USA. [10] SCHNEIER, BRUCE, et al. (1998): Twofsh: A 128-Bt Block Cpher, Counterpane Systems, USA. http://www.schneer.com/papertwofsh-paper.pdf [11] PAAR, CHRISTOF & PELZL, JAN (2010): Understandng Cryptography, 18

19