LA INVESTIGACIÓN EN LA UNIVERSIDAD POLITÉCNICA DE AGUASCALIENTES

LA INVESTIGACIÓN EN LA UNIVERSIDAD POLITÉCNICA DE AGUASCALIENTES

Arturo Córdova Rangel
Carlos Alejandro de Luna Ortega
Sandra Patricia Flores Esquivel
José Luis Gallegos Ramírez
Universidad Politécnica de Aguascalientes

Volver al índice

MATEMÁTICAS EN CRIPTOGRAFÍA: USOS EN SEGURIDAD DE LAS TECNOLOGÍAS DE LA INFORMACIÓN

Gilberto Sánchez Mares1
Hexaware Technologies
ilbertos@hexaware.com

Carlos Jacob González Hernández2
Universidad Politécnica de Aguascalientes
jacob_goh@hotmail.com

 

Resumen
La criptografía se ha utilizado durante años para enviar mensajes confidenciales cuya finalidad es que sólo las personas autorizadas puedan entender el mensaje. Alguien que quiere enviar información confidencial aplica técnicas de criptografía para "ocultar" el mensaje (llamado cifrar), el mensaje se envía por una línea de comunicación que se supone es insegura y entonces sólo el destinatario puede leer el mensaje "oculto" (lo llamamos, descifrar).
La criptografía actual inicia en la segunda mitad de los años 70; no fue hasta la invención del sistema conocido como Cifrado de Datos Estándar (DES, por sus siglas en inglés de Data Encryption Standard) en 1976, que se da a conocer más ampliamente, sobre todo en el mundo industrial y comercial, transmisiones militares, transacciones financieras, comunicaciones por satélite, redes de computadoras, telefonía. Más tarde con el sistema de Rivest, Shamir, Adleman (RSA) en 1978, el principio de la criptografía en una amplia gama de aplicaciones se abre en transmisiones de televisión y así sucesivamente.
La criptografía se divide en dos ramas principales, la criptografía de clave privada o simétrica y la clave pública o asimétrica, DES pertenece al primer grupo y RSA al segundo.
El presente trabajo muestra las diferentes herramientas utilizada en la criptografía basadas en fundamentos matemáticos, que se utilizan actualmente para la seguridad de la información en la industria de las Tecnologías de la Información (TI).

Palabras clave: Criptografía Asimétrica - Función Hash – RSA - Compartiendo Secretos - Criptografía Simétrica

Abstract
Cryptography has been used for years to send confidential messages aimed only authorized people can understand the message. Someone who wants to send confidential information applies cryptographic techniques to "hide" the message (called encrypt) the message is sent via a communication line is supposed to be insecure and then only the recipient can read the "hidden" message (we call decrypt).
Current cryptography begins in the second half of the 70s; It was not until the invention of known as Encryption Standard Data System (DES, for its acronym in English Data Encryption Standard) in 1976, which is disclosed more widely, especially in the industrial and commercial world, military transmissions, transactions financial, satellite communications, computer networks, telephony. Later with the system of Rivest, Shamir, Adleman (RSA) 1978, the principle of cryptography in a wide range of applications opens in television broadcasting and so on.
Cryptography is divided into two main branches, private or symmetric cryptography and public key or asymmetric key, DES belongs to the first group and the second RSA.
This paper shows the different tools used in cryptography based on mathematical foundations, which are currently used for information security in the industry of Information Technology (IT).

Key Words: Asymmetric Cryptography – Hash Function – RSA - Sharing Secrets - Symmetric Cryptography

 

1 INTRODUCCIÓN
Desde su creación, la criptografía se convirtió en una herramienta ampliamente utilizada en el ámbito militar, en la Segunda Guerra Mundial (SGM) tuvo un papel decisivo, una de las máquinas de cifrado más populares fue llamada ENIGMA. Después de la guerra, los organismos de seguridad invierten muchos recursos para la investigación. La criptografía tal como la conocemos hoy en día surgió con la invención de la computadora. Una buena referencia sobre la historia de la criptografía desde sus inicios hasta la SGM se puede encontrar en Kahn, D. (1976) y Deavors, et. Al. (1985).
Para entender un poco de la criptografía, es el momento de preguntar qué tipo de problemas resuelve. Los temas principales resueltos por la criptografía son: dispositivos de seguridad, confidencialidad, integridad, autenticación y no repudio.

1.1 Confidencialidad
Se refiere a que la información sólo puede ser leída por personas autorizadas. Por ejemplo: si la comunicación se establece por teléfono y alguien intercepta la comunicación o conversación en la otra línea se puede afirmar que no hay privacidad. En la comunicación por Internet es muy difícil estar seguro de que la comunicación es privada, ya que no se tiene control sobre la línea de comunicación. Por lo tanto, si ciframos (ocultar) información de cualquier interceptación no autorizada no podremos entender la confidencial de la información. Esto puede ser posible si se utilizan técnicas criptográficas, en particular, se logra la privacidad si el mensaje se cifra con un método simétrico.

1.2 Integridad
Esto significa que la información no puede ser modificada en el curso de ser enviada. Por ejemplo: cuando usted compra un boleto de avión, es muy prudente comprobar que los datos son correctos antes de completar la transacción, en un proceso común que se puede realizar en el mismo momento de la compra, como la compra en línea que se puede hacer desde dos ciudades distantes y la información necesaria para viajar a través de una línea de transporte que no tiene control. Es muy importante asegurarse de que la información proporcionada no se ha cambiado (en cuyo caso se dice que hay integridad).

1.3 Autenticidad
Significa que se puede confirmar que el mensaje recibido ha sido enviado por el propietario o que el mensaje recibido es el esperado. En ejemplo: las técnicas necesarias para verificar la autenticidad de las personas y de los mensajes, se está utilizando la aplicación más popular de la criptografía asimétrica, la firma digital.

1.4 No repudiación
Se refiere a que no se puede negar la autoría de un mensaje enviado. Cuando un sistema de seguridad es diseñado, muchos problemas se pueden evitar si se ponen en función de verificación de autenticidad, garantía de privacidad, para asegurar la integridad y evitar el no repudio.

1.5 Criptografía Simétrica
La criptografía simétrica se refiere al conjunto de métodos que permiten la comunicación segura entre las partes previstas que anteriormente han intercambiado la clave simétrica de llamada correspondiente. La simetría significa que las partes tengan la misma clave para cifrar y descifrar. Este tipo de criptografía también se conoce como criptografía de clave privada. Hay una clasificación de este tipo de criptografía, cifrado en bloque, cifrado de flujo y funciones hash.
La criptografía simétrica se ha utilizado a lo largo de la historia, ha sido capaz de implementarse en diferentes dispositivos, manuales, mecánicos, eléctricos, de los algoritmos actuales que son programables en cualquier ordenador. La idea general es aplicar diferentes funciones para el mensaje a cifrar, de modo que sólo saber una clave se puede aplicar en orden inverso y descifrar.
Aunque no hay tipo estándar de diseño, tal vez el más popular es Feistel, que consiste esencialmente en la aplicación de un número finito de interacciones de una manera que finalmente resulta en el mensaje cifrado.

1.6 Criptografía Asimétrica
La criptografía asimétrica es por definición la que utiliza dos claves diferentes para cada usuario, uno para el cifrado la cual llama una clave pública y una decodificación que es la clave privada. El nacimiento de la criptografía asimétrica llegó a ser la búsqueda de una forma más práctica para el intercambio de claves simétricas, Diffie y Hellman (1976) proponen una manera de hacer esto, sin embargo, no fue hasta el método popular de Rivest, Shamir y Adleman (RSA), publicado en 1978, cuando se toma la forma de criptografía asimétrica, su funcionamiento se basa en la imposibilidad computacional de factorizar enteros grandes.
Actualmente la criptografía asimétrica (Odlyzco, 1993) se utiliza ampliamente, sus dos aplicaciones principales son, precisamente, el intercambio de claves privadas (ANSI X9.42, 1995) y la firma digital, la firma digital se puede definir como una cadena de caracteres en un archivo digital, añadiendo el mismo rol que la firma convencional cuando se escribe en un documento de papel ordinario.

2 METODOLOGÍA
Se seleccionaron diferentes métodos de encriptación (de simétrico, asimétrico y otros tipos de criptografía), en base a estos, se desarrollaron softwares para demostrar sus usos. Los métodos usados son:

  • Criptografía Simétrica:
    • Funciones Hash.
  • Criptografía Asimétrica:
    • RSA.
  • Otras:
    • Compartiendo Secretos.

2.1 Funciones Hash
Una herramienta importante en la criptografía son las funciones Hash (ISO 10118-1,2,3,4, 1996), se utilizan principalmente para resolver el problema de la integridad del mensaje y la autenticidad de los mensajes, así como su origen. La función hash es también ampliamente utilizada para las firmas digitales, ya que los documentos firmados pueden ser generalmente demasiado grandes, la función hash los asocia con una cadena de longitud de 160 bits que son más manejables para el propósito de la firma digital. ¿Cómo lleva a cabo una función hash en un mensaje de longitud arbitraria transformándola en "sólo" un mensaje de longitud constante? (Figura 1).

La idea general es la siguiente: la función hash toma como entrada una cadena de longitud arbitraria, digamos 5259 bits, a continuación, se divide el mensaje en piezas iguales, digamos 160 bits, como en este caso y en general el mensaje original no es un múltiplo de 160, a continuación, para completar un número entero de bits de los últimos 160 bits se añade una carga, como ejemplo diremos que son ceros. En nuestro caso en 5259 puede encajar 32 piezas de 160 bits y de sobrante 139, luego 21 ceros más fueron añadidos.
Entonces, el mensaje toma la forma x = x1, x2, x3, ..., xt donde cada xi es del mismo tamaño (por ejemplo 160 bits). Posteriormente un valor constante para inicializar un vector de IV es asociado, y se realizan las siguientes interacciones:

donde f es una función que combina dos cadenas de bits de igual longitud y las fija, y g es una función de salida.

2.2 Rivest, Shamir y Adleman

En el caso de RSA (Coutinho, 1998) el problema matemático es el factorizar n un número entero mayor (1024 bits), este entero que se sabe es el producto de dos números primos p, q de la misma longitud, entonces la clave pública del número n es privado p, q. El funcionamiento del razonamiento RSA es el siguiente:

  • A cada usuario se le asigna un número entero n, que funciona como su clave pública.
  • El usuario respectivo sólo conoce la factorización de n (es decir, p, q), que se mantiene como clave secreta y privada (Figura 2a).
  • Hay un directorio de claves públicas (Figura 2b).
  • Si alguien quiere enviar un mensaje m a un usuario y luego elige su clave pública n y la información adicional también es pública, puede enviar el mensaje cifrado c, que sólo puede descifrar el usuario correspondiente, el mensaje m se convierte en un número (codificación) con la ecuación (4).
  • Luego, el mensaje c puede viajar sin ningún problema en un canal inseguro.
  • Cuando la información cifrada llega a su destino, el receptor procede a descifrar el mensaje con la fórmula (5).
  • Se puede demostrar que estas fórmulas se invierten y, por tanto, dan el resultado deseado (m, e) que es público y puede ser considerado como la clave pública, la clave privada es el par (p, q) o de forma equivalente el número d. La relación entre d y e es que uno es el inverso multiplicativo del módulo l(n) de la otra, donde l(n) es el mínimo común múltiplo de p-1 y q-1, esto significa que la clave privada asociada es p, q o el número d.

2.3 Compartiendo Secretos

El compartiendo secretos (Shamir, 1979) (Ahlswede, 1993), como su nombre lo dice es una técnica criptográfica que va de un secreto, puede ser una clave secreta, la responsabilidad de varias personas y que sólo el número mínimo de personas puede reconstruir el secreto compartido.
Uno de los mejores métodos de comparación de secretos y más conocido es el esquema (n, k) límite de Shamir. Este método consiste en partir una clave K en n partes, y se tiene como mínimo (límite) el número k de partes para reconstruir la clave, es decir cualquiera k de los n custodios pueden reconstruir la clave K, pero ningún subgrupo de k-1 custodios podrá hacerlo:

  • Se define el número de custodios t, digamos t = 2.
  • Se generan aleatoriamente los coeficientes necesarios para construir un polinomio de  t-1  grado, en nuestro caso (6)

donde el coeficiente es aleatorio y s el secreto a compartir.

  • Evidentemente el secreto se recupera conociendo el polinomio y evaluando s = f(0)
  • Para nuestro caso las partes serán:

en general

El método para recuperar el secreto s, es reconstruir el polinomio f(x) a partir de t partes cualquiera, esto se hace por medio de la interpolación de Lagrange (Meijering, 2002). En nuestro caso el secreto se puede reconstruir de  la siguiente equivalencia:

donde y1 y y2 son las partes, esto es

3 RESULTADOS

Las aplicaciones para el cifrado de señales se desarrollaron en diferentes lenguajes (java, ASP. Net y HTML), los resultados son los que se muestran a continuación:

    • Funciones Hash

Se desarrolló una aplicación en el lenguaje de programación Java (Figura 3) para generar cifrado usando diferentes funciones hash, las cuales pueden ser usadas para generar datos de prueba en bases de datos.

    • Rivest, Shamir y Adleman

Se desarrolló una aplicación Web (Figura 4a) para generar cifrado usando RSA (Figura 4b), la cual puede ser usada para aplicaciones de correo electrónico.
 Compartiendo Secretos

Una “form” fue desarrollada en Visual Studio 2013® (ASP .Net) para cifrar documentos usando la técnica compartiendo secretos (Figura 5)

4 CONCLUSIONES

Hoy en día, la información puede ser una de las posesiones más preciadas, o de las peores armas para atacar a alguien. Así que en esta sociedad en la que vivimos, las comunicaciones seguras son muy necesarias, y como exponente líder está el Internet, ya que este método de comunicación es cada vez más utilizado por los individuos, las universidades, las empresas, y cada vez más. Por lo tanto concebible que el tema de la seguridad de la información es uno de los más claros ejemplos a tener en cuenta en el futuro de la informática, sobre todo a la velocidad que se implementan nuevas tecnologías, que permiten el envío de información más valiosa y puede poner en peligro tanto los socios si es interceptada por otros. Es de ahí que nace la necesidad del desarrollo de aplicaciones como las que se presentaron en el presente artículo, como herramientas de pruebas en el área de aseguramiento de calidad, donde el saber si una base de datos (Java – Función Hash), un correo electrónico (HTML - RSA), o un documento (Visual Form – Compartiendo Secretos) están comprometidos, ya que en el área de las TI, la información de los clientes es de carácter delicado. En consecuencia, se debe llevar a cabo el desarrollo de nuevos métodos y técnicas, es necesario tener en cuenta la gestión y el dominio de las matemáticas para establecer procesos tanto más seguros y robustos.

REFERENCIAS

Ahlswede, R. And Csiszar, I. (1993), Common randomness in information theory and cryptography I: secret sharing, IEEE Transactions on Information Theory 39, 1121-1132.

Ansi X9.42 (1995). Public Key Cryptography for Financial Service Industry: Management of Symmetric Algorithm Keys Using Diffie – Hellman.

Coutinho, S. C. (1998). The Mathematics of Ciphers, Arkansas: Peters

Deavors, C. A., Kruh, L. (1985). Machine Cryptography and Modern Cryptanalysis. United Kingdom: Artech House Inc.    

Diffie, W, Hellman, M. E. (1976). New Directions in Cryptography. Transactions on Information Theory Vol. IT22 No 6, pp 644-654
ISO 10118-1,2,3,4 (1996). Information technology- security techniques- hash functions.

Kahn, D. (1976). The Codebreakers, the Story of Secret Writing. New York: Macmillan.

Meijering, E. (2002), A chronology of interpolation: from ancient astronomy to modern signal and image processing Proceedings of the IEEE 90 (3): 319–342

Odlyzco, A. M. (1993). Public Key Cryptography, AT&T Bell Laboratories. New Jersey: Murray Hill

Rivest, R. L., Shamir A., Adleman L. (1978). A Method for Obtaining Digital Signature and Public-Key Cryptosystems, Communication of the ACM Vol 21 No 2 pp 120-126

Shamir, A. (1979). How to share a secret, Communications of the ACM, Volume 22, 612-613

1 Ingeniero Electrónico por la Universidad Politécnica de Aguascalientes

2 Estudiante de Ingeniería Mecánica en la Universidad Politécnica de Aguascalientes