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

Capitalización y descuento simple

EXPERIMENTACIÓN COMERCIAL(I)

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


Tema 3. Estadísticos univariados: tendencia central, variabilidad, asimetría y curtosis

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

12-16 de Noviembre de Francisco Javier Burgos Fernández

PROPORCIONAR RESERVA ROTANTE PARA EFECTUAR LA REGULACIÓN PRIMARIA DE FRECUENCIA ( RPF)

TEMA 10. OPERACIONES PASIVAS Y OPERACIONES ACTIVAS.

Clase 25. Macroeconomía, Sexta Parte

DEFINICIÓN DE INDICADORES

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

GUIAS DE ACTIVIDADES Y TRABAJO PRACTICO Nº 22

TEMA 4 Variables aleatorias discretas Esperanza y varianza

ANÁLISIS DE ACCESIBILIDAD E INTERACCIÓN ESPECIAL:

2.2 TASA INTERNA DE RETORNO (TIR). Flujo de Caja Netos en el Tiempo

Matemática Financiera Sistemas de Amortización de Deudas

OPERACIONES ARMONIZACION DE CRITERIOS EN CALCULO DE PRECIOS Y RENDIMIENTOS

Relaciones entre variables

De factores fijos. Mixto. Con interacción Sin interacción. No equilibrado. Jerarquizado

Histogramas: Es un diagrama de barras pero los datos son siempre cuantitativos agrupados en clases o intervalos.

Tema 1: Estadística Descriptiva Unidimensional Unidad 2: Medidas de Posición, Dispersión y de Forma

EQUILIBRIO LÍQUIDO VAPOR EN UN SISTEMA NO IDEAL

Qué es la EN81-28? Atrapado en el ascensor?

LABORATORIO REMOTO DE INSTRUMENTACIÓN ELECTRÓNICA

CÁLCULO DE INCERTIDUMBRE EN MEDIDAS FÍSICAS: MEDIDA DE UNA MASA

Título: Dos métodos de diagnóstico de circuitos digitales de alta y muy alta escala de integración.

Tu área reservada Organización Simplicidad Eficiencia

Algoritmo para la ubicación de un nodo por su representación binaria

Trabajo y Energía Cinética

Investigación y Técnicas de Mercado. Previsión de Ventas TÉCNICAS CUANTITATIVAS ELEMENTALES DE PREVISIÓN UNIVARIANTE. (IV): Ajustes de Tendencia

TEMA 6 AMPLIFICADORES OPERACIONALES

Guía de ejercicios #1

Espacios de Búsqueda en un Árbol Binario para Resolver Problemas de Optimización Discreta

ACTIVIDADES INICIALES

5. PROGRAMAS BASADOS EN RELACIONES DE RECURRENCIA.

Gráficos de flujo de señal

Marcos Gutiérrez-Dávila

Material realizado por J. David Moreno y María Gutiérrez. Asignatura: Economía Financiera

VII Jornadas para el Desarrollo De Grandes Aplicaciones de Red

1.1 Ejercicios Resueltos Tema 1

APENDICE A. El Robot autónomo móvil RAM-1.

CAPÍTULO 5 REGRESIÓN CON VARIABLES CUALITATIVAS

PROPUESTAS PARA LA DETERMINACIÓN DE LOS PARÁMETROS DEL GRÁFICO DE CONTROL MEWMA

Módulo 3. OPTIMIZACION MULTIOBJETIVO DIFUSA (Fuzzy Multiobjective Optimization)

Smoothed Particle Hydrodynamics Animación Avanzada

Índice de Precios de las Materias Primas

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

Manual. Starbridge 305EU. Contenido

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

GANTT, PERT y CPM INDICE

INSTRUCTIVO No. SP 04 / 2002 INSTRUCTIVO PARA LA DETERMINACIÓN Y CÁLCULO DEL SALARIO BÁSICO REGULADOR

IMPLEMENTACIÓN PRÁCTICA DE UN BANCO DE FILTROS UNIFORME. S Q Salida del filtro Q h(n) Filtro s(n) Señal L Tamaño de la ventana del filtro 0 # n # L-1

UNIVERSIDAD DE GUADALAJARA, CUCEI DEPARTAMENTO DE ELECTRÓNICA LABORATORIO DE ELECTRÓNICA II

Estimación del consumo diario de gas a partir de lecturas periódicas de medidores

Unidad I Definición de reacción de combustión Clasificación de combustibles

Explicación de las tecnologías - PowerShot SX500 IS y PowerShot SX160 IS

Codificación de la Información

CAPÍTULO 4 MARCO TEÓRICO

ALN - SVD. Definición SVD. Definición SVD (Cont.) 29/05/2013. CeCal In. Co. Facultad de Ingeniería Universidad de la República.

Análisis de Sistemas Multiniveles de Inventario con demanda determinística

Reconocimiento de Imágenes Empleando Redes de Regresión General y la Técnica TVS

COMPARADOR CON AMPLIFICADOR OPERACIONAL

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 17

Starbridge Networks 305EU Manual

Economía de la Empresa: Financiación

Unidad 3 PLANIFICACIÓN DE TIEMPOS, PROGRAMACIÓN DE RECURSOS Y ESTIMACIÓN DE COSTOS DE LA EJECUCIÓN Y MANTENIMIENTO DE LOS STI

Media es la suma de todas las observaciones dividida por el tamaño de la muestra.

Créditos Y Sistemas de Amortización: Diferencias, Similitudes e Implicancias

2 Tiempo, causalidad y estado global

Análisis de error y tratamiento de datos obtenidos en el laboratorio

APLICACIÓN DEL ANALISIS INDUSTRIAL EN CARTERAS COLECTIVAS DE VALORES

MÉTODOS PARA PROBAR NUMEROS

Análisis de Regresión y Correlación

CAPÍTULO 3 METODOLOGÍA. En el siguiente capítulo se presenta al inicio, definiciones de algunos conceptos actuariales

Correlación y regresión lineal simple

TÉCNICAS AUXILIARES DE LABORATORIO

Disipación de energía mecánica

1. GENERALIDADES DEL ÁLGEBRA GEOMÉTRICA. Definición del álgebra geométrica del espacio-tiempo

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)}

TEMA 8: PRÉSTAMOS ÍNDICE

MECÁNICA CLÁSICA MAESTRÍA EN CIENCIAS (FÍSICA) Curso de Primer Semestre - Otoño Omar De la Peña-Seaman. Instituto de Física (IFUAP)

MODELO DE PROCESOS TECNOLOGÍAS DE LA INFORMACIÓN - GESTIÓN DEL SERVICIO

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

EXISTE ALGÚN SISTEMA DE FIDELIZACIÓN MÁS SENCILLO?

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

1.- Elegibilidad de estudiantes. 2.- Selección de estudiantes - 2 -

Programación entera, el método del árbol de cubos, su algoritmo paralelo y sus aplicaciones

1. Introducción 2. El mercado de bienes y la relación IS 3. Los mercados financieros y la relación LM 4. El modelo IS-LM

Control de Inventarios y su Aplicación en una Compañía de Telecomunicaciones

ADENDA 008 LICITACIÓN L-CEEC

Pruebas Estadísticas de Números Pseudoaleatorios

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

Equilibrio termodinámico entre fases fluidas

TERMODINÁMICA AVANZADA

Simulación y Optimización de Procesos Químicos. Titulación: Ingeniería Química. 5º Curso Optimización.

YIELD MANAGEMENT APLICADO A LA GESTIÓN DE UN HOTEL

1.- Una empresa se plantea una inversión cuyas características financieras son:

Transcripción:

Utlzacón de Arqutecturas Computaconales No Convenconales para la Codfcacón y Decodfcacón de Mensajes BELLO, Emmanuel / CRESCITELLI, Maxmlano / AGÜERO, Matías / VAZQUEZ, Matías MONETTI, Julo UTN Fac. Regonal Mendoza emabello42@gmal.com, albertut@hotmal.com, matas_aguero@hotmal.com, matasvqz@hotmal.com, jmonett@frm.utn.edu.ar

Abstract 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. A través de este cambo de paradgmas se obtenen resultados aceptables a través de la dsmnucón de tempos de ejecucón. Palabras Clave Cálculo Paralelo, Crptografía, Fuerza Bruta. 1. Introduccón Los autores, membros de segundo año del Departamento de Ingenería en Sstemas de Informacón de la Unversdad Tecnológca Naconal, 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 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 de cómputo 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 ntentar 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 Crptografía El desarrollo de la nformátca, especalmente en el ámbto de las telecomuncacones, ha permtdo la 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 1 Térmno utlzado en nformátca para denotar una capa de software que presta servcos para la nterconexón de otros componentes.

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 2. 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. 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. 2 En crptografía se utlza comúnmente este térmno para hacer referenca a la volacón del algortmo. Otro algortmo que se propuso para 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 238 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 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-the-mddle. 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 debe dferencar de los anterores, por su grado de populardad, y 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 asocado. Un estudo más amplo de la crptografía en la actualdad muestra que exsten muchos 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. Codfcacón de Mensajes por Inversón de Matrces 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 C nn, 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. Además se debe consderar un canal de comuncacón donde el mensaje puede ser nterceptado. 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 encrptado a través del canal de comuncacón, 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: la decodfcadora D nn 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 C nn A nm, 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 del mensaje se tene D nn X nm, donde la prmera cuenta eventualmente con valores no enteros. Por otro lado, 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 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.

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 5 de grandes dmensones. Se debe consderar por otro lado que la multplcacón de matrces rectangulares presenta una complejdad de cálculo de Ο ( n ) 2 m 6, 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 1.. Q, donde 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 valores de sus celdas, tenendo en cuenta una matrz decodfcadora de 22 celdas como la de la expresón 4. D = a c b d (4) 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 5 La multplcacón de matrces ralas, o con una estructura defnda puede resultar muy convenente en cuanto a tempos de procesamento y almacenamento. No es este el caso. 6 Notacón utlzada en Ingenería de Software para denotar la complejdad algorítmca. En este caso esta magntud depende de la cantdad de flas y columnas de ambas matrces. nversa D = correcta para el ntento, el mensaje D 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. 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. Algortmo 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 esta, se podrá desencrptar cualquer texto codfcado X. Como se menconó en 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 7 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. 7 Lstado de vocablos en un doma partcular almacenados en un fchero o memora prncpal.

Obtener texto cfrado X Generar Nueva D Decodfcar D X = A Comparar Texto en A con dcconaro NO 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 Mejora para el Algortmo de Fuerza Bruta Decodfcada? SI Mostrar resultados Fgura 1. Dagrama de Flujo del 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 =1...Q. D para 5. Expermentacón y Resultado Obtendo Para el conjunto de expermentos se codfcó un texto de 40 caracteres, cuyos códgos ASCII se A dspuseron en una matrz 2 20. Se tomó una matrz codfcadora C 2 2, cuya nversa corresponde con la D matrz 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. 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 de pruebas a realzar Q. 6.1 Algortmo paralelo de fuerza 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 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 a probar en cada nodo esta dada por la expresón 6. Q c n = p D (6) 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) Con Q 1 =Q 2 =...=Q n 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. Q 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 Operatvo Lnux. (Deban 5) Número de Nodos 11 Procesador AMD Athlon (tm) 64 Proc 3200+ Mhz 2000.248 Cache 512Kb Memora RAM 1GB RED Ethernet a 100MBps Tabla 1. Hardware utlzado para los expermentos (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. Se escogó este sstema operatvo Lnux (Deban 5) por ser muy seguro y estable para nstalar los nodos del cluster. Tales computadoras están destnadas al dctado de clases en un laboratoro nformátco, y cuentan con una nstalacón del sstema operatvo Wndows(mr) XP. Con el objeto de respetar esta confguracón se crean nuevas partcones en los dscos rígdos, prevo a la nstalacón de LINUX. Para la admnstracón de dspostvos de almacenamento se utlza el protocolo NFS (Network Fle System). Este protocolo posblta el acceso de fcheros centralzados en una únca estacón en la red por parte de dstntos equpos. La asgnacón de dreccones IP de cada uno de los nodos del cluster se llevó a cabo por medo del protocolo DHCP (Dynamc Host Confguraton Protocol). DHCP asgna de manera automátca las IP a las máqunas que se conectan a la red LAN del cluster, por medo de una lsta de dreccones IP dnámcas que posee el servdor (en este caso el master). Cada nodo del cluster puede ser acceddo remotamente por medo del protocolo SSH (Secure Shell). Gracas a este protocolo es posble controlar de manera remota cualquer nodo del cluster, gestonar claves RSA de los msmos y copar archvos de manera segura medante FTP (Fle Transfer Protocol). Tambén es necesaro que certos datos de confguracón, tales como los nombres de usuaros y hosts sean admnstrados en forma centralzada. Para esto se utlza el protocolo NIS (Network Informaton Servce). Una vez establecdos estos servcos, se confgura el mddleware y software de aplcacón. 6.3 Infraestructura lógca de prueba: algortmo paralelo y mddleware Como en la codfcacón del algortmo seral, se utlza lenguaje C estándar para la codfcacón del programa paralelo, anexando una lbrería de paso de mensajes MPI [3][4] para asegurar la correcta nteraccón entre nodos. Esta lbrería es utlzada para permtr la transferenca de mensajes entre los dferentes procesos que ntervenen en la búsqueda, y presenta una nterfaz, donde se defne la sntaxs y semántca de las funcones contendas en la lbrería. 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 para cada matrz D y la posteror multplcacón por la matrz con el texto codfcado X. Se destaca que 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 decodfcacón. Se espera que el nuevo tempo de ejecucón del algortmo se vea reducdo al ser repartdo el trabajo en p cantdad de 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 t esp 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 p (9) 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 haya concludo con una decodfcacón extosa se debe detener el proceso en forma global: el master y los workers. Es decr, s el master recbe una comuncacón 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 la comuncacón de cada worker para realzar una nueva tarea de comuncacón y avsar sobre la contnudad del proceso. 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. NO 3 1 2 Obtener texto cfrado Envar texto a workers Envar rango de prueba 4 Consoldar datos 5 Decodfcada? SI 6 Matrz X decodfcada = A 7 Detener proceso Snc 1 Obtener texto cfrado X de master 2 Obtener rango de prueba 3 Generar Nueva D 4 Decodfcar D X = A 5Comparar Texto en A con dcconaro 6 Comuncar 7 Contnuar NO 8 Detener proceso Fgura 2. Dagramas de flujo para la ejecucón en paralelo de Fuerza Bruta. Izquerda: proceso master. Derecha: proceso(s) worker Se puede observar en la fgura 2 que esta 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: SI

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 consume 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. Expermentacón en la nueva arqutectura 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) 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 globales de cálculo tenendo en cuenta ejecucón paralela 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 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, 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 por Tempo Sncronzacón t (segundos) 1 2821.45 1.000 629.02 2.000 613.59 3.000 613.01 4.000 607.50 5.000 605.75 6.000 605.12 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 masterworker 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, +1 hasta que el master haya 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.