Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Funcionamiento
En este mtodo criptogrfico se usa un par de claves para el envo de
mensajes. Las dos claves pertenecen a la misma persona que ha enviado el
mensaje. Una clave es pblica y se puede entregar a cualquier persona, la otra
clave es privada y el propietario debe guardarla de modo que nadie tenga
acceso a ella. Adems, los mtodos criptogrficos garantizan que esa pareja
de claves slo se puede generar una vez, de modo que se puede asumir que
no es posible que dos personas hayan obtenido casualmente la misma pareja
de claves.
Si el remitente usa la clave pblica del destinatario para cifrar el mensaje, una
vez cifrado, slo la clave privada del destinatario podr descifrar este mensaje,
ya que es el nico que la conoce. Por tanto se logra la confidencialidad del
envo del mensaje, nadie salvo el destinatario puede descifrarlo.
Si el propietario del par de claves usa su clave privada para cifrar el mensaje,
cualquiera puede descifrarlo utilizando su clave pblica. En este caso se
consigue por tanto la identificacin y autentificacin del remitente, ya que se
sabe que slo pudo haber sido l quien emple su clave privada.
Ejemplo:
Ventajas
Verstiles: resuelven muchos problemas.
Seguros.
No tienen problemas para la distribucin de claves.
Inconvenientes
Lentos.
Suelen necesitar soportes especiales: aritmticas de
grandes nmeros y otras.
Difciles de implementar en hardware.
Para resolver el inconveniente de lentitud en la operacin, el procedimiento que
suele seguirse para realizar el cifrado de un mensaje es utilizar un algoritmo de
clave pblica junto a uno de clave simtrica.
Una analoga con el cifrado de clave pblica es la de un buzn con una ranura
de correo. La ranura de correo est expuesta y accesible al pblico; su
ubicacin (la direccin de la calle) es, en esencia, la clave pblica. Alguien que
conozca la direccin de la calle puede ir a la puerta y colocar un mensaje
escrito a travs de la ranura; sin embargo, slo la persona que posee la llave
(clave privada) puede abrir el buzn de correo y leer el mensaje.
Diffie-Hellman
RSA
DSA
ElGamal
Diffie-Hellman
El protocolo criptogrfico Diffie-Hellman,1 debido a Whitfield Diffie y Martin
Hellman (autores tambin del problema de Diffie-Hellman o DHP), es un
protocolo de establecimiento de claves entre partes que no han tenido contacto
previo, utilizando un canal inseguro, y de manera annima (no autentificada).
Se emplea generalmente como medio para acordar claves simtricas que
sern empleadas para el cifrado de una sesin (establecer clave de sesin).
Siendo no autenticado, sin embargo, provee las bases para varios protocolos
autenticados.
Su seguridad radica en la extrema dificultad (conjeturada, no demostrada) de
calcular logaritmos discretos en un cuerpo finito.
El sistema se basa en la idea de que dos interlocutores pueden generar
conjuntamente una clave compartida sin que un intruso que est escuchando
las comunicaciones pueda llegar a obtenerla.
Para ello cada interlocutor elige dos nmeros pblicos y un nmero secreto.
Usando una frmula matemtica, que incluye la exponenciacin, cada
interlocutor hace una serie de operaciones con los dos nmeros pblicos y el
secreto. A continuacin los interlocutores se intercambian los resultados de
forma pblica. En teora revertir esta funcin es tan difcil como calcular un
logaritmo discreto (Un sextilln de veces ms costosa que la exponenciacin
usada para transformar los nmeros). Por eso se dice que este nmero es el
resultado de aplicar una funcin unidireccional al nmero secreto.
RSA
RSA es un algoritmo de cifrado asimtrico, o de clave pblica, y es uno de los
algoritmos ms utilizados en la actualidad. De hecho, la mayor parte de los
sitios hoy corren sobre SSL/TLS, y permiten la autenticacin mediante cifrado
asimtrico basado en RSA.
RSA sirve para cifrar y descifrar informacin, y por ello tambin provee
servicios de autenticidad y de integridad, mediante lo que se conoce cono
Infraestructura de clave pblica.
As es que RSA, al ser un cifrador asimtrico, trabaja con dos claves, una
pblica y una privada. Todo el contenido de texto plano, o contenido sin cifrar,
que sea hecho con la clave pblica, podr ser descifrado mediante la clave
privada, y viceversa, todo contenido cifrado con la clave privada podr ser
descifrado mediante la clave pblica.
Funcionamiento
a) a cada usuario se le asigna un nmero entero n, que funciona como su clave
Pblica
b) solo el usuario respectivo conoce la factorizacin de n (o sea p,q), que
mantiene en secreto y es la clave privada.
c = me modn
e) Entonces el mensaje c puede viajar sin problema por cualquier canal
inseguro
g) Se puede mostrar que estas formulas son inversas y por lo tanto dan el
resultado deseado, (n,e) son la clave pblica, la clave privada es la pareja (p,q)
o equivalentemente el nmero d. La relacin que existe entre d y e es que uno
es el inverso multiplicativo del otro mdulo (n) donde (n) es el mnimo comn
mltiplo de p-1 y q-1, o tambin puede usarse (n)=(p-1)(q-1) esto significa que
la clave privada o el la pareja p,q o es el nmero d.
DSA
Es un estndar del Gobierno Federal de los Estados Unidos de Amrica o FIPS para
firmas digitales.
Propuesto por el Instituto Nacional de Normas y Tecnologa de los Estados Unidos para su
uso en su Estndar de Firma Digital (DSS), especificado en el FIPS 186.
Se hizo pblico el 30 de agosto de 1991.
Este algoritmo (como su nombre lo indica) sirve para firmar y no para cifrar
informacin.
Una desventaja de este algoritmo es que requiere mucho ms tiempo de cmputo que
RSA.
El funcionamiento de DSA se divide en 3 etapas. Generacin de claves, firma y
verificacin. Las dos primeras las realiza el emisor y la ltima el receptor tal y como se
muestra en la figura 5.6.1.
PARMETROS
ElGamal
l procedimiento de cifrado/descifrado ElGamal se refiere a un esquema de cifrado
basado en el problema matemtico del logaritmo discreto. Es un algoritmo de criptografa
asimtrica basado en la idea de Diffie-Hellman y que funciona de una forma parecida a
este algoritmo discreto.
El algoritmo de ElGamal puede ser utilizado tanto para generar firmas digitales como
para cifrar o descifrar.
Fue descrito por Taher Elgamal en 19841 y se usa en software GNU Privacy Guard,
versiones recientes de PGP, y otros sistemas criptogrficos. Este algoritmo no est bajo
ninguna patente lo que lo hace de uso libre.
La seguridad del algoritmo se basa en la suposicin que la funcin utilizada es de un slo
sentido debido a la dificultad de calcular un logaritmo discreto.
El procedimiento de cifrado (y descifrado) est basado en clculos sobre un grupo
cclico cualquiera G lo que lleva a que la seguridad del mismo dependa de la dificultad de
calcular logaritmos discretos en G
.
Criptografa hbrida
Funciones Hash
Una funcin criptogrfica hash- usualmente conocida como hash- es un algoritmo
matemtico que transforma cualquier bloque arbitrario de datos en una nueva serie de
caracteres con una longitud fija. Independientemente de la longitud de los datos de
entrada, el valor hash de salida tendr siempre la misma longitud.
H: U M
x h(x)
Tiene como entrada un conjunto de elementos, que suelen ser cadenas, y los
convierte en un rango de salida finito, normalmente cadenas de longitud fija. Es
decir, la funcin acta como una proyeccin del conjunto U sobre el conjunto
M.
Por esta razn se dice que estas funciones resumen datos del conjunto
dominio.
SHA-1
Es parecido al famoso MD5, pero tiene un bloque de 160bits en lugar de los
128bits del MD5. La funcin de compresin es ms compleja que la funcin
de MD5, por tanto, SHA-1 es ms lento que MD5 porque el nmero de pasos
son de 80 (64 en MD5) y porque tiene mayor longitud que MD5 (160bits
contra 128bits).
SHA-1 es ms robusto y seguro que MD5, pero ya se han encontrado
colisiones, por tanto, actualmente esta funcin hash no es segura utilizarla,
nunca se debe usar.
SHA-2
Las principales diferencias con SHA-1 radica en en su diseo y que los rangos
de salida han sido incrementados. Dentro de SHA-2 encontramos varios tipos,
el SHA-224, SHA-256, SHA-384 y SHA-512. El ms seguro, es el que mayor
salida de bits tiene, el SHA-512, que tiene 80 rondas (pasos), como el SHA-1
pero se diferencia de ste en:
Como ocurre con todos los cifrados y hash, cuanto ms seguro, ms lento su
procesamiento y uso, debemos encontrar un equilibrio entre seguridad y
velocidad.
Ejemplo usando Linux