Siguiendo con nuestro artículo sobre lo que es una firma digital, veremos más elementos que ayudan a que nuestros datos viajen seguros por la red entre los millones de ordenadores que existen. La encriptación con clave privada es uno de estos elementos. Una clave privada significa que cada ordenador tiene una clave privada – que también podemos llamar código – que puede usar para encriptar un paquete de información antes de que sea enviado sobre la red a otro ordenador.
Una clave privada requiere que sepamos qué ordenadores hablarán entre si y así poder instalar la clave en cada uno de ellos. La encriptación con claves privadas es básicamente lo mismo que un código secreto que dos ordenadores deben saber para poder decodificar información. El código nos daría la llave para poder decodificar el mensaje. Se puede pensar de la manera siguiente.
Creas un mensaje codificado para mandar a un amigo donde cada letra es sustituida por la segunda letra en el abecedario que tiene delante. Por lo tanto, la ‘E’ se convierte en una ‘F’ y así sucesivamente. Ya le has dicho a tu amigo de confianza que el código para leer el mensaje es hacer este movimiento de dos letras y así poder descifrar lo que dice.
Toda las demás personas que vean el mensaje de esta manera solo verán textos sin sentido. Por otro lado tenemos la encriptación con clave pública, que es una combinación entre una clave privada y una clave pública. Para diferenciar esto, pensemos en que la clave privada solo la conoce tu ordenador, mientras que la clave pública es dada por tu ordenador a cualquier otro ordenador que quiere comunicar de forma segura con el. Para decodificar un mensaje encriptado, un ordenador debe usar una clave pública dada por el ordenador original y su propia clave privada.
La clave de eso está basada en el valor de una cadena, más conocida como “hash”. Es un valor que está computado de un número de entrada usando un algoritmo de hashing. Lo importante de este valor es que es casi imposible saber el número original de entrada sin saber los datos usados para crear el valor del hash.
La encriptación con claves públicas es bastante complejo es su operativa y por supuesto es muy efectiva. Generalmente usan algoritmos complejos y unas cadenas de valores muy largas para realizar la encriptación. Se puede llegar hasta los 128 bits en uno de estos números, lo cual nos da más de dos mil combinaciones diferentes.
Por otro lado tenemos los certificados digitales. Para implementar la encriptación con claves públicas a una escala grande, un servidor Web de estas características necesita una aproximación diferente. Aquí es donde entran los certificados digitales. Un certificado digital es básicamente un trozo de información que dice que el servidor Web tiene la confianza de una fuente independiente conocida como autoridad certificada.
Esta autoridad certificada actúa como un intermediario en la que ambos ordenadores confían. Lo que hace es confirmar que cada ordenador es quien dice que es, y provee de las claves públicas entre ordenadores.
Tenemos también lo que se conoce como DSS, que es una firma digital estándar la cual está basada en un tipo de encriptación de clave pública que usa un algoritmo de firma digital (DSA). DSS es un formato para las firmas digitales que han sido asignadas al gobierno de los Estados Unidos. El algoritmo DSA consiste en una clave privada que solo conoce el que origina el documento conoce, aparte de una clave pública. Esta clave pública tiene cuatro partes.