INSTITUTO POLITÉCNICO NACIONAL ALGORITMO PARA UN SISTEMA CRIPTOGRÁFICO BASADO EN MATRICES SOBRE CURVAS ELÍPTICAS

Tamaño: px
Comenzar la demostración a partir de la página:

Download "INSTITUTO POLITÉCNICO NACIONAL ALGORITMO PARA UN SISTEMA CRIPTOGRÁFICO BASADO EN MATRICES SOBRE CURVAS ELÍPTICAS"

Transcripción

1 INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN ALGORITMO PARA UN SISTEMA CRIPTOGRÁFICO BASADO EN MATRICES SOBRE CURVAS ELÍPTICAS T E S I S QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS EN INGENIERÍA DE TELECOMUNICACIONES PRESENTA: ING. JOSÉ ANTONIO LÓPEZ TOLEDO DIRECTOR DE TESIS: DR. HÉCTOR OVIEDO GALDEANO México D.F. Enero 2011

2

3

4 ÍNDICE RELACIÓN DE TABLAS Y FIGURAS...iv RESUMEN... v ABSTRACT... v PLANTEAMIENTO DEL PROBLEMA... vi OBJETIVO... vii JUSTIFICACIÓN... vii INTRODUCCIÓN... viii PRÓLOGO... x CAPÍTULO I FUNDAMENTOS TEÓRICOS 1.1. CRIPTOGRAFÍA CRIPTOSISTEMA CRIPTOANÁLISIS CRIPTOGRAFÍA CLÁSICA TEORÍA DE NÚMEROS ARITMÉTICA MÓDULO NÚMEROS PRIMOS INVERSO MULTIPLICATIVO DE UN MÓDULO RESIDUOS CUADRÁTICOS TEORÍA DE GRUPOS TEOREMA DE CAYLEY-HAMILTON i

5 CAPÍTULO II CRIPTOGRAFÍA DE CURVAS ELÍPTICAS 2.1. ALGORITOS DE EXPONENCIACIÓN PROBLEMAS DE LOS LOGARITMOS PROBLEMA DE LOS LOGARITMOS DISCRETOS PROBLEMA DE LOS LOGARITMOS DISCRETOS EN CURVAS ELÍPTICAS CRIPTOGRAFÍA DE CURVAS ELÍPTICAS OPERACIONES SOBRE UNA CURVA ELÍPTICA GENERAR PARES DE PUNTOS ORDEN DE UN PUNTO EN ECC PROTOCOLO DIFFIE-HELLMAN CRIFRADO DE MENEZES VANSTONE CON CURVAS ELIPTICAS CIFRADO DE ELGAMAL CON CURVAS ELÍPTICAS CAPÍTULO III CONSTRUCCIÓN DEL SISTEMA CRIPTOGRÁFICO 3.1. FORMAS PARA AUMENTAR LA SEGURIDAD DESCRIPCIÓN DEL SISTEMA CRIPTOANÁLISIS INTERCAMBIO DE LLAVE DIFFIE-HELLMAN CIFRADO DEL MENSAJE NIST ii

6 CAPÍTULO IV DESARROLLO DEL ALGORITMO 4.1. FORMACIÓN DE LA LLAVE PRIVADA CONSTRUCCIÓN DE LOS VECTORES PÚBLICOS A TRANSMITIR ALGORITMO DIFFIE-HELLMAN CIFRADO DEL MENSAJE CON UNA MATRIZ CONCLUSIONES TRABAJOS FUTUROS TRABAJOS DERIVADOS DE LA TESIS BIBLIOGRAFÍA APÉNDICE A. Algoritmo de Menezes-Vastone APÉNDICE B. Obtención de la Matriz Privada A APÉNDICE C. Criptoanálisis del sistema construido APÉNDICE D. Ejemplo de un criptoanálisis para el sistema propuesto APÉNDICE E. Recomendaciones de la NIST sobre campos primos APÉNDICE F. Curva elíptica con a=1, b=1 y p= APÉNDICE G. Código ASCII APÉNDICE H. Algunos puntos de la curva elíptica donde a=7, b=29 y p= APÉNDICE I. Diagrama del sistema criptográfico propuesto APÉNDICE J. Diagramas de flujos del sistema criptográfico APÉNDICE K. Programa del sistema criptográfico APÉNDICE L. Detección y corrección de errores iii

7 RELACIÓN DE TABLAS Y FIGURAS Tabla 1.1. Alfabeto de cifrado del César Tabla 1.2. Algoritmo de Euclides Tabla 1.3. Algoritmo de Euclides Extendido para encontrar el gcd(4864, 3458) Tabla 1.4. Cuadrados en Tabla 2.1. Construcción de valores de la ECC empleando el criterio de Euler y el símbolo de Legendre Tabla 2.2. Valores de y para el par de puntos de ECC Tabla 2.3. Pares de puntos de (2.10) [12] Tabla 2.4. Puntos generados dado un punto de ECC Fig Transmisión de mensajes utilizando un criptosistema asimétrico [3]... 3 Fig Conversación entre dos usuarios [6] Fig Valores que intervienen en la descripción del módulo [7]... 8 Fig Curva Elíptica Fig Operaciones de las curvas elípticas a) P + P = Fig Operaciones de las curvas elípticas Fig Operaciones de las curvas elípticas c) P + ( ) = Fig Operaciones de las curvas elípticas d) P + Q = Fig Operaciones de las curvas elípticas e) P + Q = R Fig Fig Gráfica de puntos de la curva elíptica a= 9, b = 7 y p = iv

8 RESUMEN La única constante en el mundo de la seguridad de la información, es la inseguridad, cualquier sistema de comunicación de red basa su protección de información en algoritmos planteados matemáticamente. El sistema criptográfico desarrollado en la tesis utiliza cifrado asimétrico, es decir, que se tienen dos llaves, una pública y la otra privada, este sistema criptográfico se construye con el uso de la técnica de curvas elípticas junto con matrices. La finalidad del sistema criptográfico construido es lograr una comunicación segura entre dos usuarios. Lo que se hace es generar la llave pública y privada, para obtener la primera llave se eligen números arbitrarios pertenecientes al campo empleado en el sistema y para generar la segunda llave se ocupa el teorema de Cayley Hamilton junto con la llave pública. Para autentificar a los dos usuarios que intercambiaran mensajes se utiliza el algoritmo de Diffie Hellman, estos mensajes emplean el cifrado de ElGamal, con todas las variantes que intervinieron en la construcción del sistema y para la verificación de esté. Se programó en Matlab y se comprobó el correcto funcionamiento del algoritmo así como la comunicación existente entre los dos usuarios. ABSTRACT The only constant in the world of information security is the insecurity; any network communication system builds the protection of its information on mathematical algorithms. The cryptographic system developed in this thesis uses asymmetric encryption, that is, it has two keys, one public and one private, the cryptographic system is constructed using the technique of elliptic curves with matrices. The purpose of the cryptographic system is built to achieve a secure communication between two users. What is done is to generate public and private key to obtain the first key is chosen arbitrary numbers belonging to the field used in the system and to generate the v

9 second key concern to the Cayley Hamilton theorem together with the public key. To authenticate the two users to exchange messages using the Diffie Hellman algorithm, these messages use the ElGamal encryption with all the variants involved in building the system and is checking. Was programmed in Matlab and found the proper functioning of the algorithm and the communication between two users. PLANTEAMIENTO DEL PROBLEMA El problema fundamental que enfrentan las redes de comunicaciones es la seguridad de la información. No existe ningún algoritmo que asegure que la transmisión dentro de un sistema de comunicaciones sea cien por ciento confiable. A pesar de esto la sociedad realiza actividades vía internet, por ejemplo el intercambio de información personal desde imágenes privadas hasta datos financieros. Los mecanismos desarrollados para proteger la privacidad en las redes se fundamentan en sistemas criptográficos para ocultar la información ante los intrusos. Sin embargo, al avanzar la tecnología ésta también es usada por los intrusos para romper la seguridad de los sistemas, por lo que cada vez se desarrollan sistemas criptográficos basados en matemáticas más complejas. Con la aparición de las computadoras las técnicas de criptografía clásica para el cifrado de información presentan vulnerabilidad por lo que el cifrado por flujo y bloques es utilizado para contrarrestar esta situación, pero otra técnica que se ha empezado a utilizar es la criptografía de curvas elípticas para el cifrado de mensajes en donde el tamaño de las llaves es pequeña comparada con otras técnicas y está fue elegida para solucionar problemas de seguridad en las comunicaciones. El cifrado de las curvas elípticas recae en la solución del problema de los logaritmos discretos en curvas elípticas. vi

10 OBJETIVO Propuesta de un algoritmo para un sistema criptográfico basado en matrices sobre curvas elípticas para el intercambio de información entre dos usuarios. JUSTIFICACIÓN El impacto que ha tenido Internet en la vida de las personas es enorme, es un medio global que permite de una manera fácil la comunicación en todo el mundo. Todas las actividades que se pueden realizar vía Internet implican privacidad como son: datos personales en una red social, envío de s o el manejo de dinero (transferencias electrónicas, compras, etc), estos deben de contar con los mecanismos suficientes para que la información sea segura, pero esto es difícil ya que siempre habrá interesados en violar esta seguridad, por lo que la construcción de estos mecanismos es un proceso continuo. No hay un sistema de comunicación que sea cien por ciento seguro por tiempo indeterminado. Cualquier tipo de red ya sea alambrada o inalámbrica es propensa a los ataques de intrusos ya sea para provocar un daño o solamente por diversión. Las redes inalámbricas (celular, BlueTooth, WiMAX, etc.) presentan mayor vulnerabilidad que las alambradas, entre otras cosas debido a la movilidad y a que la señal viaja por el espacio libre donde cualquier intruso tiene acceso a dicha señal. La aportación en este trabajo consiste en la construcción del sistema criptográfico así como de la programación para verificar el correcto funcionamiento de éste, los beneficios que ofrece es lograr una comunicación de información segura entre usuarios con el empleo de llaves tanto pública como privada éstas comunicaciones pueden ser por ejemplo las mencionadas en los párrafos anteriores. Otro beneficio es al usar matrices se puede generar n-tuplas de puntos lo que reduce el tiempo de cálculo puesto que a partir de un punto se pueden calcular los demás por último el sistema puede utilizar campos primos definidos por la NIST. vii

11 INTRODUCCIÓN En la publicación del periódico la Jornada [1], se informa que en México 32.8 millones de personas tienen acceso a Internet, lo que representa un aumento de 20.6% con relación a lo registrado en 2009, de acuerdo con la Encuesta en Hogares sobre Disponibilidad y uso de las Tecnologías de la Información. Respecto a la conectividad, INEGI y COFETEL señalan que 6.3 millones de hogares cuentan con conexión a Internet, para representar 22.2% del total en México. Cada vez Internet toma mayor importancia, esto para acercar a los usuarios a los servicios que ofrece. Sin embargo el 5.0% de los usuarios de Internet, es decir, un millón 629 mil 150 personas, declaró haber comprado o pagado algo en línea por lo que el porcentaje de personas que realizan una transferencia electrónica es mínimo, esto debido a las inseguridad de las redes de comunicaciones. Son muchos los casos notificados de ataques a las redes cibernéticas por los llamados hackers. Un ejemplo es el del joven de secundaria entre los 15 y 16 años de edad que logró ingresar en las computadoras del Pentágono en Washington. Al cuestionar al joven los agentes de FBI se dieron cuenta que tenía un cómplice, un compañero de clase del colegio secundario Cloverdale High School, quien lo ayudaba a planear sus incursiones cibernéticas. Otro caso es el de Gary McKinnon, hacker Británico acusado por los E.U. de haber perpetrado el mayor ataque informático militar de todos los tiempos, quien se introdujo ilegalmente a 100 redes y más de 300 computadores de la NASA, el Ejército, la Marina, el Departamento de Defensa y la Fuerza Aérea Estadounidense, dañando la red informática de defensa que estuvo fuera de servicio por casi una semana, puso en jaque los sistemas militares, robando cientos de contraseñas, eliminó 1,300 cuentas de usuario. Si es procesado puede alcanzar hasta 70 años de cárcel. A principios de Febrero del 2010 John Chipman, director del Instituto Internacional de Estudios Estratégicos (IISS por sus siglas en inglés) informó que con el uso de computadoras, una potencia extranjera puede inutilizar la infraestructura de un país, atacar la integridad de los datos militares internos de otra nación, intentar confundir sus transacciones financieras o lograr cualquiera de sus otros posibles objetivos. Esto es, un viii

12 ataque cibernético coordinado y masivo, y no el clásico lanzamiento de misiles, puede marcar el comienzo de las guerras en el futuro. Uno de los sucesos que ha causado gran impacto en el país es el Wikileak. En el periódico la Jornada [2] se menciona que se han filtrando más de 250 mil comprometedores cables diplomáticos estadunidenses. A las corporaciones no les conviene la difusión de este tipo de información puesto que es confidencial para el país, una forma de evitar la difusión es retirar los apoyos económicos a la organización de libertad de información (Wikileaks). Hackers cibernéticos anónimos han desestabilizado Wikileaks, pero han surgido sitios para que se conozcan las filtraciones más recientes. Con todo esto eventos se muestra que las comunicaciones de redes presentan alguna inseguridad por lo que cada vez se deben desarrollar sistemas criptográficos basados en matemáticas más complejas. ix

13 PRÓLOGO El presente trabajo tiene como finalidad lograr un intercambio de información segura entre dos usuarios para esto se propone un sistema criptográfico que emplea matrices y curvas elípticas. Esta tesis está conformada por cuatro capítulos: En el Capítulo I se abordan los fundamentos teóricos necesarios para el desarrollo del trabajo como son los conceptos de criptografía simétrica y asimétrica, introducción a la teoría de números, Teorema de Cayley-Hamilton. En el Capítulo II se explica cómo obtener los puntos de una curva elíptica utilizado la ecuación de Weierstrass, ya sea a partir de un punto dado o sin conocer ningún punto de la curva. Con el criterio de Euler y el símbolo de Legendre se distinguen los puntos que son de la curva de los que no pertenecen a ella. Se establecen las operaciones entre puntos de la curva elíptica como son la multiplicación, suma, etc. Se explican los procesos de Diffie- Hellman y de ElGamal. En el Capítulo III se describe la construcción del sistema criptográfico, que consiste en la creación de la matriz de clave pública y la construcción de la matriz de clave privada. Se describe un criptoanálisis. Se establecen los procesos de Diffie-Hellman y de ElGamal con matrices y curvas elípticas. En el Capítulo IV se desarrolla el algoritmo del sistema criptográfico en Matlab con un modelo de números no tan grandes a modo de laboratorio donde se observa el comportamiento del algoritmo propuesto. x

14 CAPÍTULO I FUNDAMENTOS TEÓRICOS 1.1. CRIPTOGRAFÍA La palabra criptografía según el Diccionario de la Real Academia, proviene de la unión de los términos (del griego kryptos, ocultar, y grafos, escribir ) que es: Arte de escribir con clave secreta o de un modo enigmático. Se ha convertido en una técnica que trata sobre la protección de la información. Hay dos personajes muy importantes para la criptografía, uno de ellos fue Claude Shannon quien en su trabajos de A Mathematical Theory of Communication (1948) y Communication Theory of Secrecy Systems (1949), sienta las bases de la Teoría de la Información y de la Criptografía. El segundo personaje en realidad es la pareja formada por Whitfield Diffie y Martin Hellman quienes en 1976 publicaron New directions in Cryptography, donde introdujeron el concepto de Criptografía Asimétrica, lo que permite revolucionar nuevas investigaciones para lograr una mayor seguridad y eficiencia para los sistemas criptográficos. Hay códigos que se encargan de cifrar y descifrar la información con la única finalidad de proporcionar una eficiencia en cuanto a la seguridad, es decir, garantizar el secreto en la comunicación entre dos usuarios. Como se citó anteriormente esto es de lo que se encarga la criptografía. También esta ciencia asegura que la información que se envía es auténtica en el doble sentido que el remitente sea quien dice ser y que el mensaje cifrado no haya sufrido modificaciones; las técnicas que se utilizan para romper los códigos de cifrado son conocidas como criptoanálisis, la agrupación de este término con la criptografía, a pesar de que no está reconocido en el diccionario es denominado criptología [3], [4]. 1

15 CRIPTOSISTEMA Un criptosistema es un sistema que toma información legible para convertirla en información no legible, o no entendible, y podemos definirlo como una quíntupla (M, C, K, E, D) [4]. Todo criptosistema para que sea válido debe de cumplir con la siguiente condición: D ( E ( m)) m (1.1) k k En donde en la expresión (1.1) se tiene un mensaje m, al cifrarse se emplea una clave k y al momento de desencriptarlo con la misma clave k, se debe obtener el mensaje original m. M representa el conjunto de todos los mensajes sin cifrar (lo que se denomina texto claro, o plaintext). C representa el conjunto de todos los posibles mensajes cifrados, o criptogramas. K representa el conjunto de claves que se pueden emplear en el criptosistema. E es el conjunto de transformaciones de cifrado que se aplica a cada elemento de M para obtener un elemento de C. D es el conjunto de transformaciones de descifrado, análogo a E. Se tienen dos tipos fundamentales de criptosistemas: los simétricos o de clave privada y los asimétricos o de llave pública. El primero emplea la misma clave k tanto para cifrar como para descifrar y el criptosistema asimétrico, emplea una doble clave (k p ; k P ) en donde k p es la clave privada y k P se conoce como clave pública, las cuales una de ellas sirve para la transformación E de cifrado y la otra para la transformación D de descifrado (véase Fig.1.1). 2

16 Fig Transmisión de mensajes utilizando un criptosistema asimétrico [3]. En la Fig. 1.1 el usuario B envía al usuario A su clave pública, K P. Después el usuario A codifica el mensaje y envía al usuario B el criptograma E ( m ) y por último el usuario B decodifica el criptograma empleando la clave privada K p. K p Los criptosistemas simétricos se pueden clasificar en dos tipos: cifrados por bloque y cifrados por flujo. Cifrado por bloque. En donde el mensaje que se codifica estará dividido en bloques del mismo tamaño, a cada uno de ellos se le aplicarán operaciones complejas como sustituciones, transposiciones. Los cifradores de flujo son algoritmos que convierten el texto en claro en texto cifrado bit a bit. Este tipo de cifrado funciona bien con datos en tiempo real como voz y video, donde en un momento sólo se conocen pequeñas partes de los datos. 3

17 CRIPTOANÁLISIS El criptoanálisis es el descifrado de los criptogramas por análisis y deducción, sin poseer los conocimientos previos de la clave. El descubrimiento de un algoritmo secreto de cifrado no se considera criptoanálisis ya que los algoritmos siempre son conocidos. Se puede llevar a cabo el proceso del criptoanálisis estudiando grandes cantidades de pares (mensaje, criptograma) generados con la misma clave. El mecanismo que se emplee para obtenerlos es indiferente y puede ser el resultado de escuchar un canal de comunicaciones, o de la posibilidad de que el objeto del ataque responda con un criptograma cuando se le envíe un mensaje. Si el sistema presenta una seguridad débil, será de menor complejidad obtener la clave empleada. Todas las técnicas que buscan exhaustivamente una clave se denominan de fuerza bruta. Fig Conversación entre dos usuarios [6]. En la Fig. 1.2 se observa que Bob y Alicia tienen una conversación y Darth es la persona que intercepta la información, en donde él puede realizar ataques pasivos o activos, un ataque pasivo es cuando se analiza el tráfico para poder leer y observar el contenido de la información pero sin alterar la conversación de Bob y Alicia, sin embargo un ataque activo es capaz de remplazar, modificar el mensaje y hasta de hacerse pasar por la persona. 4

18 Con la descripción anterior, para lograr una comunicación segura [7], [8] se debe de tener en cuenta lo siguiente. 1. Confidencialidad. Es la protección de los datos transmitidos de los ataques pasivos, es decir, que solamente las personas autorizadas (en nuestro ejemplo de la Fig. 1.2 son Bob y Alicia) verán el mensaje y para el intruso éste será ilegible. Otro aspecto de la confiablidad es la protección del flujo de tráfico a partir del análisis. 2. Integridad de datos. Nos indica que los datos del mensaje no han sido alterados por medios no autorizados, es decir, que el flujo del mensaje no ha sido modificado por Darth, lo que nos dice que el mensaje de Bob es correcto y que puede comunicarse con Alicia de una forma segura. 3. Autentificación de datos de origen. El usuario Alicia (destino) será capaz de verificar que los datos de Bob (remitente) fueron emitidos por él. 4. Entidad de autentificación. Corroborará la identidad de una entidad, Alicia debe estar convencida de la identidad de Bob. 5. No repudio. Permite probar la participación de las partes que intervienen en la comunicación, así cuando se envía un mensaje el receptor puede probar que es el supuesto emisor quien envió tal mensaje y viceversa. Todo sistema que almacene, procese o transmita información debe de cumplir con las siguientes condiciones. Debe de preservar la información frente a alteraciones, debidas a fallos en el software o en el hardware o provocadas por agentes externos (interrupciones en el suministro eléctrico o por los propios usuarios entre otros). Debe evitar accesos no autorizados tanto al sistema como a su contenido. El sistema debe garantizar que la información esté disponible cuando sea necesario. 5

19 Estos tres requerimientos están contemplados en los conceptos de integridad, confidencialidad y disponibilidad de la información respectivamente, y son los que hacen que podamos considerar seguro a un sistema. Todo el análisis que se realiza en un criptoanálisis es con por medio de procesos estocásticos. La Fig. 1.2 puede ser explicado por medio de probabilidades en donde el Darth es el que trata de filtrarse en la conversación y de que la probabilidad de que pueda debe de ser mínima, esto garantizará que el sistema utilizado para intercambiar información es segura CRIPTOGRAFÍA CLÁSICA Los sistemas de cifrado anteriores a la Segunda Guerra Mundial fueron considerados como clásicos. Con la aparición de las computadoras estos sistemas se hicieron vulnerables, perdieron su eficiencia. Los tres principales sistemas criptográficos empleados en ese tiempo fueron transposición, sustitución y el de ocultación. Método de transposición. Se modifica el orden natural de las letras, silabas o palabras que se encuentra en el mensaje. Un ejemplo de este método es la cifra de escítalo que consta de un rodillo de longitud y grosor determinados en donde el cifrado se basaba en la alteración del mensaje original introduciendo símbolos innecesarios que desaparecían al enrollar el mensaje en un rodillo. Si se interceptaba el mensaje era muy difícil descifrarlo si no se conocía el grosor y la longitud del rodillo. Método de sustitución. Consiste en remplazar por otros los símbolos del mensaje sin alterar su orden, en estos se encuentran los cifrados monoalfabéticos y los cifrados polialfabéticos. Los cifradores monoalfabéticos son los que establecen una única función de sustitución para todos los símbolos dentro de un mensaje, es decir, si al símbolo A le corresponde el 6

20 símbolo D, esta correspondencia se mantiene para todo el mensaje. Un claro ejemplo es el algoritmo de Cesar [6] el cual aplica un desplazamiento constante de tres caracteres al texto en claro, de forma que el alfabeto de cifrado es el mismo que el alfabeto del texto en claro pero desplazado 3 espacios hacia la derecha módulo n. Tabla 1.1. Alfabeto de cifrado del César. Alfabeto A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z Cifrado D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z A B C Utilizando la Tabla 1.1. podríamos cifrar los mensajes. A modo de ejemplo un mensaje claro HOLA A TODOS en donde el texto cifrado es: KRND D WRGRV. Para los cifradores polialfabéticos, es cuando se implementan múltiples alfabetos. Un ejemplo es el cifrado de Vigenère [8] en las cartas del 6 de noviembre de 1824 de José M. Michelena ministro plenipotenciario de México en Inglaterra al ministro de Relaciones Exteriores de México. Métodos de ocultación. Incluyen aquellos procedimientos en los que el remitente transmite el contenido del mensaje de forma oculta o disfrazada. En consecuencia, este sistema abarca todas las artimañas empleadas a lo largo de la historia para conseguir que un criptograma sea leído únicamente por el destinatario, impidiendo su comprensión a quien no le ha sido enviado TEORÍA DE NÚMEROS ARITMÉTICA MÓDULO La aritmética modular es una parte de las Matemáticas útil en la criptografía. Ésta permite realizar cálculos complejos, manteniendo siempre una representación numérica compacta y definida, puesto que sólo maneja un conjunto finito de números enteros. Esta aritmética es conocida como aritmética de reloj debido al parecido que se tiene para contar el tiempo. Por ejemplo, si son las 03:23:59 y pasa un segundo, decimos que son las 03:24:00, y no las 03:24:60. 7

21 Dado cualquier entero n y cualquier entero a, si se divide a entre n, habrá un entero cociente q y un entero residuo r que obedecen la siguiente expresión: donde y donde es el entero el cual corresponde a un menor o igual a x. Fig Valores que intervienen en la descripción del módulo [7]. La Fig. 1.3 muestra que dados dos enteros a y n positivos, siempre es posible encontrar q y r que satisfagan la relación (1.2) en donde a puede caer en algún lugar de la recta (en la figura se muestra que a cae en el lado positivo). En la recta que inicia en cero se procede a ubicar n, 2n, 3n, qn tal que. La distancia desde qn hasta a es r, por lo tanto se han encontrado los valores únicos de q y r. Para el ejemplo se emplea (1.2): Un conjunto de números enteros se denota como. Se define a mod n como el residuo de dividir a entre n, donde. Así que para cualquier entero a se puede escribir como sigue:. 8

22 Los ejemplos anteriores se pueden escribir de la forma siguiente: 15 mod 8 = 7-15 mod 8 = 1 Los números enteros módulo n son denotados como, donde el conjunto = {a 0 a n 1}. Un grupo bajo adición módulo n con identidad 0 se representa = {a 1 a n 1}. Un grupo multiplicativo módulo n con identidad 1 se representa = {a 1 a n 1 y (greatest common divisor) gcd(a, n) = 1}.En particular, si n es un primo,. Dos enteros a y b se dice que son congruentes módulo n si esto se puede escribir como. Como ejemplo donde NÚMEROS PRIMOS Un número primo es un entero mayor que 1 cuyos únicos factores son 1 y el mismo número. En criptografía, especialmente en criptografía de llave pública, se utilizan primos grandes. Dos números son primos relativos entre sí cuando no comparten ningún factor en común, excepto el 1. En otras palabras si el gcd de dos números a y n es igual a 1. Esto se puede escribir gcd(a,n) = 1. Ejemplo: Los números 15 y 28 son primos relativos Una forma de calcular el máximo común divisor es utilizar el algoritmo de Euclides que es de la forma siguiente [9]: 9

23 gcd(a, b). (1.3) ALGORITMO 1. El algoritmo de Euclides puede ser escrito: ENTRADA: Dos números enteros no negativos a y b con a b. SALIDA: El máximo común divisor de a y b. Mientras b 0 va a hacer lo siguiente: r a mod b a b b r. Regresa a. Para encontrar el gcd(4864, 3458), se recurre a utilizar el Algoritmo 1. Tabla 1.2. Algoritmo de Euclides. r a b En la Tabla 1.2. siguiendo el algoritmo se encuentra el gcd(4864, 3458) = 38. Para una correcta interpretación del Algoritmo 1 el procedimiento fue el siguiente: Si a b entonces 1) Se efectúa la división entera a entre b y se obtiene un cociente c 1 y un residuo r 1 2) Se efectúa la división del divisor b entre el residuo r 1 y se obtiene un cociente c 2 y un residuo r 2 3) Se divide r 1 entre r 2 y se obtiene c 3 y r 3 4) Así reiteradamente hasta llegar a una división exacta, de resto cero. 10

24 5) El último divisor empleado es el gcd. Ejemplo: gcd(4864, 3458) 1) 2) 3) 4) 5) 6) gcd(4864, 3458) = INVERSO MULTIPLICATIVO DE UN MÓDULO La identidad multiplicativa de un número es uno, tal que el inverso multiplicativo de un número por ejemplo 4 es ¼ porque 4 * ¼ = 1. En el mundo de módulo esto es más complicado. El problema es encontrar una x entera tal que donde el inverso multiplicativo de a módulo n es un entero tal que la expresión anterior se cumpla, tal que si existe una x esta será única y donde a se dice que es invertible. 11

25 que se puede escribir de la forma El inverso de un módulo hay veces que sí tiene solución y otras no. Por ejemplo el inverso de 5 mod (14) = 3. En general la expresión (1.4) tiene una única solución si a y n son primos relativos, pero si no son no existirá una solución. Para encontrar el inverso módulo (n) uno de los métodos utilizados es el algoritmo de Euclides Extendido. Este método obtiene el máximo común divisor d de dos enteros a y b y también enteros x y y donde se cumple la siguiente condición [9] ax + by = d (1.5) Donde a la ecuación (1.5) se le conoce como "Identidad de Bezout. ALGORITMO 2. Algoritmo de Euclides Extendido. ENTRADA: Dos números enteros no negativos a y b donde SALIDA: d = gcd (a,b) y enteros x,y que satisfacen ax + by = d x 2 1, x 1 0, y 2 0, y 1 1 mientras b > 0 va hacer lo siguiente regresa (d, x, y) Si b = 0 entonces d a, x 1, y 0 regresa (d, x, y). 12

26 Tabla 1.3. Algoritmo de Euclides Extendido para encontrar el gcd(4864, 3458). q r x y a b x 2 x 1 y 2 y El máximo común divisor gcd(4864,3458) = 38. Donde la expresión (1.5) resulta (4864)(32) + (3458)(-45) = 38; los valores a y b se toman de la expresión (1.4) RESIDUOS CUADRÁTICOS Dada una clase residual módulo p y un entero. Se considera un residuo cuadrático h si éste tiene una raíz cuadrada módulo p, esto es, si existe un valor de satisfacerá mod (p) de lo contrario h no será un residuo cuadrático. mod(p) Dado un primo impar p y un entero cualquiera h, el símbolo de Legendre [9] está definido como 1 si h es un residuo cuadrático mod( p) h 1 si h no es un residuo cuadrático mod( p) (1.6) p 0 si h es divisible por p 13

27 Ejemplo: Calcúlese los cuadrados en, para p=5, 7, 1. Tabla 1.4. Cuadrados en k 2 mod k 2 mod k 2 mod Para la obtención de la Tabla 1.4, los valores que toma k serán menores a mod (p) y los residuos cuadráticos serán los que se repitan más de una vez en la tabla. A continuación se muestra la lista, donde la mitad de los enteros de p son residuos cuadráticos y no cuadráticos. p = 5 p = 7 p = 11 Residuos cuadráticos {1, 4} {1, 2, 4} {1, 3, 4, 5, 9} Residuos no cuadráticos {2, 3} {3, 5, 6} {2, 6, 7, 8, 10} Se pueden encontrar los residuos cuadráticos también con el criterio de Euler que dice lo siguiente: Sea p un número primo impar y h un entero cualquiera coprimo (primo relativo) con p. Entonces donde al resolver la ecuación (1.7) se obtendrán valores de 1, -1 y 0 para tomar la decisión de que si es o no un residuo cuadrático se utiliza la expresión (1.6). 14

28 Para que exista un residuo cuadrático se tiene que satisfacer la siguiente congruencia mod (p). Para todos los enteros, la ecuación anterior se expresa como mod (p) donde se tendrá cero o dos soluciones, por lo que se puede expresar mod (p) como ( mod (p) TEORÍA DE GRUPOS Los sistemas criptográficos se construyen de las estructuras algebraicas más utilizadas: la estructura de grupos. Se denomina grupo abeliano a un conjunto no vacío dotado de una operación binaria * que cumple [3], [4], [10]: (Existencia de una identidad) la existencia de un elemento tal que a*e =e*a=a para toda a (Existencia de inversos) Para cada a existe un elemento b llamado el inverso de a tal que a*b=b*a =e. (Conmutativa) a*b=b*a para toda TEOREMA DE CAYLEY-HAMILTON El teorema de Cayley-Hamilton establece que una matriz cuadrada K satisface la ecuación característica: si p(λ) = det(k λι) es el polinomio característico de K, por lo tanto p(k) es una matriz nula. p( ) det( K I) k k k n k k k n k k k n1 n2 nn (1.8) 15

29 En algunas situaciones el teorema de Cayley-Hamilton es útil para calcular la inversa de una matriz. Si existe y p(k) = 0, entonces p(k) = 0. Para ilustrar esto, si se efectúa el determinante (1.8) de forma general se tiene [10] (1.9) al sustituir por la matriz K en el polinomio (1.9), el resultado es una matriz nula: (1.10) donde sí se multiplica (1.10) por resulta: (1.11) (1.12) 16

30 CAPÍTULO II CRIPTOGRAFÍA DE CURVAS ELÍPTICAS 2.1. ALGORITOS DE EXPONENCIACIÓN Se tienen dos números naturales a y b, se desea calcular a b lo más sencillo es multiplicar a por si mismo b veces, sin embargo para valores muy grandes de b, se puede hacer lo siguiente: Se considera la representación binaria de b (2.1) Se expresa la potencia que se desea calcular en función de la representación antes citada. (2.2) La variable b i solamente puede valer 0 ó 1, por lo que para calcular a b solo se debe de multiplicar los correspondientes a los dígitos binarios de b que valgan PROBLEMAS DE LOS LOGARITMOS PROBLEMA DE LOS LOGARITMOS DISCRETOS El problema inverso de la exponenciación es el cálculo de los logaritmos discretos. Considérense dos números a y b y el módulo n. 17

31 Se define el logaritmo discreto de a en base b módulo n de la siguiente forma: (2.3) Si se conoce en (2.4) b y c, computacionalmente es fácil calcular a, sin embargo dados a y b, se considera intratable (computacionalmente hablando) determinar n PROBLEMA DE LOS LOGARITMOS DISCRETOS EN CURVAS ELÍPTICAS Para un punto p cualquiera de una curva elíptica (en breve se dejará claro a qué tipos de curvas nos referimos) en donde pertenece al conjunto, por lo que si se dispone de un punto, debe existir un número entero k tal que. El problema de los logaritmos discretos en curvas elípticas consiste precisamente en hallar el punto k a partir de p y q CRIPTOGRAFÍA DE CURVAS ELÍPTICAS La Criptografía de Curva Elíptica es una de las disciplinas más prometedoras en el campo de los cifrados asimétricos. Una de las mejores técnicas es la criptografía de curvas elípticas ECC (Elliptic curve cryptography) planteada por Koblitz y Miller. Su implementación suele resultar tanto o más eficiente que la aritmética modular, y además con claves mucho más cortas. Una curva elíptica se puede definir [3] por: y x ax b (2.5) 18

32 en donde (2.5) es llamada ecuación de Weierstrass, con ésta ecuación las graficas de las curvas que se obtienen poseen la característica de ser simétricas con respecto al eje x. Para que las curvas elípticas sean consistente tiene que cumplir con la discriminante: condición 4a 3 27b 2 0 (2.6) al cumplir con la condición anterior la gráfica obtenida no tendrá puntos singulares, es decir, que los factores del polinomio de la ecuación (2.5) no son factores repetidos por lo consiguiente en el eje de las abscisas no existirán dos raíces idénticas, entonces los puntos de la gráfica de la curva elíptica no tendrá puntos singulares, constituirá un grupo con la operación suma, una de las propiedades de las curvas elípticas que más adelante se menciona. Fig Curva Elíptica. Para graficar la Fig. 2.1 se utilizaron (2.5) y (2.6).Los valores que se asignaron en (2.5) fueron: a 1; b 1 19

33 por lo tanto (2.5) resulta y x x 1 sobre (2.7) La Fig. 2.1 corresponde a la ecuación (2.7) en donde la condición (2.6) se cumple. Existe un punto especial O, llamado punto al infinito, es decir, es un punto imaginario situado sobre el eje x a una distancia infinita por lo que no tiene un valor en concreto, con el punto especial más la operación suma, es lo que se denomina grupo de curva elíptica E(R). Las curvas elípticas es un grupo finito generado por n, siendo n un número primo impar [4]. Los pares de puntos que se obtendrán estarán definidos sobre este campo, cumpliendo con la restricción 0,1,..., p 1 donde p es un número primo impar [5]. Por lo tanto la curva p elíptica definida en p es 2 3 y x ax b mod( p) (2.8) en donde para formar las parejas de puntos ( x, y) x, y de la curva Elíptica E ( ) se utilizará la ecuación (2.5) siempre y cuando se cumpla la condición p p 3 2 4a 27b 0(mod p). (2.9) Al conjunto de los pares de puntos de E ( p ) se agrega el punto al infinito OPERACIONES SOBRE UNA CURVA ELÍPTICA Las operaciones que se pueden realizar en una curva elíptica [3], [11] son la suma y la multiplicación entre puntos de una curva. Se tienen que considerar las siguientes propiedades: 1.- Identidad es el elemento neutro. P P P para toda P E( ). 20

34 2.- Negativos Si P ( x, y) E( ), entonces ( x, y) ( x, y). El punto ( x, y) es denotado por P. 3.- Adición de puntos Considérese P ( x, y ) E( ) y Q ( x, y ) E( ) donde P Q. Cuando P+Q= ( x, y ) y2 y 1 y2 y 1 x3 x1 x2 y y3 ( x1 x3 ) y1. x2 x1 x2 x1 4.- Suma de puntos consigo mismos Considérese P ( x, y ) E( ) y el valor de a de la ecuación (2.5) x1 a 3x1 a y1 2y1 x 2 x y y ( x x ) y. Las propiedades de las curvas elípticas se pueden representar gráficamente, esto considerando dos puntos P(x 1, y 1 ) y Q(x 2, y 2 ) pertenecientes a la curva. Si se suma un punto consigo mismo, es decir P+P, entonces la recta que se traza es la tangente a P (véase Fig. 2.2 a). Dado un punto P, definimos su opuesto, que se denota como y que se obtiene al trazar una línea vertical en P donde lo que varía es la ordenada de P (véase Fig. 2.2 b). El elemento neutro se obtiene de la suma de un punto con su opuesto. La línea que pasa por ambos puntos se pierde en el infinito, de forma que se agrega este punto a la curva para obtener el neutro, al que se llama punto al infinito (véase Fig. 2.2 c). Cuando se desea calcular P más Q y la tangente a la curva es una recta vertical. Esto ocurrirá cuando la ordenada de P sea 0. En este caso la recta se pierde en el infinito (véase Fig. 2.2 d). 21

35 Dados dos puntos P y Q pertenecientes a la curva, se traza la recta que pasa por ambos y se obtiene un tercer punto, al trazar la vertical en este punto se obtiene el punto R (véase Fig. 2.2 e). y x a) P + P = y x b) 22

36 y x c) P + ( ) = 0 y x d) P + Q = 0 23

37 y x e) P + Q = R Fig Operaciones de las curvas elípticas GENERAR PARES DE PUNTOS Para generar los pares de puntos de la curva E ( p ) hay dos formas [3]: Sin conocer ningún punto de la curva Conociendo un par de puntos de la curva Lo primero que se hará es generar los puntos sin conocer ningún punto de la curva. A modo de ejemplo en la ecuación (2.8) se sustituirá por los siguientes valores y se verifica si la condición (2.9) se cumple: La ecuación resultante es: a 1, b 1 y p z y x x 1 mod(23). (2.10) 24

38 Una vez que se tiene la ecuación de Weierstrass (2.8) definida en un campo cuyos valores en nuestro caso serán menores a 23, se procede a calcular las parejas de puntos que pertenezcan a E ( p). Tabla 2.1. Construcción de valores de la ECC empleando el criterio de Euler y el símbolo de Legendre. x z Residuos x z Residuos Para realizar el cálculo de los puntos se construye la Tabla 2.1 de la siguiente manera: En la columna 1 se escriben los valores de x con x p dado que se está trabajando con aritmética módulo 23. Se evalúa la ecuación (2.10) con los valores de x, el resultado se asigna a la variable z. 25

39 Se obtienen los residuos cuadráticos y no cuadráticos, para ello se utiliza el criterio de Euler (1.6) y el símbolo de Legendre (1.5) en donde la variable h será sustituida por la variable z. Para encontrar los puntos de la curva elíptica se utilizó la fórmula siguiente: y x h h h h h h * 2 * * 2 * * 2 * (1 23) mod(23) 1; (2 23) mod(23) 4; (3 23) mod(23) 9; y así sucesivamente. En la tabla siguiente se observan los resultados que se obtuvieron. Tabla 2.2. Valores de y para el par de puntos de ECC. y h * y h *

40 El procedimiento para construir los puntos (x,y) de la ecuación (2.10) es el siguiente: Considérese el valor de h * obtenido anteriormente y los valores x y z de la tabla 2.1. p=23 for i = 1 to length (x) if h * ( i) z( i) then point (x(i),mod(y(i),p)) and point (x(i),mod((p-y(i)),p) end end Tabla 2.3. Pares de puntos de (2.10) [12]. Todos los puntos mostrados en la Tabla 2.3.de la primer columna pertenecen a la curva elíptica definida en la ecuación (2.10), los puntos encontrados son. En la segunda columna aparece el orden del punto el cual se explica en el tema Generar los puntos de la curva elíptica conocido un punto (x, y). Para que se puedan generar los puntos a partir de uno dado [3], [12], se apoya todo el cálculo con las operaciones que se emplean en las curvas elípticas; la adición de puntos y la suma de puntos consigo mismos, en todo este proceso se utiliza el algoritmo de Euclides extendido. 27

41 Por ejemplo, considere el punto P=(x 1,y 1 ) = (1,7) 23 el cual pertenece a la Tabla 2.3, la ecuación de ECC utilizada es (2.10), en donde a partir de éste se encontraran los demás puntos de la curva elíptica. El procedimiento es sumar k veces el punto, es como multiplicar P por un escalar k. suponiendo que solo se conoce el punto P=(x 1,y 1 ) = (1,7) 23, éste punto pertenece a la ecuación (2.8) donde propiedad 4 de las operaciones de las curvas elípticas que es:., lo que se hace primero es emplear la x w 2x y y w( x x ) y (2.11) donde 2 3x1 a w 2y 1 por ejemplo El resultado de la ecuación (2.12) es una fracción y puesto que se trabaja con números 23 esto no es posible. Por lo que se debe de encontrar el inverso multiplicativo se optó en utilizar el algoritmo de Euclides Extendido citado en el capítulo 1, para esto los valores que toma la entrada del algoritmo son 14 del denominador de la variable w y 23 del módulo de la curva elíptica, empleando la ecuación (1.5) que es: 28

42 ax + by =d el resultado del algoritmo de Euclides Extendido es: (23)( )+ (4)(5) = 1. (2.13) Al obtener un resultado igual a 1, éste nos indica que tiene inversa multiplicativa vista en el capítulo 1, es conveniente escoger de la ecuación (2.13) el valor positivo de la variable x o y de lo contrario se tiene que aplicarle al valor de la variable la operación módulo (p), por tales motivos se escogió el valor de la variable y entonces el resultado de (2.12) es: Sustituyendo el valor de la variable w encontrada en la ecuación (2.11) para hallar el valor de la abscisa y la ordenada que pertenece a la curva elíptica. ( x x ) y Con el cálculo anterior se encontró el segundo punto generado a partir del punto P= (x 1,y 1 ) = (1,7) 23 que es (7,11) esto es 2P, se observa en la Tabla 2.4 que el punto pertenece a la ECC. Para calcular los demás puntos se utiliza la propiedad 3 de las operaciones de las curvas elípticas, esto debido a que se tienen ya dos puntos conocidos, con los puntos ya calculados se hace lo siguiente: P ( x, y ) E( ) y Q ( x, y ) E( ) donde P Q. Cuando P+Q=( x, y ) por lo tanto P (1,7) Q (7,11)

43 La propiedad 3 de las operaciones de ECC es: donde x t x x y y t( x x ) y (2.14) t y x y x con los puntos P y Q conocidos t resulta: El mismo procedimiento que se utilizó para el cálculo de la variable w es el que se aplica la variable t, entonces el resultado del algoritmo de Euclides Extendido es: (23)( ) + (6)(4) = 1. (2.16) Se toma de la ecuación (2.16) el valor que corresponde a la variable y. El resultado de la ecuación (2.15) es: Se calcula ahora el puntos (x 3, y 3 ) para lo cual se emplea (2.14).. Entonces el punto 3 de la curva elíptica a partir del punto (1, 7) es (18, 20). Ahora se calcula k =4, es decir, el cuarto punto donde se tiene: 30

44 P ( x, y ) E( ) y Q ( x, y ) E( ) donde P Q. Cuando P+Q=( x, y ) por lo tanto P (1,7) Q (18,20). 3 3 A partir de las relaciones (2.14), para encontrar (x 3, y 3 ) se consideran los puntos P y Q obtenidos anteriormente, así que se tiene: y x y x El resultado de algoritmo de Euclides Extendido es: (23)(3) + (17)( )= 1. Continuando resolviendo la ecuación (2.7) donde se toma el valor de y= anterior que corresponde a la solución del algoritmo de Euclides Extendido esto es: de la expresión Se calcula ahora el puntos (x 3, y 3 ) utilizando (2.14) El cuarto punto de la curva a partir del punto dado es (17, 20) El procedimiento continúa sucesivamente hasta que se encuentre el negativo del punto dado, es decir, el punto (x, y) del primer punto. Esta es la forma de encontrar todos los puntos que se muestra la Tabla

45 De la Tabla 2.3 el punto que se escogió como punto generador P = (1,7) 23 es de orden 28 incluido el punto al infinito, es decir, que se generarán 28 puntos en total como se ve en la Tabla 2.4. En la tabla 2.4 se muestran todos los puntos calculados a partir del punto P=(x 1,y 1 ) = (1,7) 23. El valor k que se observa en la tabla representa la operación de sumar k veces el punto dado. Se puede notar que son 27 los puntos encontrados, más el punto especial hacen en total 28 puntos. Tabla 2.4. Puntos generados dado un punto de ECC ORDEN DE UN PUNTO EN ECC La adición de un punto consigo mismo genera un nuevo punto como se ha mencionado anteriormente, sin embargo siempre va existir un momento en el que al añadir el punto así mismo se generará un punto al infinito. El orden de un punto P es el menor número positivo k, tal que kp= O. 32

46 En la Tabla 2.3 se observa cuál es el orden de cada punto que pertenece a la curva elíptica, es decir, que si se escoge un punto de esta Tabla y a partir de éste se realizan los cálculos que se citaron anteriormente se obtendrá la Tabla 2.4 y Fig Puntos graficados de la Tabla 2.3. x En la Fig. 2.3 se observa que los puntos son simétricos si se traza una línea horizontal en y=11.5, solamente un punto no tiene simetría, todos los puntos que se graficaron están contenidos en la Tabla 2.3 donde se tienen dos valores idénticos de abscisa y por supuesto los valores de las ordenadas deben de ser diferentes para que den la simetría, el punto que solamente tiene un valor de abscisa es (4,0) y por lo tanto es el que no tiene simetría. El orden de una curva elíptica es denotada es decir, el número de puntos incluyendo el punto al infinito, esto es: = donde = orden del punto generador = cofactor que son los factores de. 33

47 Como un ejemplo en la Tabla 2.4 el punto conocido fue (1, 7) a partir de éste se generaron 28 puntos incluyendo el punto al infinito entonces Se sabe que = 28 ; Los parámetros necesarios para que se puedan generar los puntos [13] a partir de un punto generador son los siguientes: donde T= (p, a, b, G,, ) (2.18) p: es el tamaño del campo definido por el módulo a, b: son los coeficientes definidos en la curva E G: es el punto generador : es el orden del punto generador : es el cofactor. Estos parámetros pueden ser públicos, tienen que ser compartidos por las entidades que utilizan el criptosistema en particular, es necesario decir que la seguridad no depende de estos parámetros secretos. Para generar la Tabla 2.4 los valores que toma la expresión (2.18) son: T= (23, 1, 1, (1, 7), 28, 1). 34

48 2.4. PROTOCOLO DIFFIE-HELLMAN Este protocolo es empleado para el intercambio de llaves [3], [14] con la finalidad de que se pueda establecer una conversación entre dos usuarios en donde para el caso de un criptosistema asimétrico solamente la llave pública viaja en el medio. Al utilizar este protocolo en las curvas elípticas el procedimiento es el siguiente: considérese que se tienen dos usuarios los cuales son Alicia y Bob. Cualquiera de los dos escoge un punto x de la curva elíptica (2.8) y lo trasmite a la otra parte. Alicia y Bob cada uno de ellos escoge al azar un número enteros e y f. Alicia calcula ex y se lo transmite a Bob. Bob calcula fx y se lo transmite a Alicia. Alicia calcula efx. Bob calcula fex. En el procedimiento anterior se nota que lo transmitido es la llave pública x también ex y fx, los enteros e y f son la llave privada de Alicia y Bob respectivamente por lo que no se transmiten CRIFRADO DE MENEZES VANSTONE CON CURVAS ELIPTICAS Este criptosistema es utilizado para llaves públicas, es una variante del protocolo de ElGammal. Como el criptosistema de Menezes-Qu-Vanstone (MQV) [3], [15] es empleado para transmitir información sobre puntos de una curva elíptica entonces estos se deben de construir a partir de la ecuación (2.8). 35

49 El procedimiento del criptosistema es el siguiente: Se tienen las siguientes llaves: Llave privada Llaves públicas Para el encriptamiento y el desencriptamiento de un mensaje cuyo texto son dos números enteros es: Encriptamiento Texto plano x 1, x 2 1. Se escoge una llave de sesión secreta 2. Se resuelve. 3. Se resuelve 4. Se resuelve 5. Se resuelve Los puntos cifrados son Desencriptamiento Se parte de los puntos cifrados 1. Se resuelve 2. Se resuelve. 3. Se resuelve Recuperación del texto plano x 1, x 2. Véase el Apéndice A, donde se muestra un ejemplo de este algoritmo. 36

50 2.6. CIFRADO DE ELGAMAL CON CURVAS ELÍPTICAS Los problemas de logaritmos discretos en curvas elípticas basan su seguridad en el cifrado de ElGamal [3], [16] el cual es utilizado en criptosistemas asimétricos. Este cifrado consiste en representar un texto claro m como puntos de la curva elíptica, el proceso es el siguiente: Se debe de expresar el texto claro m como un número entero. Para esto se considera un alfabeto de N letras, cada carácter del alfabeto tomará un valor entero Cuando se forman bloques de texto la longitud de éste se representa como l, entonces considérese un bloque de texto como donde es el alfabeto con valores enteros, para realizar la codificación del bloque del texto se hace de la siguiente manera: (2.19) Nota: si el texto solamente tiene un carácter, no es necesario realizar la codificación anterior entonces. Para cifrar la expresión (2.19) se hace de la siguiente manera: Se ponen de acuerdo ambas partes donde se hace el intercambio del mensaje para elegir una llave de sesión que se denotada como. El número de bloques del texto será el número de puntos (x, y) a encontrar, el proceso para colocar sobre los puntos de la curva es el siguiente: Considérese la ecuación mod (p) de curvas elípticas donde {x j =gw+j posteriormente se procede encontrar el valor de ; este valor será la coordenada de un punto de la curva elíptica y para localizarlo se tomará el valor de la y correspondiente que aparece en la tabla construida con los puntos de la curva. Este punto (x, y) representa el texto claro m. 37

51 Para convertir los puntos al mensaje original se hace: Por último se utiliza el alfabeto N para sustituir los valores enteros encontrados y tener el mensaje original. 38

52 CAPÍTULO III CONSTRUCCIÓN DEL SISTEMA CRIPTOGRÁFICO 3.1. FORMAS PARA AUMENTAR LA SEGURIDAD Existen varias opciones para aumentar la seguridad de un sistema criptográfico basado en curvas elípticas. La más simple es aumentar los valores de la curva elíptica definido por el problema, pero se necesita un esfuerzo computacional elevado para resolverlo. Sin embargo si se utiliza la NIST (National Institute of Standards and Technology) [15], [17] se encuentran definidos los campos primos y binarios en donde se puede trabajar con cualquiera de estos, así que ésta es una buena alternativa para evitar este problema. Otra opción es transmitir varios puntos de la curva elíptica de forma independiente, como se vió en el capítulo anterior en donde estos se calculan aprovechando la información de los puntos y así reducir la complejidad de los siguientes puntos. Otra forma es definir el problema de logaritmos discretos con curvas elípticas basadas en matrices, por lo que se tendrán n-tuplas de puntos DESCRIPCIÓN DEL SISTEMA. Considere una curva elíptica representada por #E define:, y n un entero positivo [14]. Se n n Matn ( p )x E( q ) E( q ) (3.1) donde 39

53 Mat n : Es una matriz de tamaño n x n con elementos en y en p : Campo finito que contiene elementos q=p donde p es un valor primo. q : Campo finito que contiene q elementos. Para la ANSI X9.62 nos dice que q= p, p > 3 o de una potencia de 2. E q Es el conjunto de n-tuplas de puntos. ( ) n : Sea la matriz con elementos elegidos arbitrariamente. Una condición importante es que tenga inversa. En base a ésta matriz M se construye la matriz A (ver [10]) de la siguiente manera (véase Apéndice B). A a I a M a M a M (3.2) o 2 n n1 donde I es la matriz identidad, y los coeficientes son números escalares escogidos arbitrariamente. A esta matriz A se le conoce como llave privada. Así mismo, se construye el vector columna formado por n puntos de la curva elíptica. Estos puntos pueden ser tomados también arbitrariamente, pero por facilidad conviene elegir solamente algún punto (x, y) de la curva y a partir de éste construir los siguientes. Esto es, el punto seleccionado será el generador de los siguientes n-1 puntos (véase Capítulo II pág. 24). es un elemento conocido por los dos interlocutores en la conversación. Entonces se tiene: P 0 P [ a ] para 0 1 y = 1 ij, i, j n P n 1 Para obtener la llave pública, se multiplica la matriz A por el vector obteniéndose el vector columna. Obsérvese que la llave pública está constituida por puntos que pertenecen a la curva elíptica dada 40

54 0 A 1. n 1 (3.3) Esto es P 0 0 P ( a ) 1 = 1 oi a M a M a M P n 1 n 1 2 n n1. (3.4) 3.3. CRIPTOANÁLISIS Con el sistema criptográfico construido se puede realizar un criptoanálisis, que consiste en encontrar los valores de a i del sistema (3.4) donde son valores públicos. Observe que (3.4) es un sistema de n ecuaciones con n incógnitas. Como un ejemplo de criptoanálisis, consideremos una matriz pequeña M de 3x3. m m m M m m m m m m Entonces la llave privada A tendrá la forma A a I a M a M 2 o 1 2 y los vectores y son y M 2 es P0 0 P y Φ 1 1 P

55 x M M M Como todo punto de la curva elíptica es generador de puntos de la misma, entonces P P y P2 P0 donde y son enteros positivos. Entonces 1 0 a211 a1m 11 a0 a212 a1m12 a213 a1m13 P0 0 a a m a a m a a a m P. (3.5) a231 a1m31 a232 a1m32 a233 a1m33 a 0 P 0 2 Los valores a encontrar en (3.5) son los coeficientes a 0, a 1, a 2. Como 0, 1 y 2 están en función de un solo punto igual que en el vector, entonces se realiza lo siguiente: Existen, y, escalares enteros positivos tales que P0 0, P0 1 y P0 2. Entonces a211 a1m11 a0 a212 a1m12 a213 a1m13 P0 P0 a a m a a m a a a m P P a231 a1m 31 a232 a1m 32 a233 a1m 33 a 0 P 0 P 0 de aquí se obtiene a ( ) a ( m m m ) a a ( ) a ( m m m ) a a ( ) a ( m m m ) a (3.6) En el Apéndice C se muestra el desarrollo completo para obtener el sistema (3.6). Obviamente, en un caso real, el tamaño de la matriz M es mucho mayor y el número de incógnitas también, por lo que el sistema es mucho más complejo. 42

56 Para que un criptoanalista pueda encontrar los coeficientes a i del sistema (3.6), es necesario que primero encuentre los coeficientes a, b y p de (2.8) (los cuales pueden estar en constante cambio dependiendo del criterio del administrador), encontrar el punto de la curva utilizado como generador y finalmente encontrar los coeficientes a i. Como el objetivo de la tesis no es realizar un criptoanálisis, se trabaja con puros datos conocidos. En el Apéndice D se tiene un ejemplo de un criptoanálisis considerando lo mencionado en las líneas anteriores INTERCAMBIO DE LLAVE DIFFIE-HELLMAN Para que se pueda compartir una llave en secreto entre dos usuarios, se utiliza el protocolo Diffie-Hellman. Como se mencionó anteriormente, el vector es público, esto es, viaja de un usuario al otro. Cada usuario construye su propio vector y lo intercambia con su contraparte. Con las indicaciones del protocolo Diffie-Hellman dado en el Capítulo II (pág. 35) se hace el intercambio de llaves entre dos usuarios los cuales denominamos como Alicia y Bob. Alicia construye su llave privada A para lo cual escoge n escalares y el resultado queda expresado como la ecuación (3.2) y Bob hace lo mismo para formar su llave privada B. La matriz al ser pública los dos la utilizan. Cada quien realiza la operación (3.4) con su respectiva llave privada para obtener la matriz, es decir, Alicia forma transmite a Alicia. A y Bob forma B, donde A se transmite a Bob y B se Alicia calcula B. Bob calcula A. Para que el intercambio haya sido correcto se debe cumplir que condición ya pueden tener una comunicación secreta. Satisfecha esta 43

57 3.5. CIFRADO DEL MENSAJE Hasta ahora se ha realizado que los interlocutores logren el intercambio de llaves para tener una comunicación segura entre ellos. Lo que procede ahora es enviar los mensajes cifrados. Para poder cifrar los mensajes se utiliza el método de cifrado de ElGamal (véase Capítulo II pág. 37). Éste se va a implementar con matrices, por lo tanto se debe codificar el mensaje en n-tuplas de puntos. El mensaje cifrado se representará por, se pudo haber elegido el cifrado MQV pero siempre y cuando realizando las adecuaciones para la utilización de matrices. El intercambio de llaves entre los interlocutores a quienes llamamos Alicia y Bob en el protocolo de Diffie-Hellman es: Alicia B Bob A. Una vez concluida la etapa del intercambio de llaves, Alicia toma el mensaje, efectúa la operación, después se envían a Bob las n-tuplas de puntos. El vector, el cual posee los puntos del mensaje cifrado será el que viaje en el medio. Por último Bob utiliza su clave privada B para obtener A y como entonces basta con restarle a el vector para obtener el mensaje encriptado, esto es,. Bob recibe el vector. Para desencriptarlo se toma el valor x de cada punto del vector el cual fue obtenido de la forma siguiente, por lo que para obtener el texto claro se realizan divisiones de x entre cuyo resultado entero se vuelve a dividir entre y así sucesivamente hasta obtener un cociente cero, los residuos se ordenan del último al primero. Estos números se asocian a los números decimales del código ASCII por lo que representan los caracteres del mensaje descifrado. 44

58 3.6 NIST. El NIST [15],[17], es un organismo que proporciona diez cuerpos finitos sobre los que se definen las curvas elípticas, cinco cuerpos para y cinco cuerpos de característica 2. Los cinco cuerpos para son: (3.8) Cada uno de estos cuerpos soporta n bits de información, mientras mayor sea el número de bits será más complejo el sistema. Por ejemplo, si se trabaja en una arquitectura de 32 bits, una palabra estará comprendida de 0 a 31. Para saber el nivel de seguridad que se tiene, considérese que t es la medida del nivel de seguridad. Empleando (3.8) Si se tiene una palabra u de 32 bits, donde, para la NIST sobre campos primos se tiene t = 6, 7, 8, 12 y 17 respectivamente. Los elementos de son enteros entre escritos en forma binaria como se muestra en el Apéndice E. Estos pueden ser escogidos de forma aleatoria o pueden estar asociados por una curva elíptica. La NIST sobre campos primos considera que 45

59 CAPÍTULO IV DESARROLLO DEL ALGORITMO 4.1. FORMACIÓN DE LA LLAVE PRIVADA El análisis que se realizó en el capítulo anterior para la construcción de las matrices es considerando n=3 por lo que todas las matrices serán de esta dimensión. Los elementos que intervienen en la matriz M son escogidos de forma arbitraria y pertenecen a, en donde p=23 en este caso. La matriz M arbitraria que se utiliza para el análisis es: (4.1) Se comprueba que esta matriz tiene inversa, la cual es Para crear la llave privada se utiliza (3.5), los coeficientes que se propusieron en forma arbitraria para a 0, a 1, a 2 son 5, 6 y 2 respectivamente, la única condición es que pertenezcan a. La llave privada A resulta: (4.2) 46

60 4.2. CONSTRUCCIÓN DE LOS VECTORES PÚBLICOS A TRANSMITIR Para la construcción del vector, se elige arbitrariamente un punto de la curva elíptica que en este caso es el punto (0,1). Éste se considera el generador de los otros puntos y le llamamos P 0 (véase la Tabla 2.3). Según la expresión (2.18) se tiene que T= (23,1, 1, (0, 1), 28, 1) los puntos generados en T son 27 más el punto al infinito (véase Apéndice F). Ahora, se escogen otros dos puntos de los 27, por ejemplo los puntos (13,16) y (3,10). El primero es 4P 0 y el segundo es 25P 0 ; esto es y. Así, (4.3) por lo tanto A (4.4) de donde la llave pública resulta 47

61 4.3. ALGORITMO DIFFIE-HELLMAN Con el algoritmo Diffie-Hellman (véase Capítulo II, pág. 35) se realiza el intercambio de llaves entre dos usuarios. El sistema construye una llave privada para cada usuario. Uno es Alicia, quien elige los valores de a i y construye su matriz A. El resultado es (4.2). El otro usuario es Bob quien elige arbitrariamente los valores de b 0, b 1, y b 2, que son 18, 1 y 4 respectivamente; y forma su llave privada B que es: (4.5) Alicia encuentra la matriz que es (4.4) la cual se denominará A. Bob emplea el mismo procedimiento para encontrar la matriz pero con su llave privada el resultado fue: B B. Ahora Alicia calcula y Bob calcula. B A (4.6) En la ecuación (4.6) se observa que las dos variables son idénticas. Esto indica que el intercambio de llaves es correcto entre Alicia y Bob por lo que se garantiza que se tendrá una comunicación segura entre ellos. 48

62 Este proceso realizado en MATLAB R2008a se muestra a continuación: 49

63 50

64 4.4. CIFRADO DEL MENSAJE CON UNA MATRIZ Para realizar el cifrado, los valores que toma la ecuación (2.8) (en especial el valor p) deben ser números grandes, puesto que si se desea encriptar por el método de ElGamal uno o más caracteres de 8 bits con el código ASCII de 128 bits el cual tiene contiene 96 caracteres (véase Apéndice G) se realiza lo descrito en el Capítulo II (pág. 37), donde la codificación se realiza dividiendo el mensaje en bloques, por ejemplo de dos caracteres por bloque. Entonces la ecuación (2.19) resulta. Éste valor es el máximo que se puede tener para dos letras, por lo que p debe ser mayor o igual a éste número. Para determinar el punto de la curva elíptica que se va a asociar al bloque (de dos caracteres) se considera Para un valor de y de j = 1 entonces x 1 =5 x =61111, éste es el valor mínimo x para representar el bloque con dos caracteres. Para obtener un punto sobre la curva cuya coordenada x esté por encima del valor seleccionamos una curva elíptica con valor de p no menor a Para realizar la encriptación de un mensaje de dos bloques, conociendo ya el valor máximo necesario, las variables de la ecuación (2.8) a, b y p valdrán 7, 29 y respectivamente, estos valores pueden ser propuestos pero se optó por utilizar los valores definidos en la referencia [16]. El mensaje a encriptar por ejemplo es: examen de grado, la longitud del mensaje es 15 caracteres, se agrega un término más (un espacio) al mensaje para que se pueda agrupar en bloques de dos y así realizar la codificación de éste explicado en el Capítulo II (pág. 37) y posteriormente se procede encontrar el valor de x; éste valor será la coordenada de un punto de la curva elíptica y para localizarlo se tomará el valor de la y correspondiente que aparece en la tabla construida con los puntos de la curva. Éste punto (x, y) relaciona un bloque de dos caracteres del mensaje a encriptar. El proceso anterior se realiza con cada uno de los bloques en que se ha dividido el mensaje. Como se explicó en el Capítulo III (pág. 44), a los puntos (x, y) de la curva elíptica que asocian duplas del mensaje se les denomina. Para obtener el mensaje original se sigue el proceso del Capítulo III (pág. 44). 51

65 El proceso de cifrado se realizó en MATLAB R2008a el cual se muestra a continuación: y x Fig 4.1. La Fig muestra la curva elíptica utilizada para generar los puntos que pertenecerán a ella (véase en el Apéndice H). Para el sistema criptográfico propuesto en la tesis se muestran el diagrama a bloques de cómo está conformado el sistema (véase Apéndice I). En EL Apéndice J se encuentra los diagramas de flujo para la construcción del sistema criptográfico y en el Apéndice K se tiene el código fuente que se desarrollo para éste sistema. 52

66 53

67 54

68 55

69 Los puntos OMEGA que viajan en éste último mensaje se utilizaron para hacer una detección y corrección de error [18]de forma general se explica en el Apéndice L puesto que la tesis no está orientada sobre éste tema. Un ejemplo para el envío de un mensaje dividido en bloques de un carácter, con valores diferentes para la curva elíptica. 56

70 57

71 La diferencia que existe entre la lista de puntos encriptados con la lista de puntos OMEGA es que en la primer lista el mensaje esta encriptado la cual es denotado como y en la segunda lista, esta operación nos indica una variación de los valores de los puntos sino se realiza no se garantizará que el mensaje llegue al usuario correcto, esto porque nos indica con que usuario se realiza la conversación. 58

72 59

73 En la Fig. 4.2 se tienen todos los puntos que pertenecen a la curva elíptica. Esta gráfica tiene un eje de simetría, el cual es y=1000 y esto significa que cada punto encontrado tendrá un punto P. y Fig Gráfica de puntos de la curva elíptica a= 9, b = 7 y p =2011. x 60

74 CONCLUSIONES Una de las técnicas más modernas y que está en pleno desarrollo para fortalecer la seguridad en las redes de comunicaciones es la criptografía basada en curvas elípticas. En este trabajo se utilizaron valores pequeños como ejemplo para analizar el funcionamiento del algoritmo y como se aprecia en el capítulo IV el algoritmo trabajó satisfactoriamente utilizando diferentes valores, se logró identificar a los usuarios lo cual es indispensable para tener una comunicación y se cifraron los mensajes que se intercambian entre ellos. Si se lleva a la práctica éste algoritmo, una buena alternativa es emplear los valores recomendados por la NIST (véase Apéndice D) para la ecuación de Weierstrass, lo que lleva solamente a un aumento en los tiempos de procesamiento. 61

75 TRABAJOS FUTUROS Realizar un criptoanálisis del sistema criptográfico. Construir la matriz M con polinomios irreducibles para trabajar con campos binarios. Desarrollar un programa específico para optimizar el tiempo de procesamiento del algoritmo. Trabajar con cuaterniones en la construcción de la matriz M, utilizar matriz de rotación de cuaterniones para construir las llaves privadas y así plantear el sistema criptográfico a utilizar. Comparar el sistema planteado en la tesis con el sistema criptográfico construido por cuaterniones. TRABAJOS DERIVADOS DE LA TESIS Héctor Oviedo Galdeano, José Antonio López Toledo. Implementación de matrices en sistemas criptográficos de ECC. XII Congreso Nacional de Ingeniería Electromecánica y de Sistemas CNIES, México, D.F, Noviembre Héctor Oviedo Galdeano, José Antonio López Toledo. Curiosidades sobre la Criptografía en hechos que dejaron marca en el mundo. RISCE Revista Internacional de Sistemas Computacionales y Electrónicos. Noviembre 2010, Número 6, Volumen 2, Año 2, pp

76 INGENIERÍA EN TELECOMUNICACIONES ARTÍCULOS ACEPTADOS POR REFEREO XII CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS Implementación de matrices en sistemas criptográficos de ECC. Héctor Oviedo Galdeano 1, José Antonio López Toledo 2 1,2 Departamento de Telecomunicaciones, SEPI-ESIME, IPN, México D.F., México Teléfono (55) Ext hoviedo@ipn.mx, jtoledo13@gmail.com Resumen El presente trabajo trata sobre las curvas elípticas, una de las técnicas utilizados para los sistemas criptográficos, estás tienen una mejor eficiencia con respecto a la aritmética módulo, en donde se empleará matrices para construir un sistema criptográfico en donde desde luego se aumenta la seguridad con un mínimo de requerimientos ya que los puntos a transmitir se hace aprovechando la información obtenida de los puntos ya calculados para reducir la complejidad del siguiente punto, el cálculo de estos se plantea sin conocer ningún punto y conociendo un punto que pertenezca a la curva elíptica. Palabras Clave curvas elípticas, criptografía. Abstract This paper deals with elliptic curves, one of the techniques used for cryptographic systems, this have a better efficiency with respect to arithmetic module, where matrices used to build a cryptographic system where of course the security is increased minimum requirements and that points to convey is using the information obtained from the points already calculated to reduce the complexity of the next point, the calculation of these arises without knowing any point and knowing a point that belongs to the elliptic curve. Keywords elliptic curve, cryptography. I. INTRODUCCIÓN II. CRIPTOSISTEMA Todo sistema que toma información legible, para convertirlo en información no legible, se puede definir como una quíntupla (M; C; K; E; D) llamado criptosistema, el cuál debe de satisfacer la siguiente ecuación D ( E ( m )) m k k La ecuación (1) nos dice que un mensaje m, lo ciframos empleando una clave k y luego procedemos a descifrarlo empleando la misma clave, con lo que se obtendrá de nuevo el mensaje original m [1],[3]. (1) M representa el conjunto de todos los mensajes sin cifrar (lo que se denomina texto claro, o plaintext). C representa el conjunto de todos los posibles mensajes cifrados, o criptogramas. K representa el conjunto de claves que se pueden emplear en el criptosistema. E es el conjunto de transformaciones de cifrado que se aplica a cada elemento de M para obtener un elemento de C. D es el conjunto de transformaciones de descifrado, análogo a E. Un concepto importante que ha ido crecido de una manera extraordinaria es la seguridad en la transmisión de los datos, hay técnicas que se encargan de cifrar y descifrar la información para poder garantizar una protección adecuada de los datos, estas se conocen como criptografía. El vocablo proviene del griego kryptós, oculto, y graphos, escritura, es decir: La criptografía es el arte de escribir en clave secreta, donde la criptografía estudia las técnicas matemáticas relacionadas con aspectos de la información tales como la confidencialidad, la integridad de datos, autentificación y no repudio [1],[2]. Tenemos dos tipos de criptosistemas los simétricos ó de clave privada y los asimétricos ó de llave pública, el primero emplea la misma clave k tanto para cifrar como para descifrar y el criptosistema asimétrico, emplea una doble clave (k p ; k P ) en donde k p se es la clave privada y k P se conoce como clave pública las cuales una de ellas sirve para la transformación E de cifrado y la otra para la transformación D de descifrado. Una de las mejores técnicas en el campo de los cifradores asimétricos es la criptografia de curvas elípticas (ECC) planteado por Koblitz y Miller [3], [4] la implementación de estas curvas resulta más eficiente que la aritmética módulo. MÉXICO D.F. NOVIEMBRE

77 INGENIERÍA EN TELECOMUNICACIONES ARTÍCULOS ACEPTADOS POR REFEREO III. CURVA ELÍPTICA Una curva elíptica se puede definir como: y x ax b (2) En donde (2) es llamada ecuación de Weierstrass. Para que las curvas elípticas presenten una mayor seguridad tiene que cumplir con la condición discriminante: a 27b 0 (3) XII CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS Las curvas elípticas en un cuerpo de Galois Gf( n), es un grupo finito generado por n, siendo n un número primo impar [3], los pares de puntos que se obtendrán estarán definidos sobre este campo, cumpliendo con la restricción 0,1,..., p 1 donde p es un número primo impar[5], p por lo tanto la curva elíptica definida en como: p 2 3 y x ax b m od( p ) (5) En donde para formar las parejas de puntos x y x y de la curva Elíptica E ( ) se utilizará (5) (, ), p siempre y cuando se cumpla la condición. p a 27b 0(m od p ) (6) Al conjunto de los pares de puntos de E ( ) se agrega p el punto al infinito. Para generar los pares de puntos de la curva E ( ) p hay dos formas: Sin conocer ningún punto de la curva Conociendo un par de puntos de la curva En la ecuación (5) se asignan valores a las variables y se comprueba que el valor del discriminante sea diferente de cero, por ejemplo a 1, b 1 y p 23 Fig. 1 Curva Elíptica Para graficar la Fig. 1 se utilizo (2) y (3), los valores que se asignaron en (2) fueron: a 1; b 1 Donde (2) se evaluó los valores y resulto y x x 1 sobre (4) La Fig. 1 corresponde a la evaluación de (4) en donde la condición (3) si se cumple en (4) por lo tanto en la Fig. 1 no tiene raíces múltiple, existe un punto especial O, llamado punto al infinito, es decir, es un punto imaginario situado por encima del eje x a una distancia infinita por lo que no tiene un valor en concreto, con el punto especial más la operación suma, es lo que se denomina grupo de curva elíptica E(R)[4][5]. Al sustituir los valores en (5) se obtiene 2 3 y x x 1 m od(23) (7) Al sustituir los valores de (7) en la condición (6) esta se cumple por lo tanto (7) tendrá un grado de seguridad. Una vez que se tiene la ecuación de Weierstrass (7) definida en un campo cuyos valores en nuestro caso serán menores a 23, lo que prosigue es calcular las parejas de puntos que pertenezcan a E ( ) p Primero se hará el cálculo de los pares de puntos en la curva sin conocer ningún punto de ella y después se hará a partir de un punto. Sea 2 3 z y x x 1 m o d (23) (8) MÉXICO D.F. NOVIEMBRE

78 INGENIERÍA EN TELECOMUNICACIONES ARTÍCULOS ACEPTADOS POR REFEREO IV. LA LEY DE RECIPROCIDAD CUADRÁTICA Esta ley relaciona la solubilidad de congruencias de segundo grado mediante el teorema: Teorema.- Sea p un primo impar. Un entero h, coprimo o primo relativo con p, es un residuo cuadrático módulo p, si 2 existe una x tal que x h mod (p), En caso contrario h es un no-residuo cuadrático modulo p. Dados un primo impar p y un entero cualquiera h, el símbolo de Legendre está definido como: h p 1 si a es un residuo cuadrático m od(p) 1 si a no es un residuo cuadrático m od(p ) 0 si h es m ultiplo de p El criterio de Euler está dado por h p p 1 2 h m od( p) (9) (10) Tabla 1.Construccion de valores de la ECC utilizando la ley de la Reciprocidad cuadrática. x z Residuos x z Residuos XII CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS Para realizar el cálculo de los puntos se utiliza la tabla. 1 en donde se explicará cómo es que se obtuvieron esos datos que aparecen en ella. El procedimiento es el siguiente: En la columna 1 se escriben los valores de x con x p dado que se está trabajando con aritmética modulo 23. Se evalúa (8) con los valores de x, el resultado se asigna a la variable z. Se obtienen los residuos cuadráticos y no cuadráticos, para ello se utiliza el criterio de Euler y el símbolo de Legendre en donde la variable h será sustituida por la variable z. Para formar las parejas de punto los residuos no cuadráticos no se utilizan solamente los cuadráticos. Se puede observar en la tabla 1 en la columna de residuos que hay trece valores de unos (+) y por lo tanto, el conjunto de pares de puntos de la curva elíptica será el doble de unos esto es 26 debido a que (7) es una ecuación cuadrática. Se agrega la pareja con residuo cuadrático con valor cero y el punto al infinito O. Para poder formar la pareja de puntos de la curva x y x y, en la tabla 2 se puede observar que solo se (, ), p tiene los residuos cuadráticos, por lo tanto ya se conoce los valores de que tomara x, ahora solamente nos falta conocer los valores de y p p, donde para encontrar y se utiliza la ley de la reciprocidad cuadrática con la siguiente modificación: 2 p y h m od( p ) (11) En la ecuación (11) lo valores que tomará y los p resultados de evaluar (11) se muestran en la tabla 3, para sintetizar estos resultados solamente se colocaron en la tabla los que se utilizará para encontrar los valores de la ordenada y así ya poder formar la pareja de puntos de la curva elíptica MÉXICO D.F. NOVIEMBRE

79 INGENIERÍA EN TELECOMUNICACIONES ARTÍCULOS ACEPTADOS POR REFEREO Tabla 2. Residuos Cuadráticos XII CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS Tabla 4. Pares de puntos de (8) x z Residuos Cuadráticos x z Residuos Cuadráticos La interpretación de la Tabla 3 para conseguir los valores respectivos de las ordenadas es el siguiente: Donde se considera h de la tabla 3 y x, z de la tabla 2 p=23 for i = 1 to length (x) if h( i) z ( i ) then puntos (x(i),mod(y(i),p)) and puntos (x(i),mod(y(p-y(i)) end end Con este algoritmo se explica cómo se formaron los puntos que pertenecen a la curva elíptica. Tabla 3. Valores de y para el par de puntos de ECC y h y h En la tabla 4. Se encuentran las parejas de puntos que pertenecen ECC (8) los cuales se obtuvieron como se mencionó anteriormente, en (8) se puede ver que los resultados obtenidos tendrán dos valores debido a que la función es cuadrática, esto se refleja en la tabla 4. Donde un punto P tiene un punto P que son simétricos a la curva elíptica, no habrá simetría cuando aparezca en los residuos cuadráticos el valor cero.. En la segunda columna de la tabla 4 nos indica el orden, los cuales a partir de un punto se genera un máximo número de puntos, por ejemplo el punto (1, 7) es 23 capaz de generar a partir de este, 27 puntos más el punto al infinito V. OPERACIONES DE LAS ECC. Para poder realizar operaciones de adición entre los puntos de la curva elíptica debemos de considerar las siguientes condiciones. 1.- Identidad P P P para toda P E ( ) 2.- Negativos Si P ( x, y ) E ( ), entonces ( x, y) ( x, y) El punto ( x, y ) es denotado por P MÉXICO D.F. NOVIEMBRE

80 INGENIERÍA EN TELECOMUNICACIONES ARTÍCULOS ACEPTADOS POR REFEREO 3.- Adición de puntos C onsiderando P ( x, y ) E ( ) y Q ( x, y ) E ( ) donde P Q. C uando P +Q =( x, y ) 3 3 XII CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS esfuerzo computacional es diferente, ya que se aprovecha la información obtenida de los puntos ya calculados para reducir la complejidad del siguiente. 2 x y y x x y y y y ( x x ) y x x x x VI. DESCRIPCIÓN DEL SISTEMA Considerando una curva elíptica p= #E(F q ), sea n un entero positivo 4.- Suma de puntos consigo mismo n n M atn ( F p ) xe ( Fq ) E ( Fq ) x 3x a 2 x y y 3x a ( x x ) y 2 y 2 y Para generar una serie de puntos dado un punto conocido, lo que se hace es utilizar la condición de la suma de puntos consigo mismo y después la condición de la adición de puntos, una de las herramientas utilizadas aquí es el algoritmo de Euclides extendido. Dado el punto (1, 7) de (8) ver resultados en la Tabla 5 23 Tabla 5. Generar puntos dado un punto de ECC Donde M atn( F p ) es el conjunto de todas las matrices de tamaño n x n con elementos en F p y es el conjunto de n- tuplas de puntos. F p : Campo finito que contiene elementos q=p donde p es un valor primo F q : Campo finito que contiene q elementos. Para la ANSI X9.62, nos dice que (q = p, p > 3) o de una potencia de 2 (q = 2m).donde m es un entero positivo. Se trabaja con las siguientes consideraciones para construir el sistema S i A = [a ] para 0 i,j n-1 y i, j = P Q 0 0 P Q 1 A 1 (12) P Q n 1 n 1 n 1 Q a P i i, j j j 0 En la ecuación (12) los valores P 0, P 1,,P n-1 son conocidos. Se realiza un ejemplo de la construcción de este sistema Para que se tenga una mayor seguridad en los sistemas criptográficos, se puede realizar las siguientes consideraciones: Aumentar el tamaño de la curva elíptica, pero se requiere de un esfuerzo computacional elevado para calcular el número de puntos de la curva. La otra opción es transmitir varios puntos de la misma curva en forma independiente, el M m od E n form a aleatoria escogema os elem 2 entos q ue integraran 2 a A, estos serán elem etos de a la 6llave p rivada 1 a 0 5 La construcción de A es la siguiente: MÉXICO D.F. NOVIEMBRE

81 INGENIERÍA EN TELECOMUNICACIONES ARTÍCULOS ACEPTADOS POR REFEREO A 2 ( a M a M a I ) (13) A (14) su stitu yen d o en (1 3 ) XII CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS La ecuación (14) con los valores sustitu idos resulta (1, 7 ) ( 4, 0 ) (7,11) (3,10 ) (18, 20 ) (11, 20 ) La matriz M es de 3 x 3 por lo tanto P { P, 2 P, 3 P} (1, 7 ) En la tabla 5. Se observa que a partir del punto (1, 7) 23 generamos un conjunto de puntos, para hacer de una manera amigable el ejemplo se tomaron los primeros tres valores k de la tabla 5 Se sustituye los valores de en (14) (1, 7 ) (7, 11) (18, 20 ) Ahora bien, partiendo de (15) para encontrar los valores de las llaves privadas de (13) se construirá un sistema de ecuaciones lineales para encontrar los valores a 2, a 1, a 0 ya que estos el destinatario no los conoce, teniendo esto ya podremos intercambiar la llave para poder descifrar los datos que se envíen, los cuales deben de estar codificados en ECC. VII. CONCLUSIONES La criptografía a tomado gran importancia, al utilizar matrices lineales, se puede transmitir varios puntos, ahora bien para aumentar la complejidad del sistema criptográfico se pretende utilizar el NIST (Instituto Nacional de Estándares y Tecnología) aplicado sobre campos primos donde los valores de a, b, p ya se encuentran definidos, en donde por ser números grandes se tendrá mayor seguridad, en comparación con sistemas criptográficos que utilizan la aritmética módulo. S e resuelve la m atriz anterior 0 * (1, 7 ) 1 * (7, 11) 4 * (18, 20 ) 20 * (1, 7 ) 0 * (7, 11) 7 * (18, 20 ) 19 * (1, 7 ) 2 * (7, 11) 18 * (18, 20 ) A plicando propiedades de la sum a de puntos REFERENCIAS [1] John Talbot Complexity and Cryptography An Introduction Cambridge University [2] Alfred J. Menezes Handbook of Applied Cryptography [3] Darrel Hankerson, Alfred Menezes, Scott Vanstone Guide to Elliptic Curve Cryptography Springer [4] Daniel R. L. Brown Elliptic Curve Cryptography, May 21, 2009 [5] Daniel R. L. Brown Recommended Elliptic Curve Domain Parameters, January 27, 2010 E C C, el resultado es el siguiente: 0 (7, 11) (5, 19 ) (13, 16 ) 0 (11, 20 ) (9, 7 ) (17, 20 ) (7, 12 ) El resu ltad o fin al d e la m atriz es: (4, 0 ) (3,10 ) 31 (11, 20 ) MÉXICO D.F. NOVIEMBRE

82 [ RISCE Revista Internacional de Sistemas Computacionales y Electrónicos A ñ NOVIEMBRE 2010 Número 6, Volumen 2, Año 2 A l e j a n d r o [ 69

83 Curiosidades sobre la Criptografía en hechos que dejaron marca en el mundo. Héctor Oviedo Galdeano, José Antonio López Toledo Instituto Politécnico Nacional. Unidad Profesional Adolfo López Mateos. Av. Instituto Politécnico Nacional s/n. Edificio 1, 2do. Piso Ext RESUMEN. En el presente artículo de divulgación se hace una semblanza de cómo la criptografía ha ido evolucionando a través del tiempo para ofrecer cada vez una mayor seguridad. Grandes personajes que intervinieron en la revolución mexicana cifraban sus mensajes empleando cada uno de ellos su propio código, entre estos están Porfirio Díaz y Carranza, anterior a ellos, en el siglo XIX, por ejemplo, José Mariano Michelena también recurría a esta técnica. Un caso interesante fue la aparición de la máquina Enigma, que durante la segunda guerra mundial fue usada por los alemanes para cifrar sus mensajes. También se recurrió al cifrado oral, como en el caso de los indios navajos utilizados por el ejército americano en la guerra del pacífico. PALABRAS CLAVES. Criptografía, criptografía clásica, telegrama Zimmerman, Máquina Enigma INTRODUCCIÓN Muchos de nosotros recordamos como nos emocionamos con la película Juegos de guerra que se estrenó en Vimos al jovencito David Lightman interpretado por el actor Matthew Broderick entrar sin saberlo a la red de computadoras del NORD (North American Aerospace Defense Command) y cree que la máquina a la que se ha conectado lo invita a un juego llamado Guerra termonuclear global lo que acepta gustoso sin pensar que estaba iniciando realmente una guerra termonuclear contra la URSS de alcances inimaginables. Afortunadamente como sucede en las películas se tuvo un final feliz [1]. Parece increíble, pero el 26 de septiembre de ese mismo año estuvo a punto de iniciarse en la vida real y no en película, una guerra nuclear que pudo haber terminado con los seres humanos en el planeta. Por un error del sistema satelital ruso que detecta los ataques de misiles nucleares americanos se envió la señal de alarma indicando que cinco misiles nucleares americanos se dirigían a territorio soviético. El teniente coronel Stanislav Petrov estaba al frente del búnker Serpujov-15 desde donde se coordinaba la defensa aeroespacial rusa. Por esos días se vivía mucha tensión debido a que una semana antes los cazas soviéticos habían derribado un avión de pasajeros coreano con 269 personas a bordo encontrándose entre ellos varios pasajeros norteamericanos. Para fortuna nuestra, el coronel Petrov utilizó su sentido común y pensó que un ataque nuclear no se inicia con solo cinco misiles y prefirió esperar y ver lo pasaba. Qué hubiera sucedido si reacciona como fue entrenado y dispara a su vez los misiles? Sus jefes se enojaron con él porque no procedió de acuerdo a las órdenes bajándolo de puesto y ocultaron el incidente. Este hombre salvó la vida de millones de seres humanos sino es que de toda la humanidad [2]. Lo anterior nos hace pensar en lo vulnerable que pueden resultar los sistemas tecnológicos por avanzados que sean. Uno de estos sistemas son los de telecomunicaciones que presentan vulnerabilidad en cuanto a la seguridad. Son muchos los casos notificados de ataques a las redes cibernéticas por los llamados hackers. Un ejemplo es el del joven de secundaria entre los 15 y 16 años de edad que logró ingresar en las computadoras del Pentágono en Washington. Al cuestionar al joven los agentes de FBI se dieron cuenta que tenía un cómplice, un compañero de clase del colegio secundario Cloverdale High School, quien lo ayudaba a planear sus incursiones cibernéticas [3]. Otro caso es el de Gary McKinnon hacker Británico acusado por los E.U. de haber perpetrado el mayor ataque informático militar de todos los tiempos quien se introdujo ilegalmente a 100 redes y más de 300 computadores de la Nasa, el Ejército, la Marina, el Departamento de Defensa y la Fuerza Aérea estadounidense, dañando la red informática de defensa que estuvo fuera de servicio por casi una semana, puso en jaque los sistemas militares, robando cientos de contraseñas, elimino 1,300 cuentas de usuario. Si es procesado puede alcanzar hasta 70 años de cárcel [4]

84 A principios de febrero del 2010 John Chipman, director del Instituto Internacional de Estudios Estratégicos (IISS por sus siglas en inglés) informó que con el uso de computadoras, una potencia extranjera puede inutilizar la infraestructura de un país, atacar la integridad de los datos militares internos de otra nación, intentar confundir sus transacciones financieras o lograr cualquiera de sus otros posibles objetivos, esto es, un ataque cibernético coordinado y masivo, y no el clásico lanzamiento de misiles, puede marcar el comienzo de las guerras en el futuro [5]. Como se ve, la seguridad informática y de telecomunicaciones es una gran preocupación a nivel mundial. Existe una lucha diaria entre los responsables de la seguridad de los sistemas y los que tratan de violarla. CRIPTOGRAFÍA CLÁSICA. Una herramienta utilizada por los expertos en seguridad es la criptografía que es el arte o ciencia de enviar mensajes de manera escondida, de tal manera que sólo un destinatario autorizado, es decir, que cuente con la clave puede conocer el contenido del mensaje, por lo cual puede permitir el intercambio de información entre ellos [6]. Se tienen indicios de mensajes cifrados en jeroglíficos egipcios que datan de más de 4500 años. Los griegos en el siglo V A.C. durante la guerra entre Atenas y Esparta utilizaban el escítalo que consta de un rodillo de longitud y grosor determinado en donde el cifrado se basaba en la alteración del mensaje original introduciendo símbolos innecesarios que desaparecían al enrollar el mensaje en un rodillo. Si se interceptaba el mensaje era muy difícil descifrarlo si no se conocían el grosor y la longitud del rodillo [7], en la (fig. 1) se observa un claro mensaje que es SECRETOS si se rota se podrá identificar el siguiente mensaje y así sucesivamente. Fig. 1 Escítalo El académico griego Polybius ( A.C.) usó una tabla para cifrar sus mensajes la cual consiste de cinco filas y cinco columnas. En cada cuadro formado por una fila y una columna se coloca una letra del alfabeto. El mensaje cifrado se envía por medio de las parejas formadas por el número de fila y el número de columna

85 Se sabe de un libro de criptografía militar que desgraciadamente se ha extraviado que se cree utilizaba Julio Cesar. También se dice que usaba un corrimiento de tres lugares del alfabeto para cifrar los mensajes, por ejemplo a la A le correspondía la letra D, a la B le correspondía la letra E y así sucesivamente. Esto se conoce como sustitución simple. CRIPTOGRÁFIA CLÁSICA EMPLEADA POR PERSONAJES NOTABLES EN MÉXICO. Respecto a la criptografía en el nuevo mundo y en particular en México, se sabe que en el año 1500, el gobernador Francisco de Bobadilla remitió a los Reyes Católicos diversas cartas cifradas enviadas por Cristóbal Colón a su hijo Diego, en las que le recomendaba como debía ser su conducta en caso de que el comisionado del rey le encarcelase. Se conoce una carta cifrada que Hernán Cortés envió desde Cuernavaca el 25 de junio de 1532 y que en la actualidad se conserva en el Museo Nacional de Arqueología, Historia y Etnografía de México. En la elaboración de este criptograma, considerado como uno de los más antiguos del Nuevo Mundo, Cortés utiliza sustituciones homofónicas 1 monoalfabéticas 2, mediante las cuales cada letra era representada por dos o tres símbolos, tanto literales como numéricos. El mismo método aplicó en la carta que escribe desde el Puerto de Santiago el 20 de junio de 1532, y cuyo original obra en los autos seguidos en 1546 por el licenciado Francisco Núñez contra el marqués del Valle, por pago de devengados. En general los virreyes, los miembros de las órdenes religiosas y los particulares usaron durante la Colonia la criptografía por sustitución simple para sus comunicaciones ya sea entre poblaciones del nuevo mundo o con la península. Por ejemplo, se conoce, entre otras la carta que el virrey de Nueva España Luis de Velasco envía desde Cholula el 18 de octubre de 1550 al rey Carlos V la cual contiene caracteres cifrados en diversos fragmentos de la misma. Era tan común el uso de la criptografía entre particulares que hubo intentos de prohibirla por temor a que los inconformes se comunicaran entre ellos e intentaran levantarse sin que la autoridad se percatase por no entender sus mensajes. Ya en 1818 el virrey Ruiz de Apodaca envió cartas a la península encriptadas. Durante la guerra de independencia era conocido que los criollos en diversas ciudades y que estaban dentro de la conspiración usaban la criptografía para sus comunicaciones, desgraciadamente no se han encontrado documentos de Hidalgo o Morelos que estén cifrados pero no es difícil pensar que usaban la criptografía para intercambiar mensajes [8]. Años después, ya en el México independiente, don José Mariano Michelena representando al gobierno mexicano ante la corona inglesa, viajó a Londres en 1824 como agente confidencial para la firma de tratados comerciales. Los informes que presentó al Secretario del Despacho de Relaciones Interiores y Exteriores don Lucas Alamán fueron en forma cifrada, utilizando el llamado método de sustitución poli alfabético, el cual se detalla más adelante. Como un ejemplo, se tiene la carta del 6 de noviembre de 1824 (fig. 2) donde Michelena le reporta los resultados sobre las estrategias seguidas frente a los representantes diplomáticos de Argentina, Colombia y Chile. Un fragmento de la carta contiene el siguiente mensaje cifrado [9] : 74 72

86 Mm h x e h r h c f u g f s g f r q f u x s r t b i m t b o n m g q r d l z u o d d i c d zd i g j u l d p x l m x t n z x l i m s h i m o f g j q x s q l c e r o y i i u b x h x f q x s e r q f u x s e x q g z x u b x p x l t e m f y j b f z d t d m l g e m i m r o z q d t j b l l m q n s n o m m o l l e s c v h x f i i m i i x l j v i h i y q p a l j a z m j e e y q y h i j v l h y q l g i l l a i m v a y q e z m f q v m o y a a y u v d m i l g e t j l l q r d r a v r p i g h s n x f u x l u y h v f Fig 2. Carta del 6 de noviembre de 1824 [9] El texto del fragmento anterior descifrado es el siguiente. He comunicamo (sic) a los ministros de colombia Y chile y al que dyrige los asuntos de buenos Ayres mis pasos dados con este ministe rio todos los han aprobado y estan de acurdo (sic) Estamos igualmente conveni dos en que si ynglaterra sigue en su sistema De entretenernos urgire hasta obtener una decision positiva Como se mencionó, el tipo de criptosistema que utilizó Michelena es de sustitución polialfabética 3, atribuido a Blaise de Vigenère el cual es un agregado de cifras monoalfabéticas 4 del modelo de sustitución inventado por Julio César. En la tabla 1 se muestra la sustitución polialfabética [9]. Supongamos que deseamos enviar por ejemplo, la palabra SECRETOS la cual tiene una longitud de 8 letras. Escogemos una palabra clave para que nos indique el orden de selección de los alfabetos de la tabla, esta puede ser de cualquier longitud, en nuestro ejemplos hemos elegido la palabra HOGAR

87 Tabla 1.- Criptografía diplomática mexicana [9] Como se aprecia en la tabla 2 el mensaje cifrado resultante es ZSIRVACY el cual es ininteligible. Observe que la clave en nuestro ejemplo tiene una longitud de 5 letras, por lo que se tiene que repetir las veces que sean necesarias para cubrir la longitud de cada renglón de texto del mensaje. Tabla2.- Ejemplo de un mensaje cifrado de Vigenère

88 Se sabe que durante la guerra de Reforma y el imperio de Maximiliano, tanto liberales como conservadores mantenían correspondencia cifrada, pero desgraciadamente no encontramos un ejemplo para mostrar. En el siglo XX, Porfirio Díaz utilizó los métodos de sustitución para comunicarse con gobernadores y jefes militares importantes. Su secretario particular, Don Rafael Chousal, fue el encargado de seleccionar los métodos criptográficos que se deberían usar. El método de sustitución simple, consiste en que cada uno de los caracteres de un alfabeto se sustituye por una cadena de símbolos numéricos, para descifrarlo, cada entero es sustituido por la letra correspondiente, este tipo de sistema criptográfico al ser el más simple tiene gran vulnerabilidad ya que con mucha facilidad se puede deducir cual es la regla de sustitución, como un ejemplo de sustitución directa o simple se tiene la tabla mostrada abajo y es la que usó don Porfirio. [10],[11] Se desea transmitir el texto HOLA A TODOS. De acuerdo a la tabla, el mensaje encriptado resulta: A B C CH D E F G H I J K L LL M N Ñ O P Q R RR S T U V W X Y Z Para hacerlo menos vulnerable, se le puede asignar a cada símbolo varios números como se muestra en la siguiente tabla: A N B Ñ C O CH P D Q E R F RR G S H T I U J V K W L X LL Y M Z Para el mismo ejemplo, ahora el texto cifrado resulta Al iniciarse la Primera Guerra Mundial, el káiser Guillermo II había prometido una victoria rápida sobre Inglaterra, como no lo estaba logrando recurrió a la llamada guerra marítima sin restricciones que consistía en que cualquier barco de guerra o mercantil, enemigo o neutral, encontrados alrededor de las costas de Inglaterra seria hundido. Uno de esos barcos fue el trasatlántico de lujo inglés Lusitania que fue hundido por submarinos alemanes el 26 abril de 1915, lo que provocó que el 6 de abril de 1917 EEUU le declarara la guerra a Alemania. En un intento de evitar que los norteamericanos entraran a la guerra, los alemanes le ofrecieron al presidente mexicano Venustiano Carranza ayudarlo a reconquistar los territorios arrebatados a México durante la guerra de 1848 si México le declaraba la guerra a EEUU. EL TELEGRAMA ZIMMERMAN El 16 de Enero de 1917, Arthur Zimmerman, Secretario de Relaciones Exteriores Alemán, telegrafió al embajador de su país en los Estados Unidos, Johann von Bernstorff, el ofrecimiento a Carranza descrito anteriormente mediante un mensaje cifrado utilizando (fig. 3) el código conocido como El embajador en EEUU lo retransmite a su colega en la Ciudad de México Heinrich Von Eckhardt pero con un código diferente, el 13040, los criptógrafos descifraron primeramente fragmentos del telegrama que usó el código 0075, pero cuando se retransmitió con el código lo pudieron descifrar completamente. Se conocía como cuarto 40 a la sección encargada de descifrar los mensajes. Este grupo de criptógrafos había tenido mucha suerte cuando un pescador ruso atrapó en sus redes un pesado libro que contenía el código secreto criptográfico que les permitía descifrar los mensajes. Este libro procedía del barco de guerra alemán 77 75

89 Magdeburg hundido frente a las costas de Finlandia. El libro contiene listas en donde se relacionan una cifra a un texto [12],[13],[14] El mensaje desencriptado dice lo siguiente: [14] Nos proponemos comenzar el primero de febrero la guerra submarina, sin restricción. No obstante, nos esforzaremos para mantener la neutralidad de los Estados Unidos de América. En caso de no tener éxito, proponemos a México una alianza sobre las siguientes bases: hacer juntos la guerra, declarar juntos la paz; aportaremos abundante ayuda financiera; y el entendimiento por nuestra parte de que México ha de reconquistar el territorio perdido en Nuevo México, Texas y Arizona. Los detalles del acuerdo quedan a su discreción [de Von Eckardt]. Queda usted encargado de informar al presidente [de México] de todo lo antedicho, de la forma más secreta posible, tan pronto como el estallido de la guerra con los Estados Unidos de América sea un hecho seguro. Debe además sugerirle que tome la iniciativa de invitar a Japón a adherirse de forma inmediata a este plan, ofreciéndose al mismo tiempo como mediador entre Japón y nosotros. Haga notar al Presidente que el uso despiadado de nuestros submarinos ya hace previsible que Inglaterra se vea obligada a pedir la paz en los próximos meses. Fig 3.Telegrama Zimmerman cifrado [14] Durante la segunda Guerra Mundial los alemanes y las Potencias del Eje utilizaron la máquina Enigma para encriptar sus mensajes (fig. 4), esta era un dispositivo electromecánico cuyo creador fue el alemán Arthur Scherbius quien fundó la empresa Chiffriermaschinen Aktien Gesellschaft en Berlín poniendo a la venta la primera versión comercial, la Enigma-A en 1923, siendo su finalidad facilitar la comunicación de documentos entre comerciantes y hombres de negocios de forma secreta. Hubo tres versiones comerciales y la más [15], [16] importante fue Enigma-D en

90 Fig 5. Maquina enigma [15] Enigma [16] Fig 4. Soldados utilizando la Maquina TRANSMISIÓN DE MENSAJES CON LA MÁQUINA ENIGMA. La máquina Enigma consiste de las teclas que son interruptores eléctricos, un engranaje mecánico y un panel de luces con las letras del alfabeto (Fig. 5). El funcionamiento de esta máquina es similar al de una máquina de escribir mecánica. En el interior de la máquina se podían introducir varios rotores ya que existen ranuras para esto; los rotores cambiaban una letra por otra (fig. 5). Los contactos de salida de un rotor se conectaban a los contactos de entrada del rotor siguiente. Uno de los últimos mensajes codificado por la máquina Enigma fue enviado por un submarino, el cual se logró descifrar hasta el mes de Febrero de 2006 y fue gracias a la ayuda del Proyecto-M4. El mensaje decía así [16] : nczwvusx pnyminhz xmqxsfwx wlkjahsh nmcocca kuqpmkcsm hkseinjus blkiosxck ubhmllxcs jusrrdvko hulxwccbg vliyxeoahx rhkkfvd rewezlxo bafgyujqukg rtvukameu rbveksuh hvoyhabcj wmaklfkl myfvnrizrv vrtkofdanj molbgffl eoprgtflvr howopbekv wmuqfmpw parmfhagkxiibg Una vez desencriptado: Señal de radio 1132/19. Contenido: Forzados a sumergirnos durante ataque, cargas de profundidad. Última localización enemiga: 8:30h, cuadrícula AJ 9863, 220 grados, 8 millas náuticas. [Estoy] siguiendo [al enemigo]. [El barómetro] cae 14 milibares. NNO 4, visibilidad 10 Por otro lado, los norteamericanos utilizaron un método de cifrado oral durante la guerra en el pacífico contra los japoneses. Dado que solamente 30 personas en el mundo además de los navajos hablaban su lengua, la que no tiene escritura siendo todos ellos norteamericanos, la marina enlistó a 200 navajos para que sirvieran de encriptadores y desencriptadores de mensajes orales. La idea fue de Philip Johnston que hablaba con fluidez esta lengua dado que era hijo de un misionero que predicaba entre los navajos. [17]

91 Después de estos sucesos, la criptografía ya no se consideraba un arte que solo resultaba útil a los políticos y militares, y se empezó a considerar una ciencia. En 1949, C.E. Shannon, padre de la teoría de la información utilizó la criptografía para establecer la base teórica de esta ciencia que estudia la escritura oculta, la criptografía hizo suyo el problema de la transmisión de claves y buscó soluciones para poder transmitir textos cifrados sin tener necesidad de intercambiar claves legibles, existen claves privadas y públicas que ayudan a enfrentar este tipo de problema. Un sistema de clave privada o simétrica es aquel que utiliza la misma clave para el cifrado y el descifrado del mensaje, esto quiere decir que la clave la deben de tener tanto el emisor como el receptor. Los cifrados asimétricos o de clave pública, consiste en que cada usuario posea un par de claves, una pública y una privada. Si quiero enviar un mensaje por ejemplo a la persona A, el procedimiento sería el siguiente, se encripta el mensaje según la clave de la persona A, que es pública, en el sentido de que cualquiera puede conocerla, pero sólo la persona A, con su clave privada, la puede descifrar. Entre otras, una de las ventajas de este método es que la clave secreta de la persona A, la privada, nunca circula por los medios de comunicación y, por tanto, no es necesario renovarla constantemente. La criptografía es la disciplina matemática, las matemáticas proporciona la justificación teórica de la fortaleza de un algoritmo o protocolo particular, está disciplina ha ido crecido con los años para enfrentar una mejor fortaleza para la seguridad de la información, aunque no siempre nos permita demostrar la seguridad que presenta los algoritmos, lo que si nos puede proporcionar es un medio para investigar sistemáticamente su seguridad [15],[6]. 1 Las palabras que se pronuncian igual, pero se escriben de forma diferente se llaman homófonas. 2 En la sustitución monoalfabética, también conocida como sustitución simple, se sustituye cada uno de los caracteres del texto original por otro, de acuerdo con una tabla pre-establecida, para obtenerse el texto cifrado. Como consecuencia, la frecuencia de ocurrencia de las letras (números o símbolos) del mensaje cifrado es la misma que la frecuencia de ocurrencia de las letras de la lengua usada en el mensaje original. 3 Sustitución polialfabética es cuando se utilizan múltiples alfabetos. 4 cifras monoalfabéticas es donde cada letra del texto en claro es sustituida por otra letra en el texto cifrado. REFERENCIAS. [1] [2] [3] [4] [5] Pino Caballero Gil. Algunos hitos de la criptografía del siglo XX [6] [7] Galende Díaz Juan Carlos Sistemas criptográficos empleados en Hispanoamérica [8] Narváez Roberto La Criptografía Diplomática Mexicana en la Primera Mitad del siglo XIX [9] José de Jesús Ángel Ángel y Guillermo Morales-Luna Breve descripción de la Criptografía en la Revolución Mexicana [10]

92 José de Jesús Angel Angel y Guillermo Morales-Luna Algunos Sistemas Criptográficos durante la Presidencia de Porfirio Díaz [11] Bernardo Fernández Bef El telegrama Zimmermann [12] Juan Ramón Jiménez de León Telegrama Zimmermann [13] [14] [15] d=26&limit=1&limitstart=1 [16] [17]

93 BIBLIOGRAFÍA [1] Sube 20.6% número de usuarios de Internet en México: Inegi y Cofetel. Periódico la Jornada 2010/12/08. [2] Cibernautas bloquean consorcios que intentan ahogar a Wikileaks. Periódico la Jornada 2010/12/09. [3] Darrel Hankerson, Alfred Menezes, Scott Vanstone. Guide to Elliptic Curve Cryptography. Springer-Verlag, New York, [4] John Talbot, Dominic Welsh Complexity and Cryptography An Introduction. Cambridge University Press, [5] Héctor Oviedo Galdeano. Los cuaterniones y algunas aplicaciones en ingeniería. Encuentro Nacional Actualidad de las Matemáticas Aplicadas AMA Instituto Tecnológico de Querétaro, Octubre [6] Fred Piper, Sean Murphy. Cryptography: A Very Short Introduction. Oxford University Press, [7] William Stallings Cryptography and Network Security Principles and Practices. Cuarta edición, Prentice Hall, [8] Héctor Oviedo Galdeano, José Antonio López Toledo. Curiosidades sobre la Criptografía en hechos que dejaron marca en el mundo. RISCE Revista Internacional de Sistemas Computacionales y Electrónicos. Noviembre 2010, Número 6, Volumen 2, Año 2, pp [9] A. Menezes, P. van Oorschot, S. Vanstone. Handbook of Applied Cryptography. CRC Press, [10] José Francisco Vicent Francés Propuesta y análisis de criptosistemas de clave pública basados en matrices triangulares superiores por bloques Universidad de Alicante, [11] Daniel R. L. Brown. Elliptic Curve Cryptography. Certicom Corp, [12] Rolf Oppliger. Contemporary Cryptography. Artech House, [13] Daniel R. L. Brown. Recommended Elliptic Curve Domain Parameters. Certicom Corp, [14] Francisco Antonio Ferrández Agulló. Sistemas criptográficos de curva elíptica basados en matrices. Universidad de Alicante,

94 [15] Alexander W. Dent Chris J. Mitchell. User s Guide to Cryptography and Standards. Artech House, [16] Padma Bh, D. Chandravathi y P. Prapoorna Roja. Encoding And Decoding of a Message in the Implementation of Elliptic Curve Cryptography using Koblitz s Method. (IJCSE) International Journal on Computer Science and Engineering, Vol. 02, No. 05, [17] M. Brown, D. Hankerson, J. López y A. Menezes Software Implementation of the NIST Elliptic Curves Over Prime Fields. Springer-Verlag London UK, [18] Todd K. Moon, Error Correction Coding Mathematical Methods and Algorithms, Wiley-Interscience,

95 APÉNDICE A. Algoritmo de Menezes-Vastone 82

96 APÉNDICE B. Obtención de la Matriz Privada A Para generar la llave privada se hace uso del teorema de Cayley-Hamilton. Para esto se utiliza la matriz del sistema, la cual si se trabaja con curvas elípticas de característica dos, es decir, de una forma binaria, puede construirse con polinomios irreducibles. En nuestro caso se trabaja con números primos. Se utiliza la ecuación (1.9) para la construcción de la matriz A: n r I r M r M r M M 0 2 n n1 r I r M r M r M M 2 n n1 n. (*) Multiplicando la ecuación anterior por M r M r M r M r M M 2 3 n n n1. (**) n Despejando M en (**) y sustituyéndolo en (*) n1 n1 rmrm r M r ( r I r M r M r M ) M. (***) n n1 Agrupando los términos en (***) M a I a M a M a M n1 2 n1 o 1 2 n1. La matriz privada es: A a I a M a M a M. o 2 n n1 83

97 APÉNDICE C. Criptoanálisis del sistema construido m11 m12 m M m21 m22 m23 y M m m m si A=a M a M a I m11 m12 m A a a1 m21 m22 m23 a mod p m31 m32 m a211 a212 a213 a1m11 a1m12 a1m13 a0 0 0 A a221 a222 a223 a1m21 a1m22 a1m23 0 a0 0 a231 a232 a2 33 a1m31 a1m32 a1m a 0 a211 a1m11 a0 a212 a1m12 a213 a1m13 A a221 a1m21 a222 a1m22 a0 a223 a1m23. a231 a1m31 a232 a1m32 a233 a1m33 a 0 Se desarrollará la siguiente ecuación: A P 0 donde P 1 P n a211 a1m11 a 0 a 2 12 a 1 m 12 a 2 13 a 1 m 13 P 0 a221 a1m21 a222 a1m22 a0 a223 a1m23 P1 a231 a1m31 a232 a1m32 a233 a1m33 a 0 P 2 84

98 Para que se pueda reducir la matriz se utiliza la regla de suma de puntos en ECC ( a211 a1m11 a0) P0 ( a212 a1m12) P1 ( a213 a1m13) P2 0 ( a a m ) P ( a a m a ) P ( a a m ) P ( a231 a1m31) P0 ( a232 a1m32) P1 ( a233 a1m33 a0) P 2 2 Para realizar el proceso inverso, es decir, encontrar las claves privadas a partir de la ecuación anterior se tiene el sistema de ecuación A = donde P P y P P a211 a1m11 a0 a212 a1m12 a213 a1m13 P0 0 a a m a a m a a a m P a231 a1m31 a232 a1m32 a233 a1m33 a 0 P 0 2 Se determinan los escalares, y tales que P, P y P. El sistema de ecuaciones será: [( a a m a ) ( a a m ) + ( a a m ) ] P P [( a221 a1m21) + ( a222 a1m22 a0) ( a223 a1m23) ] P0 P0 [( a a m ) + ( a a m ) + ( a a m a ) ] P P Asociaciando terminos de la ecuación anterior [( a a m a ) ( a a m ) + ( a a m ) ] [( a221 a1m21) + ( a222 a1m22 a0) + ( a223 a1m23) ] [( a a m ) + ( a a m ) + ( a a m a ) ] el sistema de ecuaciones a resolver para encontrar los coeficientes de a i es: a2( ) a1 ( m11 m12 m13 ) a0 a ( ) a ( m m m ) a a ( ) a ( m m m ) a

99 Resolviendo el sistema de ecuaciones para encontrar a, a, a ( ) ( m m m ) ( ) ( m m m ) D ( ) ( m m m ) ( ) ( m m m ) ( ) ( m21 m22 m23 ) D ( )*( m m m )* ( )*( m m m )* ( )*( m m m )* [( )*( m m m )* ( )*( m m m )* ( )( m m m 3 )*1] ( m m m ) ( m m m ) a n ( m m m ) ( )*( m m m )* ( )*( m m m )*1 ( )*( m m m )* ( m m m ) 1 [( )*( m m m )* ( )*( m m m )* ( )*( m m m )*1] ( m m m ) ( ) ( ) an ( ) ( )*( m m m )* ( )*( m m m )* ( ) 1 ( )*( m11 m12 m13 )* ( ) [( )*( )* ( )*( )* ( )*( )*1]. ( ) ( m m m ) ( ) ( m m m ) a n ( ) ( m m m ) ( ) ( m m m ) ( ) ( m m m ) an 0 ( )*( m m m )* ( ( )*( m m m )* )*( m m m )* [( )*( m m m )* ( )*( m m m )* ( )*( m m m )* ]. 86

100 an 2 a2 D an 1 a1 D an a D

101 APÉNDICE D. Ejemplo de un criptoanálisis para el sistema propuesto. Se comprueba que esta matriz tiene inversa, la cual es Para crear la llave privada se utiliza (3.5). Los coeficientes que se propusieron en forma arbitraria para a 0, a 1, a 2 son 5, 6 y 2 respectivamente, la única condición es que pertenezcan a. La llave privada A = a M a M a I

102 Se construye los puntos del vector A P 0 donde P 1 P n entonces. Si P 0 es utilizado como generador de los puntos entonces P0 P1 y P0 P2 por lo tanto 4 y 25. El vector es: por lo tanto A 0 4(0,1) 100(0,1) 104(0,1) 20(0,1) 0 175(0,1) 195(0,1) mod(23), 19(0,1) 8(0,1) 450(0,1) 477(0,1) 12(0,1) 11(0,1) 17(0,1) 23 de donde, la llave pública resulta. 89

103 Criptoanálisis para encontrar los coeficientes de a i Se conoce el vector, y la matriz M ya que son públicos. m11 m12 m M m21 m22 m23 y M m m m y Se dan por conocido los valores de la ecuación (2.8) debido a que el objetivo de la tesis no es realizar un criptoanálisis, estos valores se deben de conocer puesto que son necesarios para saber el valor k de los puntos de los vectores y, para así poder solucionar el sistema de ecuaciones obtenido en la ecuación (3.6): a ( ) a ( m m m ) a a ( ) a ( m m m ) a a ( ) a ( m m m ) a El valor k de los puntos del vector es 4 y =25 puesto que P0 P1 y P0 P2. El valor k de los puntos del vector es 12, 11 y 17 esto debido a que P, P y P

104 Debido a que se trabaja todo sobre un campo siempre tiene que pertenecer a este por lo que es necesario aplicar módulo al sistema de ecuación anterior, el módulo utilizado en el ejemplo es 23. Nota: Si se utiliza el algoritmo de Euclides Extendido para resolver las divisiones anteriores. 91

105 Si se construye una llave privada A = a M a M a M a I con la misma M y donde los coeficientes que se propusieron en forma arbitraria para a 0, a 1, a 2, a 3 son 5, 6, 2 y 9 respectivamente. La llave privada A es: Se construye los puntos del vector A 0 donde P 1 P entonces. P n 92

106 Si P 0 es utilizado como generador de los puntos entonces P0 P1 y P0 P2 por lo tanto 4 y 25. El vector es: por lo tanto A 18(0,1) 0 275(0,1) 293(0,1) 2(0,1) 0 450(0,1) 452(0,1) mod(23), 0 60(0,1) 0 60(0,1) 17(0,1) 15(0,1) 14(0,1) 23 de donde, la llave pública resulta. Criptoanálisis para encontrar los coeficientes de a i Se conoce el vector, y la matriz M ya que son públicos. m11 m12 m M m21 m22 m23, M y M m m m , y 93

107 Se dan por conocido los valores de la ecuación (2.8) debido a que el objetivo de la tesis no es realizar un criptoanálisis, estos valores se deben de conocer puesto que son necesarios para saber el valor k de los puntos de los vectores y. El valor k de los puntos del vector es 4 y = 25 puesto que P0 P1 y P0 P2. El valor k de los puntos del vector es 12, 11 y 17 esto debido a que P0 0, P0 1 y P0 2. El sistema a resolver es: a ( ) a ( ) a ( m m m ) a a ( ) a ( ) a ( m m m ) a a ( ) a ( ) a ( m m m ) a Sustituyendo la ecuación con los valores obtenidos Debido a que se trabaja todo sobre un campo siempre tiene que pertenecer a este por lo que es necesario aplicar módulo al sistema de ecuación anterior, el módulo utilizado en el ejemplo es

108 El sistema a resolver es de tres ecuaciones con 4 incógnitas por lo que no se podrá encontrar los coeficientes de a i, con esto se indica que el sistema criptográfico construido necesita exactamente tres coeficientes de 95

109 APÉNDICE E. Recomendaciones de la NIST sobre campos primos 96

110 APÉNDICE F. Curva elíptica con a=1, b=1 y p=23 97

111 APÉNDICE G. Código ASCII El código ASCII se utiliza porque cada carácter tiene dos nibbles (cuatro dígitos binarios bits o medio octeto) lo que facilita su manipulación y empaquetamiento cuando se transmiten varios bytes. Aunque todos los caracteres del código ASCII se representen con 7 bits, se utilizan los 8 bits, simplemente el MSB (most significant bit, el bit más significativo) es siempre 0, por lo que el número de caracteres es 128 (2 8 ). Si se utilizara el último bit (MSB) del byte de los códigos ASCII podrían ampliar el número de caracteres a 256 (2 8 ) con lo que podrían incluir otros símbolos, lo que se conoce como el código ASCII Extendido. Código ASCII. 98

112 99

113 APÉNDICE H. Algunos puntos de la curva elíptica donde a=7, b=29 y p=

114 101

115 102

116 APÉNDICE I. Diagrama del sistema criptográfico propuesto Se tienen dos usuarios y un medio de comunicación como se observa en la siguiente figura: Los valores públicos son: Llave privada A A A la Matriz M y el vector A Llave privada B B 2 A A 1 B B B B Para lograr un intercambio de llaves entre dos usuarios debe de cumplirse que. Una vez cumplido la condición se cifra los mensajes con el cifrado de ElGamal, se muestra por bloques éste proceso

117 Se efectúa la operación Mensaje claro de Alicia Mensaje cifrado Bob Desencriptar que, por lo A Mensaje claro 104

118 APÉNDICE J. Diagramas de flujos del sistema criptográfico Algoritmo para calcular los puntos de la curva elíptica sin conocer ninguno y conociendo uno. 105

119 106

120 Diagrama de flujo para la construcción del sistema. 107

121 108

122 FUNCIÓN gpuntos 109

123 110

124 FUNCIÓN gpuntosist1a 111

125 112

126 FUNCIÓN ECCsolop1aa 113

127 114

128 FUNCIÓN sumsist1 115

129 116

130 FUNCIONES intercambiodh y AxPIdaPhi 117

131 FUNCIÓN cifraelgamal1 118

132 119

133 120

134 APÉNDICE K. Programa del sistema criptográfico. Eccorden.m clear all; clc; fprintf('curva elíptica\n'); fprintf('y^2=x^3+ax+b\n'); a=input('ingrese el valor de a= '); b=input('ingrese el valor de b= '); dd(1,1)=a; dd(2,1)=b; d=(4*(a^3))+(27*(b^2)); if d~=0 modu=input('ingrese el mod= '); p=modu; s=0; q=(p-1)/2; for i=1:modu z=s^3+(a*s)+b; x(1,i)=s; %secuencia de números x(2,i)=mod(z,p); %z solución de la curva elíptica s=s+1; r=x(2,i)^q; z1=mod(r,p);%calculando los residuos cuadráticos y no cuadráticos if z1>1 z1=-1; x(3,i)=z1; end x(3,i)=z1; end c=1; for i=1:modu if x(3,i)~=-1 rc(1,c)=x(2,i); ux(1,c)=x(1,i); c=c+1; end end lon=length(rc); for i=1:modu h0=(i-p)^2; z1(1,i)=mod(h0,p); if i==modu z1(2,i)=0; else z1(2,i)=i; %y end % residuos cuadráticos con repetición %ubicación de residuos cuadráticos en x % h end k=0; fprintf('los puntos son:\n\n'); fprintf('puntos\torden\n'); for i=1:lon for j=1:modu if (rc(1,i)==z1(1,j)) k=k+1; h(1,k)=rc(1,i); %valor de z 121

135 h(2,k)=z1(2,j); %y salida h(3,k)=ux(1,i); %valor de x salida [vpuntos]=gpuntos(h(3,k),h(2,k),p,a,lon); fprintf('(%d,%d)\t%d\n',h(3,k),h(2,k),vpuntos); plot(h(3,k),h(2,k),'-- rs','markeredgecolor','k','markersize',3) hold on end end end grid minor fprintf('\nel número de puntos encontrados fueron: %d\n\n',k+1); x1=input('ingrese el valor del punto G en x= '); y1=input('ingrese el valor del punto G en y= '); %puntos a partir del generado lon=p; [vpuntos]=gpuntosist1(x1,y1,p,a,lon); if vpuntos~=1 fprintf('\nnúmero de puntos generados a partir del dado son: %d\n',vpuntos); else fprintf('\na partir de este punto no se genreran ningún otro Escoja otro punto para utilizarlo como generador?'); break end end fprintf('\nel discriminante es cero') 122

136 Sistema.m clear all clc [h,k1,p,a]=eccsolop1aa; %matriz pública M=input('ingrese los valores de la matriz M pública '); M=[1 5 8;10 9 6;3 2 4]; MM=det(M); format rational in=inv(m); if MM~=0 t=size(in,1);%tamaño de la matriz fprintf('la matriz M es la siguiente: \n'); disp(m); x1=h(3,1); y1=h(2,1); %puntos a partir del generado fprintf('puntos\torden\n'); lon=p; [hh,vpuntos]=gpuntosist1a(x1,y1,p,a,lon); %grafica gxy=length(hh); for i=1:gxy plot(hh(1,i),hh(2,i),'--rs','markeredgecolor','k','markersize',3) hold on end grid minor %if vpuntos~=1 fprintf('\nnúmero de puntos generados a partir del dado son: %d\n',vpuntos); i=1; am=[]; valor_a=[2 1 0]; for h=1:2 fprintf('ingrese los coeficientes de "a" para formar la clave privada de la persona %d.\nel número de coeficientes de "a" son: %d\n',h,t); for i=1:t end fprintf('el valor del coeficiente a %d ',valor_a(i)); ax=input('es = '); am(i)=ax; end [A]=intercambioDH(M,am,p,t); if h==1 A1=A; fprintf(' A de la persona 1 es: \n'); disp(a1); else B=A; 123

137 end fprintf(' A de la persona 2 es: \n'); disp(b); end end pmatriz=[]; almkey=[]; pmatriz(1,1)=x1; pmatriz(2,1)=y1; almkey(1,1)=1; j=2; for i=1:t-1 key=input('ingrese el valor de k = '); [pfinal]=sumsist1(x1,y1,p,key,a); almkey(j,1)=key; pmatriz(:,j)=pfinal(1,:); j=j+1; end fprintf('los valores de (PI) son: \n'); disp(pmatriz); %intercambio entre dos personas for i=1:2 BXPI=mod(A1*almkey,p); if i==1 AXPI=BXPI; AA=A1; end A1=B; end A=AA; pmat=axpidaphi(x1,y1,p,axpi,a,t); fprintf('los valores de (PHI)para la persona 1 son: \n'); disp(pmat); pmat=axpidaphi(x1,y1,p,bxpi,a,t); fprintf('los valores de (PHI)para la persona 2 son: \n'); disp(pmat); GamA=mod(A*BXPI,p); [pmata]=axpidaphi(x1,y1,p,gama,a,t); GamB=mod(B*AXPI,p); [pmatb]=axpidaphi(x1,y1,p,gamb,a,t); fprintf('los valores de (GAMMA) para la persona 1 son: \n'); disp(pmata); fprintf('los puntos de ECC(GAMMA) para la persona 2 son: \n'); disp(pmatb); opcion='s'; while opcion~=('n') % cifrado elgamal cifraelgamal1(hh,pmata,pmatb,t,p) opcion=input(' desea ingresar otro texto (s/n) ','s'); end 124

138 gpuntos.m function [vpuntos]=gpuntos(x1,y1,p,a,lon) w(1,1)=x1; w(2,1)=y1; %calculando labda de=(2*y1); if de~=0 [G,C,D]=gcd(de,p); inmul=mod(c,p); li=(3*(x1)^2+a); lp=mod(li,p); l=inmul*lp; l=mod(l,p); x3i=(l^2)-(2*x1); x3=mod(x3i,p); cc(1,1)=x3; y3i=-y1+(l*(x1-x3)); y3=mod(y3i,p); cc(2,1)=y3; l1=lon*2; almac=[]; for i=1:l1-2 lm=(y3-y1); lmnum=mod(lm,p); ln=(x3-x1); [G,C,D]=gcd(ln,p); den=mod(c,p); lg=lmnum*den; lg=mod(lg,p); xr=(lg^2)-x1-x3; pnew(1,i)=mod(xr,p); %x yr=-y1+lg*(x1-pnew(1,i)); pnew(2,i)=mod(yr,p); %y x3=pnew(1,i);%x y3=pnew(2,i); %y if x1==x3 break; end end almac=horzcat(w,cc); almac=horzcat(almac,pnew); [f,c]=size(almac); vpuntos=c+1; else vpuntos=1; end end 125

139 gpuntosist1.m function [almac,vpuntos]=gpuntosist1a(x1,y1,p,a,lon) w(1,1)=x1; w(2,1)=y1; %calculando labda de=(2*y1); if de~=0 [x3,y3,cc]=propsum(p,de,a,x1,y1); %suma de puntos el mismo l1=lon*2; almac=[]; for i=1:l1-2 lm=(y3-y1); lmnum=mod(lm,p); ln=(x3-x1); [G,C,D]=gcd(ln,p); den=mod(c,p); lg=lmnum*den; lg=mod(lg,p); xr=(lg^2)-x1-x3; pnew(1,i)=mod(xr,p); %x yr=-y1+lg*(x1-pnew(1,i)); pnew(2,i)=mod(yr,p); %y x3=pnew(1,i);%x y3=pnew(2,i); %y if x1==x3 break; end end almac=horzcat(w,cc); almac=horzcat(almac,pnew); [f,c]=size(almac); for i=1:c fprintf('%d\t(%d,%d)\n',i,almac(1,i),almac(2,i)); end vpuntos=c+1; else i=1; fprintf('\nlos puntos son:\n'); fprintf('%d\t(%d,%d)\n',i,x1,y1); vpuntos=1; end end 126

140 prosum.m function [x3,y3,cc]=propsum(p,de,a,x1,y1) [G,C,D]=gcd(de,p); inmul=mod(c,p); li=(3*(x1)^2+a); lp=mod(li,p); l=inmul*lp; l=mod(l,p); x3i=(l^2)-(2*x1); x3=mod(x3i,p); cc(1,1)=x3; y3i=-y1+(l*(x1-x3)); y3=mod(y3i,p); cc(2,1)=y3; end intercambiodh.m function [A]=intercambioDH(M,am,p,t) for i=1:t MG=am(i)*(mod(M^(t-i),p)); MG=mod(MG,p); v(i,:)=reshape(mg',1,[]); %se almacena en vector s=sum(v); A=mod(s,p); end A=vec2mat(A,t); %se convierte a matriz end sumsist1.m function [pfinal]=sumsist1(x1,y1,p,key,a) if key~=1 w(1,1)=x1; w(2,1)=y1; %calculando labda de=(2*y1); if de~=0 [x3,y3,cc]=propsum(p,de,a,x1,y1); if key~=2 almac=[]; for i=1:key-2; lm=(y3-y1); lmnum=mod(lm,p); ln=(x3-x1); [G,C,D]=gcd(ln,p); den=mod(c,p); lg=lmnum*den; lg=mod(lg,p); xr=(lg^2)-x1-x3; pnew(1,i)=mod(xr,p); yr=-y1+lg*(x1-pnew(1,i)); %suma de puntos el mismo 127

141 end end end end end pnew(2,i)=mod(yr,p); x3=pnew(1,i);%x y3=pnew(2,i); %y almac=horzcat(w,cc); almac=horzcat(almac,pnew); [f,c]=size(almac); for i=1:c pfinal(1,1)=almac(1,i); pfinal(1,2)=almac(2,i); end if (key==2) pfinal(1,1)=x3; pfinal(1,2)=y3; end if (key==1) pfinal(1,1)=x1; pfinal(1,2)=y1; end %x final %y final AxPIdaPhi.m function [pmat]=axpidaphi(x1,y1,p,axpi,a,t) pmat=[]; pmat1(1,1)=x1; pmat1(1,2)=y1; for j=1:t if AXPI(j,1)~=0 key=axpi(j,1); [pfinal]=sumsist1(x1,y1,p,key,a); pmat(:,j)=pfinal(1,:); else pmat(:,j)=pmat1(1,:); end end end 128

142 Sum2p.m Function end [x3,y3]=sum2p(x1,y1,x3,y3,p) lm=(y3-y1); lmnum=mod(lm,p); ln=(x3-x1); [G,C,D]=gcd(ln,p); den=mod(c,p); lg=lmnum*den; lg=mod(lg,p); xr=(lg^2)-x1-x3; pnew(1,1)=mod(xr,p); yr=-y1+lg*(x1-pnew(1,1)); pnew(2,1)=mod(yr,p); x3=pnew(1,1);%x y3=pnew(2,1); %y convtex.m function [m_new]=convtex(xfinal,labc) c=1; i=1; b=xfinal; while(c~=0) c=fix(b/labc); textf(i)=mod(b,labc); b=c; i=i+1; end tfinal=fliplr(textf); m_new=char(tfinal+31); end CifraElGamal1.m function cifraelgamal1(hh,pmata,pmatb,t,p) c=fopen('entrada.txt', 'r+'); texto=fread(c,'*char')'; fprintf('el texto es:\n'); disp(texto); fclose(c); alfabeto=char(32:126); labc=length(alfabeto)+1; lt=length(texto); blo=input('en cuantos bloques se dividirá el texto = '); r1=mod(lt,blo); if r1~=0 comp=abs(blo-r1); for i=1:comp esp(i)=32; 129

143 end texto1=char(esp); texto=[texto1 texto]; end [m,x]=size(texto); [a,b]=size(alfabeto); resul=[]; for i=1:x for j=1:b r= strcmpi(alfabeto(1,j),texto(1,i)); if r==1 resul(1,i)=j; m(1,i)=j; %desplazardor end end end [mat,dif] = vec2mat(m,blo); [fi col]=size(mat'); cc=1; fprintf('\nel mensaje encriptado por medio de puntos:\n'); for i=1:col m=mat(i,:)'; m=m'; lontext=size(m,2); xw=0; for i=1:lontext s1=m(1,i)*(labc^(blo-i)); xw=xw+s1; end k=5; for i=1:k au=k-1; pxw=(xw*k)+i; busc=find(hh(1,:)==pxw); [s1,s2]=size(busc); if s2==2; break; end end k2=busc(1,1); fprintf('(%d,%d)\n',hh(1,k2),hh(2,k2)); pc(cc)=k2; %puntos de la curva con el mesaje cifrado cc=cc+1; end %%%%%%%%%%%%%%%% %la persona 1 sumar punto encripatado + gammaa fprintf('\nlos puntos OMEGA que viajan en el medio son:\n'); lpe=length(pc); %cociente=lpe/t; o3=mod(lpe,t); omegax=[]; 130

144 omegay=[]; ic=1; for i=1:t:lpe-o3 for j=1:t end end xa =pmata(1,j); ya= pmata(2,j); xb= hh(1,pc(ic)); yb= hh(2,pc(ic)); [x3,y3]=sum2p(xa,ya,xb,yb,p); omegax(ic)=x3; omegay(ic)=y3; fprintf('(%d,%d)\n',x3,y3); ic=ic+1; if o3~=0 for j=1:o3 xa =pmata(1,j); ya= pmata(2,j); xb= hh(1,pc(ic)); yb= hh(2,pc(ic)); [x3,y3]=sum2p(xa,ya,xb,yb,p); omegax(ic)=x3; omegay(ic)=y3; fprintf('(%d,%d)\n',x3,y3); ic=ic+1; end end %la persona 2 realiza la operación OMEGA -GammaB omx=length(omegax); o33=mod(omx,t); fprintf('\nlos puntos recibidos son:\n'); ic=0; cociente=lpe/t; for i=1:cociente for j=1:t ic=ic+1; xa =omegax(ic); ya= omegay(ic); xb= pmatb(1,j); yb= abs(pmatb(2,j)-p); [x3,y3]=sum2p(xa,ya,xb,yb,p); fprintf('(%d,%d)\n',x3,y3); x_original=(x3)/k; xfinal(ic)=fix(x_original); end end %residuo if o33~=0 for j=1:o33 ic=ic+1; xa =omegax(ic); 131

145 ya= omegay(ic); xb= pmatb(1,j); yb= abs(pmatb(2,j)-p); [x3,y3]=sum2p(xa,ya,xb,yb,p); fprintf('(%d,%d)\n',x3,y3); end end x_original=(x3-1)/k; xfinal(ic)=fix(x_original); end %%%%%se recupera mensaje original fprintf('\nel mensaje numerico desencriptado es:\n'); disp(xfinal+31); %se convierte el valor numerico a texto fprintf('\nel mensaje desencriptado es:\n'); [m_new1]=convtex(xfinal(1),labc); conver=length(xfinal); for i=2:conver [m_new]=convtex(xfinal(i),labc); m_new1=[m_new1 m_new]; end disp(m_new1); sal=fopen('salida.txt', 'w'); fwrite(sal,m_new1, '*char'); fclose(sal); clear all; 132

146 APÉNDICE L. Detección y corrección de errores Las partes que conforman un sistema de comunicación digital son codificación de la fuente, codificación canal y modulación digital en el lado del transmisor, así como los procesos inversos para el lado del receptor. La detección y corrección de errores en una transmisión corresponden a la codificación del canal. Puesto que la tesis no se centra en la corrección y detección de errores de la información que se transmite solamente de modo general se explica la detección y corrección de errores, para lo cual se utiliza el código hamming (7, 4) que es un código lineal capaz de detectar y corregir un bit. El diagrama a bloques de un código hamming (7, 4) es el siguiente: mensaje En el diagrama se observa que el mensaje ingresado son bloques de longitud de cuatro bits porque se utiliza el código hamming (7, 4) y la salida de éste es de longitud siete bits, estos 133

05. Criptografía de clave pública

05. Criptografía de clave pública 05. Criptografía de clave pública Criptografía 5º Curso de Ingeniería Informática Escuela Técnica Superior de Ingeniería Informática Universidad de Sevilla Contenido Cifrado con clave pública Ventajas

Más detalles

Características y uso. Recordando. La criptografia define una función de

Características y uso. Recordando. La criptografia define una función de Introducción Criptografía Simétrica Características y uso Lámina 1 Recordando La criptografia define una función de transformación de un mensaje con base a un elemento base o llave, para obtener un nuevo

Más detalles

Seguridad Informática

Seguridad Informática Seguridad Informática Fundamentos Matemáticos de la Criptografía Ramón Hermoso y Matteo Vasirani Universidad Rey Juan Carlos Índice 1 Divisibilidad 2 Artimética modular 3 Grupos 4 El problema del logaritmo

Más detalles

Criptografía. Diplomado- TI (2) Criptografía. Diplomado-TI (2) 9 de enero de 2012

Criptografía. Diplomado- TI (2) Criptografía. Diplomado-TI (2) 9 de enero de 2012 9 de enero de 2012 Simetrías y Asimetrías Para generar una transmisión segura de datos, debemos contar con un canal que sea seguro, esto es debemos emplear técnicas de forma que los datos que se envían

Más detalles

Ampliación Matemática Discreta. Justo Peralta López

Ampliación Matemática Discreta. Justo Peralta López Justo Peralta López UNIVERSIDAD DE ALMERíA DEPARTAMENTO DE ÁLGEBRA Y ANÁLISIS MATEMÁTICO 1 2 cíclicos 3 Subgrupos 4 Algoritmos 5 ElGamal Definición Un grupo es un conjunto de elementos sobre los cuales

Más detalles

Sistema criptográfico de llave publica RSA. Análisis y diseño de algoritmos Jose F. Torres M.

Sistema criptográfico de llave publica RSA. Análisis y diseño de algoritmos Jose F. Torres M. Sistema criptográfico de llave publica RSA Análisis y diseño de algoritmos Jose F. Torres M. Introducción Un mensaje puede cifrarse mediante la aplicación de una regla que transforme el texto en claro

Más detalles

Un Poco de Historia Criptografía, Criptografía Clásica

Un Poco de Historia Criptografía, Criptografía Clásica CRIPTOGRAFÍA Un Poco de Historia Criptografía, según el diccionario de la real Academia de la Lengua Española: -Arte de escribir con clave secreta o de un modo enigmático. Del griego kryptos, que significa

Más detalles

Sistemas basados en la Teoría de Números

Sistemas basados en la Teoría de Números Criptografía de clave pública Sistemas basados en la Teoría de Números Departamento de Sistemas Informáticos y Computación DSIC - UPV http://www.dsic.upv.es p.1/20 Criptografía de clave pública Sistemas

Más detalles

Estudio, diseño y evaluación de protocolos de autentificación para redes inalámbricas

Estudio, diseño y evaluación de protocolos de autentificación para redes inalámbricas Estudio, diseño y evaluación de protocolos de autentificación para redes inalámbricas Laura Itzelt Reyes Montiel Director de Tesis: Francisco José R. Rodríguez Henríquez Departamento de Ingeniería Eléctrica

Más detalles

CONJUTOS NÚMERICOS NÚMEROS NATURALES

CONJUTOS NÚMERICOS NÚMEROS NATURALES CONJUTOS NÚMERICOS NÚMEROS NATURALES El conjunto de números naturales tiene gran importancia en la vida práctica ya que con sus elementos se pueden encontrar elementos u objetos de otros conjuntos. El

Más detalles

Asignatura: Horas: Total (horas): Obligatoria Teóricas 3.0 Semana 3.0 Optativa X Prácticas Semanas 48.0 de elección

Asignatura: Horas: Total (horas): Obligatoria Teóricas 3.0 Semana 3.0 Optativa X Prácticas Semanas 48.0 de elección UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO Aprobado por el Consejo Técnico de la Facultad de Ingeniería en su sesión ordinaria del 15 de octubre de 2008 CRIPTOGRAFÍA

Más detalles

Clave Pública. Criptografía-ULL

Clave Pública. Criptografía-ULL Clave Pública Clave Pública UsuarioA Cifrado E B Mensaje cifrado C Mensaje cifrado C Descifrado D B Usuario B Clave Pública de B Clave Privada de B Mensaje original M Mensaje original M Clave Pública Clave

Más detalles

Aritmética Modular MATEMÁTICA DISCRETA I. F. Informática. UPM. MATEMÁTICA DISCRETA I () Aritmética Modular F. Informática.

Aritmética Modular MATEMÁTICA DISCRETA I. F. Informática. UPM. MATEMÁTICA DISCRETA I () Aritmética Modular F. Informática. Aritmética Modular MATEMÁTICA DISCRETA I F. Informática. UPM MATEMÁTICA DISCRETA I () Aritmética Modular F. Informática. UPM 1 / 30 La relación de congruencia La relación de congruencia Definición Dado

Más detalles

MANUAL SOBRE FIRMA ELECTRÓNICA

MANUAL SOBRE FIRMA ELECTRÓNICA MANUAL SOBRE FIRMA ELECTRÓNICA MANUAL SOBRE FIRMA ELECTRÓNICA ÍNDICE MANUAL SOBRE FIRMA ELECTRÓNICA 1 1.- QUÉ ES LA FIRMA ELECTRÓNICA? 4 2.- A QUÉ SERVICIOS PUEDO ACCEDER CON FIRMA ELECTRÓNICA? 5 3.-

Más detalles

Seguridad Informática

Seguridad Informática Seguridad Informática Introducción a la Criptografía Ramón Hermoso y Matteo Vasirani Universidad Rey Juan Carlos Índice 1 Terminología e historia 2 Primitivas criptográficas 3 Nociones de criptoanálisis

Más detalles

MÓDULO 2 NIVEL AVANZADO Las fuentes de información institucional Unidad didáctica 5: La seguridad en las operaciones telemáticas

MÓDULO 2 NIVEL AVANZADO Las fuentes de información institucional Unidad didáctica 5: La seguridad en las operaciones telemáticas MÓDULO 2 NIVEL AVANZADO Las fuentes de información institucional E. La seguridad en las operaciones telemáticas La firma digital La firma electrónica es un sistema electrónico de acreditación que permite

Más detalles

de la forma ), i =1,..., m, j =1,..., n, o simplemente por (a i j ).

de la forma ), i =1,..., m, j =1,..., n, o simplemente por (a i j ). INTRODUCCIÓN. MATRICES Y DETERMINANTES Las matrices se utilizan en el cálculo numérico, en la resolución de sistemas de ecuaciones lineales, de las ecuaciones diferenciales y de las derivadas parciales.

Más detalles

Algoritmos de cifrado

Algoritmos de cifrado 11 de junio de 2015 Estructuración 1 Conceptos generales 2 3 4 5 El problema de la Criptografía tux@linux# Internet -----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.10 (GNU/Linux) FcelCIKc+xEzuVo1Wbg5v91kEGDaXHhjJ1

Más detalles

REALIZADO POR: MILA LEAL

REALIZADO POR: MILA LEAL REALIZADO POR: MILA LEAL Es el arte o ciencia de cifrar y descifrar información utilizando técnicas que hagan posible el intercambio de mensajes de manera segura que sólo puedan ser leídos por las personas

Más detalles

Conceptos sobre firma y certificados digitales

Conceptos sobre firma y certificados digitales Conceptos sobre firma y certificados digitales XI Reunión de Responsables de Sistemas de Información San José, Costa Rica Julio 2009 Carlos Rivas Guillén RivasGC@sugeval.fi.cr Agenda Criptografía. Firma

Más detalles

UNIDAD 1 NUMEROS COMPLEJOS

UNIDAD 1 NUMEROS COMPLEJOS UNIDAD 1 NUMEROS COMPLEJOS El conjunto de los números complejos fue creado para poder resolver algunos problemas matemáticos que no tienen solución dentro del conjunto de los números reales. Por ejemplo

Más detalles

Semana 12: Encriptación. Criptografía

Semana 12: Encriptación. Criptografía Semana 12: Encriptación Criptografía Aprendizajes esperados Contenidos: Conceptos básicos de criptografía Tipos de cifradores Cifrado de bloques Conceptos básicos Un mensaje en su estado original consiste

Más detalles

Una introducción básica. Denise Goya Seminario feb/2009

Una introducción básica. Denise Goya Seminario feb/2009 Criptografía de Curva Eĺıptica Una introducción básica Universidade de São Paulo - Instituto de Matemática e Estatística Seminario feb/2009 projeto Fapesp n 2008/06189-0 Sumario Introducción 1 Introducción

Más detalles

Criptografía de clave pública Sistemas basados en el problema de la mochila

Criptografía de clave pública Sistemas basados en el problema de la mochila de la la La Criptografía de clave pública Sistemas basados de la DSIC - UPV (DSIC - UPV) de la 1 / 21 Contenidos del tema de la la La 1 Características de los sistemas de clave pública Principios para

Más detalles

Ecuaciones e inecuaciones. Sistemas de ecuaciones e inecuaciones

Ecuaciones e inecuaciones. Sistemas de ecuaciones e inecuaciones de ecuaciones e inecuaciones Álvarez S., Caballero M.V. y Sánchez M. a M. salvarez@um.es, m.victori@um.es, marvega@um.es 1 Índice 1. Definiciones 3 2. Herramientas 5 2.1. Factorización de polinomios: Regla

Más detalles

Criptografía asimétrica o de clave pública

Criptografía asimétrica o de clave pública Criptografía asimétrica o de clave pública F. J. Martínez Zaldívar Departamento de Comunicaciones ETSI Telecomunicación Universidad Politécnica de Valencia Comunicación de Datos II Índice 1 Introducción

Más detalles

3. Elementos neutros axb N. Para la suma es el cero ya que: a + 0 = a 2. Asociatividad:

3. Elementos neutros axb N. Para la suma es el cero ya que: a + 0 = a 2. Asociatividad: INTRODUCCIÓN Las primeras ideas de número aparecen en los albores de la civilización. Los antiguos babilonios y egipcios conciben las fracciones. Con Pitágoras, los griegos descubren la necesidad de adoptar

Más detalles

Sistemas criptográficos modernos

Sistemas criptográficos modernos Sistemas criptográficos modernos Servicios de seguridad: protocolos criptográficos Confidencialidad Autenticación del usuario Integridad del mensaje Distribución de claves Compartición de secretos Pruebas

Más detalles

Ecuaciones e inecuaciones. Sistemas de ecuaciones e inecuaciones

Ecuaciones e inecuaciones. Sistemas de ecuaciones e inecuaciones Ecuaciones e inecuaciones. Sistemas de ecuaciones e inecuaciones Álvarez S., Caballero M.V. y Sánchez M. a M. salvarez@um.es, m.victori@um.es, marvega@um.es Índice 1. Herramientas 6 1.1. Factorización

Más detalles

UNIDAD 5 : ESTRUCTURAS ALGEBRAICAS

UNIDAD 5 : ESTRUCTURAS ALGEBRAICAS UNIVERSIDAD DON BOSCO - DEPARTAMENTO DE CIENCIAS BÁSICAS UNIDAD 5 : ESTRUCTURAS ALGEBRAICAS ÁLGEBRA LINEAL - GUIÓN DE CLASE - SEMANA 10 - CICLO 01-2015 Estudiante: Grupo: 1. Aplicaciones 1.1. Aplicaciones.

Más detalles

- Firma digital y cifrado de mensajes. Luis Villalta Márquez

- Firma digital y cifrado de mensajes. Luis Villalta Márquez - Firma digital y cifrado de mensajes. Luis Villalta Márquez No hay nada más fácil que leer los correos de otras personas, ya que viajan desnudos por la Red. Valga la siguiente analogía. Un correo electrónico

Más detalles

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo.

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo. Capítulo 5 Campos finitos 5.1. Introducción Presentaremos algunos conceptos básicos de la teoría de los campos finitos. Para mayor información, consultar el texto de McEliece [61] o el de Lidl y Niederreiter

Más detalles

Aritmética Computacional Factorización de enteros con Curvas Elípticas Avance de Proyecto

Aritmética Computacional Factorización de enteros con Curvas Elípticas Avance de Proyecto Aritmética Computacional Factorización de enteros con Curvas Elípticas Avance de Proyecto 1. Introducción Saúl Zapotecas Martínez Cuauhtemoc Mancillas López Centro de Investigación y Estudios Avanzados

Más detalles

ESCUELA PREPARATORIA OFICIAL NO.16 MATERÍA: PENSAMIENTO NUMÉRICO Y ALGEBRAICO I

ESCUELA PREPARATORIA OFICIAL NO.16 MATERÍA: PENSAMIENTO NUMÉRICO Y ALGEBRAICO I ARITMÉTICA 1. Números naturales 2. Divisibilidad 3. Números enteros 4. Números decimales 5. Fracciones y números racionales 6. Proporcionalidad 7. Sistema métrico decimal 8. Sistema sexagesimal 9. Números

Más detalles

Matemáticas para proteger la Información

Matemáticas para proteger la Información ! Matemáticas para proteger la Información Ángel Martín del Rey Departamento de Matemática Aplicada Universidad de Salamanca delrey@usal.es Bachillerato de Inves1gación, I.E.S. Vaguada de la Palma, 18

Más detalles

Seguridad en Redes. Dr. Arturo Redondo Galván 1

Seguridad en Redes. Dr. Arturo Redondo Galván 1 Seguridad en Redes 1 UNIDAD III CRIPTOGRAFÍA Y AUTENTICACIÓN 2 OBJETIVO: Identificar los elementos de seguridad y el ciclo de vida de las operaciones y las políticas de seguridad. 3 INTRODUCCIÓN (1/3)

Más detalles

Lección 8. Matrices y Sistemas de Ecuaciones Lineales

Lección 8. Matrices y Sistemas de Ecuaciones Lineales Lección 8 Matrices y Sistemas de Ecuaciones Lineales MIGUEL ANGEL UH ZAPATA 1 Análisis Numérico I Facultad de Matemáticas, UADY Septiembre 2014 1 Centro de Investigación en Matemáticas, Unidad Mérida En

Más detalles

Lección 3: Sistemas de Cifra con Clave Pública

Lección 3: Sistemas de Cifra con Clave Pública Lección 3: Sistemas de Cifra con Pública Gonzalo Álvarez Marañón gonzalo@iec.csic.es Consejo Superior de Investigaciones Científicas Científico Titular Los tipos de criptografía Criptografía Simétrica

Más detalles

Si se pueden obtener las imágenes de x por simple sustitución.

Si se pueden obtener las imágenes de x por simple sustitución. TEMA 0: REPASO DE FUNCIONES FUNCIONES: TIPOS DE FUNCIONES Funciones algebraicas En las funciones algebraicas las operaciones que hay que efectuar con la variable independiente son: la adición, sustracción,

Más detalles

SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES

SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES RELACIONES BINARIAS PAR ORDENADO Es un arreglo de dos elementos que tienen un orden determinado donde a es llamada al primera componente y b es llamada la

Más detalles

Toda función es una relación, pero no toda relación es una función. Las relaciones multiformes NO son funciones. Relación uno a uno (biunívoca)

Toda función es una relación, pero no toda relación es una función. Las relaciones multiformes NO son funciones. Relación uno a uno (biunívoca) CONCEPTO TRADICIONAL DE FUNCIÓN Cuando dos variables están relacionadas en tal forma que a cada valor de la primera corresponde un valor de la segunda, se dice que la segunda es función de la primera.

Más detalles

MATRICES. Jaime Garrido Oliver

MATRICES. Jaime Garrido Oliver MATRICES Jaime Garrido Oliver ÍNDICE DE CONTENIDOS ÍNDICE DE CONTENIDOS... 2 MATRICES... 3 1.1. INTRODUCCIÓN.... 3 2. TIPOS DE MATRICES... 4 2.1. Matriz Fila, Matriz Columna... 4 2.2. Matrices cuadradas...

Más detalles

TEMA 0: REPASO DE FUNCIONES

TEMA 0: REPASO DE FUNCIONES TEMA 0: REPASO DE FUNCIONES Recordamos que una función real de variable real es una aplicación de un subconjunto de los números reales A en el conjunto de los números reales de forma que a cada elemento

Más detalles

Redes de comunicación

Redes de comunicación UNIVERSIDAD AMERICANA Redes de comunicación Unidad III- Criptografía: Sistemas Asimétricos Recopilación de teoría referente a la materia Ing. Luis Müller 2011 Esta es una recopilación de la teoría referente

Más detalles

DOCENTE: JESÚS E. BARRIOS P.

DOCENTE: JESÚS E. BARRIOS P. DOCENTE: JESÚS E. BARRIOS P. DEFINICIONES Es larga la historia del uso de las matrices para resolver ecuaciones lineales. Un texto matemático chino que proviene del año 300 A. C. a 200 A. C., Nueve capítulos

Más detalles

*Número natural, el que sirve para designar la cantidad de. *El cero, a veces, se excluye del conjunto de los números

*Número natural, el que sirve para designar la cantidad de. *El cero, a veces, se excluye del conjunto de los números *Número natural, el que sirve para designar la cantidad de elementos que tiene un cierto conjunto, y se llama cardinal de dicho conjunto. *Los números naturales son infinitos. El conjunto de todos ellos

Más detalles

Códigos y Criptografía

Códigos y Criptografía CINVESTAV francisco@cs.cinvestav.mx Las tres leyes de la seguridad: 1. NO existen los Sistemas absolutamente seguros Las tres leyes de la seguridad: 2. Reducir nuestras vulnerabilidades a la mitad implica

Más detalles

ECUACIONES DE PRIMER Y SEGUNDO GRADO

ECUACIONES DE PRIMER Y SEGUNDO GRADO 7. UNIDAD 7 ECUACIONES DE PRIMER Y SEGUNDO GRADO Objetivo general. Al terminar esta Unidad resolverás ejercicios y problemas que involucren la solución de ecuaciones de primer grado y de segundo grado

Más detalles

UNIDAD 8 INECUACIONES. Objetivo general.

UNIDAD 8 INECUACIONES. Objetivo general. 8. 1 UNIDAD 8 INECUACIONES Objetivo general. Al terminar esta Unidad resolverás inecuaciones lineales y cuadráticas e inecuaciones que incluyan valores absolutos, identificarás sus conjuntos solución en

Más detalles

Objetivos formativos de Álgebra

Objetivos formativos de Álgebra Objetivos formativos de Álgebra Para cada uno de los temas el alumno debe ser capaz de hacer lo que se indica en cada bloque. Además de los objetivos que se señalan en cada tema, se considera como objetivo

Más detalles

Polinomios: Definición: Se llama polinomio en "x" de grado "n" a una expresión del tipo

Polinomios: Definición: Se llama polinomio en x de grado n a una expresión del tipo Polinomios: Definición: Se llama polinomio en "x" de grado "n" a una expresión del tipo P (x) = a 0 x n + a 1 x n 1 +... + a n Donde n N (número natural) ; a 0, a 1, a 2,..., a n son coeficientes reales

Más detalles

La gráfica de la ecuación y = x 2

La gráfica de la ecuación y = x 2 INSTITUTO TECNOLÓGICO DE COSTA RICA UNIVERSIDAD DE COSTA RICA Randall Blanco B. La gráfica de la ecuación y = x 2 Cuando se habla de la gráfica de una ecuación con dos incógnitas, se hace referencia a

Más detalles

INFORMÁTICA MATLAB GUÍA 3 Operaciones con Matrices

INFORMÁTICA MATLAB GUÍA 3 Operaciones con Matrices 1. ARREGLOS BIDIMENSIONALES (MATRICES) A las matrices también se les conoce como arreglos bidimensionales, y son una colección de números distribuidos en filas y columnas: Usos de las matrices: Electricidad

Más detalles

En una recta numérica el punto que representa el cero recibe el nombre de origen.

En una recta numérica el punto que representa el cero recibe el nombre de origen. 1. Conjuntos numéricos Los conjuntos numéricos con los que has trabajado tanto en Enseñanza Básica como en Enseñanza Media, se van ampliando a medida que se necesita resolver ciertas problemáticas de la

Más detalles

CURSO PROPEDÉUTICO 2017

CURSO PROPEDÉUTICO 2017 CURSO PROPEDÉUTICO 2017 1 FUNDAMENTOS DE MATEMÁTICAS OBJETIVO Formar estudiantes altamente capacitados, que cuenten con competencias y conocimientos para construir y utilizar técnicas que contribuyan a

Más detalles

2. Obtener, por ensayo y error, una aproximación del entero más grande. Sugerencia: leer n y escribir n y n+1. (Puede ser muy largo el ensayo).

2. Obtener, por ensayo y error, una aproximación del entero más grande. Sugerencia: leer n y escribir n y n+1. (Puede ser muy largo el ensayo). En los ejercicios, cuando se hable de un entero (un número entero), se trata de un entero del lenguaje C. Por ejemplo, 10 20 es un número entero en el sentido matemático, pero muy posiblemente este entero

Más detalles

GUÍA DE TRABAJO No.4

GUÍA DE TRABAJO No.4 INSTITUCIÓN EDUCATIVA JOSÉ JOAQUIN FLOREZ HERNANDEZ JORNADA TARDE ALUMNO: CÓDIGO : GRADO: 9 C - D ASIGNATURA : MATEMÁTICAS FECHA : UNIDAD 2: RELACIONES Y FUNCIONES PERÍODO : 2 GUÍA DE TRABAJO No.4 Definición

Más detalles

UNIDAD DE APRENDIZAJE I

UNIDAD DE APRENDIZAJE I UNIDAD DE APRENDIZAJE I Saberes procedimentales GEOMETRÍA ANALÍTICA 1. Define e identifica los tipos de conjuntos y las operaciones entre ellos. 2. Emplea de manera sistemática conceptos algebraicos, trigonométricos

Más detalles

DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES

DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES ALGEBRA DE MATRICES DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES DEFINICIONES 2 Las matrices y los determinantes son herramientas

Más detalles

INTERVALOS Y SEMIRRECTAS.

INTERVALOS Y SEMIRRECTAS. el blog de mate de aida CSI: Inecuaciones pág 1 INTERVALOS Y SEMIRRECTAS La ordenación de números permite definir algunos conjuntos de números que tienen una representación geométrica en la recta real

Más detalles

CONJUNTOS. Los conjuntos son conceptos primitivos que representan una totalidad, una reunión de cosas.

CONJUNTOS. Los conjuntos son conceptos primitivos que representan una totalidad, una reunión de cosas. CONJUNTOS CPR. JORGE JUAN Xuvia-Narón Los conjuntos son conceptos primitivos que representan una totalidad, una reunión de cosas. Un conjunto está formado por una serie de elementos susceptibles de poseer

Más detalles

MATRICES OPERACIONES BÁSICAS CON MATRICES

MATRICES OPERACIONES BÁSICAS CON MATRICES MATRICES OPERACIONES BÁSICAS CON MATRICES ANTECEDENTES En el año 1850, fueron introducidas por J.J. Sylvester El desarrollo inicial de la teoría se debe al matemático W.R. Hamilton en 1853. En 1858, A.

Más detalles

Introducción a la Matemática Discreta

Introducción a la Matemática Discreta Introducción a la Matemática Discreta Aritmética Modular Luisa María Camacho Camacho Introd. a la Matemática Discreta 1 / 39 Introducción a la Matemática Discreta Temario Tema 1. Teoría de Conjuntos. Tema

Más detalles

Sistemas de ecuaciones.

Sistemas de ecuaciones. 1 CONOCIMIENTOS PREVIOS. 1 Sistemas de ecuaciones. 1. Conocimientos previos. Antes de iniciar el tema se deben de tener los siguientes conocimientos básicos: Operaciones básicas con polinomios. Resolución

Más detalles

2.Introducción a la seguridad

2.Introducción a la seguridad 2.Introducción a la seguridad Las necesidades de seguridad de la información han ido evolucionando al igual que las ciencias de la computación y las tecnologías de la información. De este modo, las herramientas

Más detalles

División algebraica I (Método de Horner)

División algebraica I (Método de Horner) División algebraica I (Método de Horner) División por Horner: División no algebraica de polinomios Esta división exige condiciones especiales: a. Aplicamos el método de Horner con el ordenamiento de los

Más detalles

Estructuras Algebraicas

Estructuras Algebraicas Tema 1 Estructuras Algebraicas Definición 1 Sea A un conjunto no vacío Una operación binaria (u operación interna) en A es una aplicación : A A A Es decir, tenemos una regla que a cada par de elementos

Más detalles

Las matrices se denotarán usualmente por letras mayúsculas, A, B,..., y los elementos de las mismas por minúsculas, a, b,...

Las matrices se denotarán usualmente por letras mayúsculas, A, B,..., y los elementos de las mismas por minúsculas, a, b,... INTRO. MATRICES Y DETERMINANTES Prof. Gustavo Sosa Las matrices se utilizan en el cálculo numérico, en la resolución de sistemas de ecuaciones lineales, de las ecuaciones diferenciales y de las derivadas

Más detalles

La gráfica de la ecuación

La gráfica de la ecuación INSTITUTO TECNOLÓGICO DE COSTA RICA UNIVERSIDAD DE COSTA RICA Randall Blanco B. La gráfica de la ecuación Cuando se habla de la gráfica de una ecuación con dos incógnitas, se hace referencia a la representación

Más detalles

Una Introducción Matemática a la Criptografía (para mis alumnos de Álgebra I)

Una Introducción Matemática a la Criptografía (para mis alumnos de Álgebra I) Una Introducción Matemática a la Criptografía (para mis alumnos de Álgebra I) Pablo De Nápoli pdenapo@dm.uba.ar Una Introducción Matemática a la Criptografía(para mis alumnos de Álgebra I) p. 1 Qué es

Más detalles

Resumen anual de Matemática 1ª Convocatoria: jueves 24 de noviembre, 2016 Octavo nivel 2ª Convocatoria: miércoles 1 de febrero, 2017 broyi.jimdo.

Resumen anual de Matemática 1ª Convocatoria: jueves 24 de noviembre, 2016 Octavo nivel 2ª Convocatoria: miércoles 1 de febrero, 2017 broyi.jimdo. Resumen anual de Matemática 1ª Convocatoria: jueves 4 de noviembre, 016 Octavo nivel ª Convocatoria: miércoles 1 de febrero, 017 broyi.jimdo.com Contenidos Los números... Objetivo 1... El conjunto de los

Más detalles

2. Determine los números enteros n que satisfacen la relación planteada:

2. Determine los números enteros n que satisfacen la relación planteada: ÍÒ Ú Ö Æ ÓÒ Ð Ä Å Ø ÒÞ Ä Ò ØÙÖ Ò Å Ø Ñ Ø ÔÐ Ì ÓÖ Æ Ñ ÖÓ ÈÖÓ ÓÖ ÊÓ ÖØÓ ÇÚ Ó Å ÖØ Ò Ê ÑÓ 1 1. Divisibilidad. 1. a) ( ) El producto de dos números naturales m y n aumenta en 132 si cada uno de ellos aumenta

Más detalles

Introducción a la Criptología

Introducción a la Criptología Universidad Nacional Autónoma de México Facultad de Ciencias Propuesta de Temario para la Licenciatura en Ciencias de la Computación para la asignatura: Introducción a la Criptología Modalidad: Curso Carácter:

Más detalles

Matrices y determinantes

Matrices y determinantes Matrices y determinantes 1 Ejemplo Cuál es el tamaño de las siguientes matrices? Cuál es el elemento a 21, b 23, c 42? 2 Tipos de matrices Matriz renglón o vector renglón Matriz columna o vector columna

Más detalles

PREPARADOR DE CALCULO 11

PREPARADOR DE CALCULO 11 3 PREPARADOR DE CALCULO 3 ÁREA: Matemáticas ASIGNATURA: Cálculo INTENSIDAD HORARIA SEMANAL: 5 Horas TEMA: Conjuntos Definición: Intuitivamente, un conjunto es una colección o clase de objetos bien definidos.

Más detalles

UNIDAD DE APRENDIZAJE IV

UNIDAD DE APRENDIZAJE IV UNIDAD DE APRENDIZAJE IV Saberes procedimentales Emplea de manera sistemática conceptos algebraicos, geométricos, trigonométricos y de geometría analítica. Relaciona la ecuación de segundo grado en dos

Más detalles

Unidad 2: Ecuaciones, inecuaciones y sistemas.

Unidad 2: Ecuaciones, inecuaciones y sistemas. Unidad 2: Ecuaciones, inecuaciones y sistemas 1 Unidad 2: Ecuaciones, inecuaciones y sistemas. 1.- Factorización de polinomios. M. C. D y m.c.m de polinomios. Un número a es raíz de un polinomio es 0.

Más detalles

CONJUNTO DE LOS NÚMEROS NATURALES

CONJUNTO DE LOS NÚMEROS NATURALES República Bolivariana de Venezuela Ministerio de la Defensa Universidad Nacional Experimental de las Fuerzas Armadas Curso de Inducción Universitaria CIU Cátedra: Razonamiento Matemático CONJUNTO DE LOS

Más detalles

Una forma fácil de recordar esta suma (regla de Sarrus): Primero vamos a estudiar algunas propiedades de los determinantes.

Una forma fácil de recordar esta suma (regla de Sarrus): Primero vamos a estudiar algunas propiedades de los determinantes. Una forma fácil de recordar esta suma (regla de Sarrus): Ejemplos: Tarea: realizar al menos tres ejercicios de cálculo de determinantes de matrices de 2x2 y otros tres de 3x3. PARA DETERMINANTES DE MATRICES

Más detalles

De grados tres y cuatro

De grados tres y cuatro De grados tres y cuatro Comportamiento general de las funciones polinomiales de grados tres y cuatro Funciones de grado tres. La forma general de las funciones de grado tres (cúbicas) esf x = ax 3 + bx

Más detalles

1.- Álgebra de números complejos.

1.- Álgebra de números complejos. .- Álgebra de números complejos. a) Definición y representación geométrica. b) Sumas y productos de números complejos. c) Vectores y módulos en el plano complejo. d) Representación en forma exponencial.

Más detalles

Criptografía Hash para Firma Electrónica. Dr. Luis A. Lizama Pérez

Criptografía Hash para Firma Electrónica. Dr. Luis A. Lizama Pérez Criptografía Hash para Firma Electrónica Dr. Luis A. Lizama Pérez Firma Electrónica Función Hash Firma de Una Sola Vez (OTS) Cadena Hash + S/Key HMAC Protocolo básico de Firma Electrónica Hash Conclusiones

Más detalles

1 de 6 24/08/2009 9:54 MATRICES Las matrices aparecen por primera vez hacia el año 1850, introducidas por J.J. Sylvester El desarrollo inicial de la teoría se debe al matemático W.R. Hamilton en 1853 En

Más detalles

Una matriz es un arreglo rectangular de números. Los números en el arreglo se llaman elementos de la matriz. ) ( + ( ) ( )

Una matriz es un arreglo rectangular de números. Los números en el arreglo se llaman elementos de la matriz. ) ( + ( ) ( ) MATRICES Una matriz es un arreglo rectangular de números. Los números en el arreglo se llaman elementos de la matriz. Ejemplo 1. Algunos ejemplos de matrices ( + ( ) ( + ( ) El tamaño o el orden de una

Más detalles

RESUMEN DE CONCEPTOS

RESUMEN DE CONCEPTOS RESUMEN DE CONCEPTOS 1º ESO MATEMÁTICAS NÚMEROS NATURALES (1) Múltiplo de un número: Un número es múltiplo de otro si el segundo está contenido en el primero un número exacto de veces. Ejemplo: 16 es múltiplo

Más detalles

UNIDAD 3 LA RECTA Y SU ECUACIÓN CARTESIANA. Dada la ecuación de dos rectas. Determinará si se cortan, si son paralelas o perpendiculares. Y l.

UNIDAD 3 LA RECTA Y SU ECUACIÓN CARTESIANA. Dada la ecuación de dos rectas. Determinará si se cortan, si son paralelas o perpendiculares. Y l. UNIDAD 3 LA RECTA SU ECUACIÓN CARTESIANA OBJETIVOS ESPECÍFICOS. Al término de la unidad, el alumno: Conocerá las distintas formas de representación de la recta e identificará cuál de ellas conviene usar.

Más detalles

Tema 2 Algebra. Expresiones algebraicas Índice

Tema 2 Algebra. Expresiones algebraicas Índice Tema 2 Algebra. Expresiones algebraicas Índice 1. Expresiones algebraicas comunes... 2 2. Valor numérico de una expresión algebraica... 2 3. Tipos de expresiones algebraicas... 2 4. Monomios... 2 4.1.

Más detalles

CONJUNTO DE LOS NÚMEROS NATURALES

CONJUNTO DE LOS NÚMEROS NATURALES CONJUNTO DE LOS NÚMEROS NATURALES 1.- DEFINICIÓN DEL CONJUNTO DE LOS NÚMEROS NATURALES (Conjunto N): Un número natural es cualquier número que se puede usar para contar los elementos de un conjunto finito.

Más detalles

Álgebra 2. Plan de estudios (305 temas)

Álgebra 2. Plan de estudios (305 temas) Álgebra 2 Este curso cubre los conceptos mostrados a continuación. El estudiante navega por trayectos de aprendizaje basados en su nivel de preparación. Usuarios institucionales pueden personalizar el

Más detalles

Expresiones algebraicas

Expresiones algebraicas Expresiones algebraicas Trabajar en álgebra consiste en manejar relaciones numéricas en las que una o más cantidades son desconocidas. Estas cantidades se llaman variables, incógnitas o indeterminadas

Más detalles

Unidad 2. FUNCIONES Conceptos

Unidad 2. FUNCIONES Conceptos Unidad 2. FUNCIONES Competencia específica a desarrollar Comprender el concepto de función real y tipos de funciones, así como estudiar sus propiedades y operaciones. Función 2.1. Conceptos Se puede considerar

Más detalles

CRIPTOGRAFÍA 5º CURSO DE INGENIERÍA INFORMÁTICA

CRIPTOGRAFÍA 5º CURSO DE INGENIERÍA INFORMÁTICA CRIPTOGRAFÍA 5º CURSO DE INGENIERÍA INFORMÁTICA Introducción E.T.S.I. Informática Universidad de Sevilla Curso 2007/2008 NECESIDAD DE LA SEGURIDAD Siempre hay oponentes. Un remedio : no tener secretos,

Más detalles

CRIPTOGRAFIA, ESTEGANOGRAFIA Y WATERMARKING

CRIPTOGRAFIA, ESTEGANOGRAFIA Y WATERMARKING CRIPTOGRAFIA, ESTEGANOGRAFIA Y WATERMARKING TÉCNICAS PARA LA TRANSMISIÓN DE MENSAJES OCULTOS SIMPOSIO INTERNACIONAL DE TELECOMUNICACIONES MERIDA-VENEZUELA 2007 magerardino@uni-anz.edu.ve Seguridad en Redes

Más detalles

No es otra cosa, que la representación de los resultados de una función sobre el plano carteciano.

No es otra cosa, que la representación de los resultados de una función sobre el plano carteciano. FUNCIONES GRAFICAS No es otra cosa, que la representación de los resultados de una función sobre el plano carteciano. INTÉRVALOS Un intervalo es el conjunto de todos los números reales entre dos números

Más detalles

Álgebra y Matemática Discreta

Álgebra y Matemática Discreta Álgebra y Matemática Discreta Sesión de Teoría 3 (c) 2013 Leandro Marín, Francisco J. Vera, Gema M. Díaz 23 Sep 2013-29 Sep 2013 Congruencias Definición Congruencia Módulo n Sea n 1 un número entero. Diremos

Más detalles

Una curva del plano correspondiente a la gráfica de una función si y sólo si ninguna recta vertical intercepta a la curva más de una vez

Una curva del plano correspondiente a la gráfica de una función si y sólo si ninguna recta vertical intercepta a la curva más de una vez Función Una función f de un conjunto D a un conjunto E, es una regla de correspondencia que asigna a cada elemento x de D un elemento único y de E. Características de las funciones Dominio de una función:

Más detalles

VECTORES : Las Cantidades Vectoriales cantidades escalares

VECTORES : Las Cantidades Vectoriales cantidades escalares VECTORES En física hay dos tipos de cantidades: Las Cantidades Vectoriales son aquellas que tiene tanto magnitud como dirección y sentido sobre la dirección), mientras que las cantidades escalares son

Más detalles

TEMA Nº 1. Conjuntos numéricos

TEMA Nº 1. Conjuntos numéricos TEMA Nº 1 Conjuntos numéricos Aprendizajes esperados: Utilizar y clasificar los distintos conjuntos numéricos en sus diversas formas de expresión, tanto en las ciencias exactas como en las ciencias sociales

Más detalles

TEMA V. Pues bien, a estas caracterizaciones de los sistemas de ecuaciones lineales se las llamó matrices. En el caso del sistema considerado tenemos:

TEMA V. Pues bien, a estas caracterizaciones de los sistemas de ecuaciones lineales se las llamó matrices. En el caso del sistema considerado tenemos: TEMA V 1. MATRICES Y SISTEMAS DE ECUACIONES LINEALES. Sea el siguiente sistema de ecuaciones lineales: Realmente quien determina la naturaleza y las soluciones del sistema, no son las incógnitas: x, y,

Más detalles