¿Qué son y para qué sirven las claves de cifrado en criptografía?

#28. Cryptocurrencies and Blockchain

¿Qué son y para qué sirven las claves de cifrado en criptografía?

La seguridad de la información ha sido un tema de actualidad a lo largo de la existencia humana. Incluso en los libros sagrados del antiguo Egipto, la India y China, así como en los frescos, las paredes de los edificios y otros lugares, los sacerdotes y los iniciados utilizaban signos especiales que codificaban la información, ocultando los significados a la gente corriente. Tras la creación y difusión de las criptomonedas, la necesidad de algoritmos de encriptación ha aumentado significativamente, y hoy en día todos los desarrolladores intentan idear e implementar una clave criptográfica única que proporcione la máxima protección y seguridad de los datos. ¿Qué son las claves de cifrado y para qué se utilizan? Nos proponemos llegar juntos al fondo de estas cuestiones.

Los principales períodos del desarrollo de la criptografía

Hay 5 etapas principales en la historia de la criptografía, que tiene más de 4000 años:

  1. Inicio, alrededor de 3000 años a.C. En la primera etapa, se empezaron a crear cifrados monoalfabéticos (los símbolos del alfabeto original en los textos fueron sustituidos por otros signos específicos).
  2. Siglo IX — principios del siglo XX. Este periodo está relacionado con la creación de claves criptográficas polialfabéticas.
  3. Primera mitad del siglo XX. Las máquinas de escribir electromecánicas con cifrado polialfabético han empezado a utilizarse para el cifrado.
  4. Años 1940 — 1950. Transición activa a algoritmos de criptografía matemática, utilizando claves secretas.
  5. Años 1970 — hoy día. Durante este periodo, nació y se introdujo la criptografía de clave pública.

¿Qué son las claves criptográficas?

¿Qué son las claves criptográficas?

Una criptoclave es una información secreta, que es utilizada por un algoritmo en el proceso de encriptación y desencriptación de textos, colocación y comprobación de EDS (firmas electrónicas), definición de códigos de autenticación (MAC). Aunque se utilice el mismo algoritmo, el resultado de la encriptación puede ser diferente, dependiendo de los cifrados utilizados.

La encriptación proporciona tres criterios principales de seguridad: 

  1. Confidencialidad. La información se mantiene oculta a las personas ajenas.
  2. Integridad. Los datos están protegidos contra los cambios durante la transmisión y el almacenamiento.
  3. Identificación. La encriptación garantiza la autenticación de las fuentes y los destinatarios de la información.

El criptógrafo es un aparato o software especializado que encripta un texto de acuerdo con algoritmos específicos, basados en claves criptográficas. Se considera que el parámetro más importante es la longitud de las criptocifrados, que se mide en bits. Hoy en día, muchos algoritmos de encriptación requieren claves de hasta 1024 bits, que se consideran las más seguras, ya que puede llevar hasta años desencriptar esa información utilizando potentes superordenadores.

¿Qué tipo de claves criptográficas hay?

¿Qué tipo de claves criptográficas hay?

Las claves criptográficas pueden ser simétricas o asimétricas. Las claves simétricas se utilizan en los algoritmos de encriptación para los códigos de autenticación. Su principal característica es el uso de un cifrado para las conversiones criptográficas hacia adelante y hacia atrás (cifrado y descifrado). En algunos casos, se utilizan dos claves, pero entonces las claves inversas deben calcularse fácilmente a partir de las claves directas (y viceversa). Esta técnica garantiza una mayor confidencialidad del texto transmitido, pero hay problemas de difusión del cifrado en ecosistemas con un elevado número de usuarios.

Las claves asimétricas (incluyendo a EDS) utilizan un par de cifrado:

  1. Claves privadas (PrivateKey) son claves que sólo conoce el propietario. Al mantener la PrivateKey en secreto, no hay riesgo de falsificación de la documentación o de EDS por parte de los estafadores.
  2. Claves públicas (PublicKey) son claves que se publican y se utilizan para autenticar la documentación firmada o los mensajes enviados. Lo más frecuente es que una clave pública se genere utilizando una clave privada. 

En los algoritmos de criptomonedas y EDS, la firma se realiza con la PrivateKey y la verificación se basa en la PublicKey. En la encriptación, ocurre lo contrario: los mensajes se encriptan con la PublicKey, mientras que la lectura se hace con la PrivateKey. Esto permite verificar que determinados usuarios han firmado realmente (han confirmado las transacciones, etc.). Con esta característica, los algoritmos asimétricos garantizan tanto la integridad como la autenticidad de los datos. En este caso, sólo los destinatarios pueden descifrar los mensajes (ni siquiera los remitentes).

La ventaja de la metodología asimétrica es que elimina el problema de la distribución de las claves de usuario dentro del ecosistema, pero la validez de las claves obtenidas se resiente. Este problema se resuelve con la formación de una infraestructura de cifrado público (PKI) especializada.

Hay otros dos tipos de claves en criptografía:

Las claves de sesión son cifrados que se crean entre un par de usuarios y proporcionan protección a los canales de comunicación. Las claves de sesión suelen ser «secretos» compartidos: información generada a partir de la PrivateKey de unos usuarios y la PublicKey de otros. Existen diferentes protocolos para crear dichas claves, siendo el método Diffie-Hellman el más común.

Las subclaves son datos secretos que se generan durante la ejecución de algoritmos criptográficos basados en cifrados específicos.

Áreas de aplicación de las claves criptográficas

Las técnicas de encriptación criptográfica se utilizan ampliamente para garantizar la confidencialidad e integridad de la información, la identificabilidad de sus fuentes y la protección contra la lectura y el robo por parte de terceros. Algunas criptoclaves se utilizan para almacenar fondos virtuales y validar transacciones en varias criptodivisas. Los cifrados también se utilizan habitualmente para desarrollar certificados de seguridad para los datos personales introducidos en los sitios web en los navegadores, para cifrar y proteger los mensajes en los messengers y en muchas otras esferas.