Cómo funcionan las técnicas de criptografía comunes en línea

Sin las técnicas modernas de criptografía, Internet tal como la conocemos no existiría. Las comunicaciones seguras permiten prácticamente toda la interacción en línea. Los algoritmos de cifrado permiten el intercambio seguro de datos y la verificación segura de la identidad. Sin estas herramientas criptográficas comunes, nuestra sociedad conectada moderna no podría funcionar como lo hace hoy.

Algoritmos de cifrado de clave simétrica

sobre cifrado-simétrico

Los algoritmos de cifrado de clave simétrica se basan en una contraseña segura para actuar como clave. Ésta es la forma más antigua de cifrado. Las claves simétricas forman la base de todo, desde las cerraduras de combinación hasta el cifrado moderno del disco duro. AES, DES y Blowfish son algoritmos modernos de cifrado de clave simétrica.

Dado que el cifrado simétrico requiere una clave compartida, el intercambio de claves debe realizarse de forma segura. Si bien las técnicas modernas como el intercambio de claves Diffie-Hellmen permiten intercambiar un secreto compartido a través de líneas inseguras, esto requiere una sobrecarga de comunicación significativa para hacerlo, así como una confianza compartida entre las comunicaciones. Si una clave compartida no se puede intercambiar de forma segura, no se puede realizar la comunicación.

Si bien el cifrado de clave simétrica se utiliza en las comunicaciones en línea, casi siempre se combina con el cifrado de clave pública, lo que permite una comunicación segura a través de canales abiertos.

Algoritmos de cifrado de clave asimétrica (clave pública)

técnicas-de-cifrado-comunes-clave-pública-en-línea

El cifrado de clave pública o asimétrica utiliza un par de claves criptográficas. Estas claves se relacionan entre sí matemáticamente. La clave pública, compartida ampliamente, cifra el mensaje. La clave privada descifra el mensaje. Como resultado, cualquier remitente puede cifrar un mensaje con la clave pública de un destinatario. Entonces pueden estar seguros de que solo el destinatario previsto puede descifrar el mensaje porque las partes no comparten ningún secreto; no necesitan confianza.

Como ejemplo práctico, considere esta analogía. ¿Qué pasa si Alice quiere comunicarse de forma segura con Bob, pero no confía en él?

  1. Alice compra una combinación de candado y llave. Ella abre el candado con su llave y envía el candado abierto a Bob.
  2. Bob coloca su mensaje en una caja y usa el candado de Alice para cerrarlo.
  3. Bob le devuelve la caja cerrada a Alice, asegurada con el candado de Alice.
  4. Alice abre la caja con la llave del candado, que solo ella posee.

Para facilitar la comunicación, Alice puede duplicar el candado desbloqueado y publicarlo ampliamente. Cualquiera que tenga el candado puede enviarle comunicaciones seguras. Con una cerradura suficientemente compleja, un atacante no puede obtener la llave de la cerradura solo.

Seguridad en (grandes) cifras

Para permanecer seguros, estos algoritmos se basan en problemas complejos de candados / matemáticos sin una solución eficiente conocida. Estos problemas intratables definen funciones unidireccionales: fáciles de calcular en una dirección pero extremadamente difíciles de calcular hacia atrás. RSA, un algoritmo de clave pública de uso común, se basa en la dificultad de encontrar factores primos de números enteros con cientos de dígitos decimales.

Para empezar, un usuario de RSA genera dos números primos muy grandes. Luego, estos números se multiplican para crear el producto. El usuario mantiene en secreto los factores primos que componen la clave privada. El usuario publica una clave pública derivada del producto del par principal. La clave pública cifra los mensajes; la clave privada los descifra.

Sin conocer los factores primos, encontrar los factores primos del producto llevaría una cantidad de tiempo inviable. RSA-1024, el estándar mínimo, utiliza productos binarios de 1024 bits hechos de números primos binarios de 512 bits. Según las matemáticas, se necesitarían 5,95 × 10 ^ 211 años para factorizar sin la clave. En perspectiva, el universo solo ha existido durante un período comparativamente corto de 13,75 x 10 ^ 19 años.

Funciones hash

técnicas-de-cifrado-comunes-hash-online

Una función hash traduce un mensaje de longitud arbitraria a una cadena de longitud fija llamada hash o resumen. Los hash criptográficos son deterministas: la misma entrada siempre produce la misma salida. Incluso cambios menores en el mensaje resultarán en un hash dramáticamente diferente. Descubrir dos mensajes únicos que producen el mismo valor de hash, llamado colisión de hash, no debería ser factible.

Las firmas digitales y la autenticación de contraseña utilizan funciones hash como SHA. En lugar de autenticar su contraseña de texto sin formato, los servidores de inicio de sesión utilizan el hash de la contraseña. El servidor compara este hash con el hash almacenado del servidor. Mismo hash, misma contraseña.

Hashes salados

técnicas-de-cifrado-comunes-en-línea-hash-salt

Para el almacenamiento de contraseñas, las empresas suelen agregar una “sal” antes de aplicar el hash. Esta cadena generada aleatoriamente se concatena con el texto de la contraseña antes del hash, lo que garantiza que incluso dos contraseñas idénticas produzcan hash distintos. Esto también defiende contra un ataque de diccionario en una tabla robada de contraseñas hash.

Conclusión

Hasta la década de 1970, el cifrado se basaba en claves simétricas. Solo después de la prueba del cifrado de clave pública se podrían utilizar dos claves diferentes, una cifrada y otra descifrada, para comunicarse. Este cambio revolucionario, que permite la comunicación sin confianza, es lo que permite que Internet exista en la forma que toma hoy. Todo, desde la banca y las compras hasta la mensajería y la navegación web, depende de él.

¿Es útil este artículo?

Compártelo con alguien que le vaya a resultar de ayuda

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *