Avanzada
 Especial Seguridad

ALGORITMOS


En la literatura académica se han descrito numerosos algoritmos de firma digital.

En la práctica, destacan tres de ellos: la firma de comprobación aleatoria (hash), el Digital Signature Standard (DSS) del gobierno de EE.UU. y la signatura RSA, que utiliza el algoritmo clásico desarrollado por Roven Rivest, Adi Shamir y Len Adlemn.
Los tres algoritmos tienen usos y requisitos distintos.

FUNCIONAMIENTO DE LA CRIPTOGRAFÍA DE CLAVE PÚBLICA

Los algoritmos de clave pública, como el cifrado RSA (las siglas de sus desarrolladores), parecen causar múltiples trastornos, ya que desafían los convenios establecidos sobre el funcionamiento de los sistemas de doble clave. Todo el mundo sabe que las cajas de seguridad de los bancos necesitan dos llaves para abrise (aunque la que posee el banco es un tanto redundante si la cámara acorazada es buena). Pero, en los algoritmos de clave pública, las dos claves funcionan de forma distinta. La secreta se utiliza para crear una firma digital, mientras que la pública sirve para verificarla.
La manera más sencilla de entender el cifrado RSA es recordar dos cuestiones de álgebra básica: primero, todos los números tienen un multiplicador inverso, y segundo, (e^a)^b = e^(ab). El multiplicador inverso de un número a es un número b tal que ab=1. De este modo, en aritmética regular el multiplicador inverso de 4 es 0,25.

RSA utiliza aritmética modular que sólo opera con números enteros entre 0 y un cierto número n. A menudo, se compara con el residuo de una división. La ecuación ab mod n podría expresarse como mutiplicar a y b, luego dividir el resultado por n y restituir el resto. Por sorprendente que parezca, muchas de las reglas de la aritmética estándar siguen siendo válidas en este dominio. Los números pueden sumarse, restarse, multiplicarse y generalmente dividirse, y las ecuaciones obedecen a las reglas habituales de conmutación, asociatividad y transitividad.

Para construir un par de claves para RSA, encuentre dos números primos p y q. Su producto es n. Las dos claves, e y d, son números aleatorios elegidos de forma que ed mod [(p-1)(q-1)] = 1. Es decir, d es el multiplicador inverso de e.

El algoritmo funciona porque m^de = m mod n (el motivo de que opere también va más allá del propósito de esta explicación). Para cifrar un mensaje, conviértalo en un número m y calcule m^e mod n. Sólo la persona que conoce d puede descifrarlo calculando (m^e mod n)^d mod n = m^de mod n = m.

Puede pensar en el proceso de clave pública como si fuera un collar de perlas . Suponga que una perla es el mensaje. La calve pública es algún número menor que n, y la clave privada correspondiente es n-a = b. Un mensaje se cifra contando a perlas y se descifra contando a b perlas, lo que conduce de nuevo al principio. Este planteamiento es tan sólo una metáfora, y evidentemente no está exento de riesgos. Cualquiera que conozca a y n puede determinar b. Pero esto no ocurre con RSA o el Digital Signature Algorithm. Con estos algoritmos, es imposible averiguar la clave privada a partir de la clave pública.

Volver a Seguridad

Miguel A. Ruz
miguelruz@delitosinformaticos.com

 
Gratis Servicio de noticias
Suscribir Borrado
Sus Sugerencias son bienvenidas
Pincha Aquí
¡¡Lista de correo!!
Introduzca su correo:




www.delitosinformaticos.com . webmaster@delitosinformaticos.com . Delitosinformáticos

© Copyright 2000-2005 Delitosinformaticos.com -.