|
Tipos
de cifrado
Básicamente, existen dos tipos de cifrado.
El primero se llama cifrado simétrico.
Podemos pensar en éste como las puertas
de nuestra casa. Todo aquel que tenga llave
de las cerraduras podrá acceder al lugar
protegido con las chapas. Al igual que en la
realidad, existen diversos tipos de chapas,
algunas con mayor seguridad que las otras, podemos
encontrar que existen algoritmos de cifrado
simétrico de distintas fortalezas. Siguiendo
la analogía, un sistema de cifrado simétrico
requiere de la misma llave para cifrar que descifrar.
La cerradura requiere de la misma llave para
abrir o cerrar la casa. Cuando hablamos de claves,
nos referiremos normalmente a este tipo de criptografía
(simétrica).
Es
importante mencionar que, como en el ejemplo
de las llaves de la casa, no las dejamos en
cualquier lado, ni las repartimos a todo el
que pasa. Incluso, tenemos mucho cuidado en
quien tiene llaves de la casa. En nuestra analogía,
resulta similar, si tenemos que compartir la
llave que cifra y descifra la información,
por uno de los problemas que vimos anteriormente,
¿cómo podemos estar seguros de
darle la llave a quién queríamos
que la tuviera?
El segundo tipo de cifrado son los algoritmos
de cifrado asimétricos. En dónde
a diferencia del anterior, se tienen dos llaves
distintas. Una de ellas sirve para cifrar y
la otra para descifrar. En estos sistemas, una
de las llaves diremos que es privada y la otra
pública (normalmente cuando hablamos
de llaves, nos referimos a criptografía
asimétrica). Este sistema tiene ventajas
y desventajas, la principal ventaja es que nos
sirve para resolver el problema de autenticidad.
Pero tiene la gran desventaja que los algoritmos
de cifrado asimétrico son muy lentos,
por lo que normalmente utilizaremos una combinación
de ambos tipos de algoritmos.
Criptografía asimétrica
El uso de un par de llaves distintas para cifrar
y descifrar, permite usar estos sistemas de
distintas formas y resolver algunos problemas.
Si ciframos un mensaje con la llave privada
de A, todo mundo puede comprobar que realmente
lo cifró A, debido a que el mensaje solo
puede ser descifrado por la llave pública
de A (que es pública, todo el mundo la
conoce o puede obtenerla de fuente confiable).
De esta forma se garantiza autenticidad, pero
todo el mundo puede ver el mensaje.
Si en cambio A desea mandar un mensaje que sólo
B pueda ver, entonces deberá cifrar la
información con la llave pública
de B (de nueva cuenta, es pública, todo
el mundo la conoce o la puede obtener de una
fuente confiable) y sólo B será
capaz de descifrar la información con
su llave privada.
Funciones hash o de resumen
Notemos que para garantizar la autenticidad,
ciframos el mensaje con la llave privada. ¿Qué
pasaría si pudiéramos extraer
una cantidad pequeña de información
que dependa totalmente del mensaje?, si cambia
el mensaje, cambia la pequeña porción
de información.
Ese tipo de funciones se llaman funciones de
resumen o funciones de hash, son operaciones
que se le aplican al mensaje para extraer una
pequeña parte de él, y dependen
totalmente del mensaje, si cambia el mensaje,
cambia el resultado de la operación (aunque
el mensaje cambie muy poco, el resultado cambiará
mucho).
Basta entonces, para garantizar autenticidad,
cifrar el resultado de la función de
resumen con la llave privada. Si el mensaje
es auténtico, entonces tendrá
el mismo resultado de la función de resumen
y se compara con el resumen descifrado con la
llave pública, si son iguales se garantizan
dos cosas: el mensaje es auténtico (lo
envió quien dice enviarlo) y es íntegro
(no se modificó). Si no son iguales entonces
puede suceder dos cosas: el mensaje no lo envió
quien dice enviarlo (no es auténtico)
o alguien lo modificó en el camino, de
cualquier manera, sabemos que no podemos confiar
en esa información.
A éste proceso de utilizar la función
de resumen y aplicarle cifrado asimétrico
con la llave privada se le llama firma digital
o firma electrónica.
|
|