Saltar al contenido principal

Fundamentos de cifrado: simétrico, asimétrico y hashing

Lectura de 10 min aprox.

Los datos intercambiados en Internet están protegidos contra la interceptación y manipulación por terceros mediante el cifrado. La protección de contraseñas también depende en gran medida de la tecnología criptográfica, y comprender los fundamentos del cifrado es un conocimiento esencial para proteger tus cuentas. En 2025, con el avance de las computadoras cuánticas, el NIST está avanzando en la estandarización de la criptografía poscuántica (PQC), y la tecnología criptográfica está entrando en un nuevo punto de inflexión. Para un análisis más detallado de cómo la computación cuántica puede afectar la seguridad de las contraseñas, consulta nuestro artículo sobre seguridad de contraseñas en la era poscuántica. Este artículo explica las diferencias entre el cifrado simétrico y el cifrado de clave pública, cómo funciona el hashing y la fortaleza criptográfica de las contraseñas generadas por passtsuku.com.

¿Qué es el cifrado?

El cifrado es el proceso de convertir datos originales (texto plano) en datos ininteligibles (texto cifrado) utilizando un algoritmo y una clave específicos. Solo el destinatario con la clave correcta puede descifrar el texto cifrado de vuelta a texto plano, por lo que incluso si los datos son interceptados por un tercero en la ruta de comunicación, el contenido no puede ser leído. La tecnología criptográfica se utiliza en situaciones cotidianas como la comunicación HTTPS, el cifrado de correo electrónico y la protección de archivos.

La fortaleza del cifrado está determinada por el tipo de algoritmo utilizado y la longitud de la clave. Cuanto más larga sea la clave, mayor será exponencialmente el esfuerzo computacional necesario para encontrar la clave correcta por fuerza bruta, lo que dificulta el descifrado. Por ejemplo, el espacio de claves de AES-128 es de 2 elevado a 128 (aproximadamente 3,4 × 10 elevado a 38) posibilidades, y probar mil millones de claves por segundo requeriría aproximadamente 10 elevado a 21 años para una búsqueda exhaustiva. Los algoritmos criptográficos estándar actuales recomiendan longitudes de clave de 128 bits o más.

Cifrado simétrico y cifrado de clave pública

Cifrado de clave simétrica

El cifrado de clave simétrica utiliza la misma clave tanto para cifrar como para descifrar. Un algoritmo representativo es AES (Advanced Encryption Standard), que se utiliza ampliamente para cifrar grandes volúmenes de datos debido a su procesamiento de alta velocidad. AES-256 puede cifrar varios GB de datos por segundo y también se utiliza para el cifrado de archivos y el cifrado de disco completo (BitLocker, FileVault).

El desafío del cifrado de clave simétrica es el "problema de distribución de claves". Dado que el emisor y el receptor deben compartir la misma clave, se requiere un medio para entregar la clave de forma segura. El cifrado de clave pública fue ideado para resolver este problema. Un error común es pensar que "el cifrado de clave simétrica es tecnología antigua con baja seguridad", pero AES sigue siendo el algoritmo de cifrado más utilizado y ofrece una seguridad extremadamente alta siempre que la gestión de claves sea adecuada.

Para aprender sistemáticamente los principios de los algoritmos criptográficos, libros introductorios de criptografía (Amazon) son referencias útiles.

Cifrado de clave pública (cifrado asimétrico)

El cifrado de clave pública utiliza un par de dos claves: una "clave pública" para cifrar y una "clave privada" para descifrar. La clave pública puede compartirse con cualquiera, mientras que la clave privada la conserva solo el propietario. RSA y la Criptografía de Curva Elíptica (ECC) son algoritmos representativos. La seguridad de RSA-2048 se considera suficiente hasta alrededor de 2030, pero para una seguridad a más largo plazo, se recomienda RSA-4096 o ECC (256 bits o más). Esta tecnología forma la base de la PKI (Infraestructura de Clave Pública), y una adecuada gestión de claves es esencial para mantener la seguridad.

En la comunicación HTTPS, se utiliza un enfoque híbrido donde la clave común se intercambia primero de forma segura mediante cifrado de clave pública, y la comunicación posterior se realiza mediante cifrado simétrico rápido. Este mecanismo resuelve el problema de distribución de claves mientras logra una comunicación cifrada de alta velocidad. Cabe señalar que el cifrado de clave pública es de 100 a 1.000 veces más lento que el cifrado simétrico, por lo que generalmente no se usa directamente para cifrar grandes cantidades de datos, sino que se limita al intercambio de claves y firmas digitales.

Comparación de métodos de cifrado

ElementoClave simétrica (AES)Clave pública (RSA/ECC)
Número de claves1 (compartida entre emisor y receptor)2 (clave pública + clave privada)
Velocidad de procesamientoRápido (varios GB/seg)Lento (1/100 a 1/1000 del simétrico)
Problema de distribución de clavesSí (se requiere método seguro de compartición)No (la clave pública puede compartirse abiertamente)
Longitud de clave recomendada128 bits o más (se recomienda AES-256)RSA-2048+ / ECC-256+
Usos principalesCifrado de archivos, cifrado de disco, cifrado de datos de comunicaciónIntercambio de claves, firmas digitales, certificados
Recomendado paraEscenarios que requieren cifrado de grandes volúmenes de datosEscenarios que requieren intercambio seguro de claves o verificación de identidad

En la comunicación HTTPS real, se utiliza un enfoque híbrido donde la clave común se intercambia de forma segura mediante cifrado de clave pública, y la comunicación posterior se realiza mediante cifrado simétrico rápido. Al combinar las fortalezas de ambos, se logra seguridad y velocidad simultáneamente.

¿Qué deberías hacer realmente?

No necesitas entender los detalles de la tecnología criptográfica, pero los puntos a practicar en la vida diaria son claros. Los principiantes deben acostumbrarse a ingresar contraseñas solo en sitios HTTPS y generar contraseñas aleatorias de 16 caracteres o más con passtsuku.com. Los usuarios intermedios deben habilitar el cifrado de disco (BitLocker / FileVault) y gestionar contraseñas únicas para cada servicio con un gestor de contraseñas. El cifrado no alcanza su máximo potencial solo con "configurarlo" - solo funciona eficazmente cuando se combina con contraseñas fuertes.

Hashing y protección de contraseñas

A diferencia del cifrado, el hashing es una transformación unidireccional. Se puede calcular un valor hash a partir de los datos originales, pero no se pueden recuperar los datos originales a partir del valor hash. Aprovechando esta propiedad, los servicios almacenan las contraseñas en forma de hash. Durante el inicio de sesión, la contraseña ingresada se hashea y se compara con el valor hash almacenado para la autenticación.

Los algoritmos de hashing de contraseñas recomendados actualmente son bcrypt, scrypt y Argon2. Estos están diseñados intencionalmente con un alto costo computacional, reduciendo significativamente la velocidad a la que los atacantes pueden adivinar contraseñas por fuerza bruta. Por ejemplo, bcrypt (factor de costo 12) tarda unos 250 milisegundos por cálculo de hash, por lo que incluso con una GPU, solo son posibles unos pocos miles de intentos por segundo. En contraste, funciones hash de propósito general como SHA-256 pueden realizar miles de millones de cálculos por segundo y no son adecuadas para el hashing de contraseñas.

Salt y Pepper

Al agregar una cadena aleatoria llamada "salt" a la contraseña durante el hashing, se generan valores hash diferentes incluso para la misma contraseña. Esto invalida los ataques que utilizan tablas de valores hash precalculados (tablas rainbow). Además, agregar un valor secreto del lado del servidor llamado "pepper" dificulta el descifrado de contraseñas incluso si la base de datos se filtra. Sin salt, todos los usuarios con la misma contraseña tendrían valores hash idénticos, lo que significa que descifrar una contraseña comprometería todas las cuentas que usan esa misma contraseña.

Fortaleza criptográfica de las contraseñas generadas por passtsuku.com

passtsuku.com genera contraseñas utilizando crypto.getRandomValues() de la Web Crypto API. Esta API se basa en un generador de números pseudoaleatorios criptográficamente seguro (CSPRNG), y las contraseñas generadas no tienen sesgo estadístico. Dado que CSPRNG obtiene su semilla del pool de entropía del sistema operativo, es fundamentalmente diferente de los números pseudoaleatorios predecibles como Math.random().

La fortaleza de una contraseña se mide por la entropía (en bits). Por ejemplo, una contraseña de 16 caracteres que usa 4 tipos de caracteres - mayúsculas, minúsculas, dígitos y símbolos (unos 95 caracteres) - tiene aproximadamente 105 bits de entropía calculados como log2(95^16). Esta fortaleza requeriría aproximadamente 10^13 años para una búsqueda exhaustiva incluso con las supercomputadoras actuales (10^18 operaciones por segundo). Por otro lado, una contraseña de 8 caracteres usando solo minúsculas tiene solo unos 38 bits y podría ser descifrada en pocas horas.

Para comprender en profundidad la entropía de contraseñas y la fortaleza criptográfica, guías sobre entropía de contraseñas y fortaleza criptográfica (Amazon) son referencias prácticas.

Consejos para usar el cifrado en la vida diaria

Para maximizar los beneficios de la tecnología criptográfica, varios hábitos prácticos son importantes. Primero, ingresa contraseñas solo en sitios donde HTTPS esté habilitado. En sitios HTTP, la comunicación no está cifrada y las contraseñas se envían en texto plano. En 2024, aproximadamente el 95% del tráfico web está cifrado con HTTPS, pero aún existen riesgos en el 5% restante.

A continuación, utiliza contraseñas aleatorias suficientemente largas generadas por passtsuku.com. Las contraseñas de 16 caracteres o más generadas con números aleatorios criptográficamente seguros tienen una resistencia extremadamente alta contra ataques de fuerza bruta incluso en forma hasheada. Al establecer una contraseña diferente para cada servicio y gestionarlas con un gestor de contraseñas, puedes prevenir el impacto en otras cuentas incluso si un servicio se ve comprometido. Para más detalles sobre la relación entre la entropía y la fortaleza de las contraseñas, consulta el artículo sobre entropía de contraseñas. Para entender cómo la calidad de los números aleatorios afecta la seguridad de las contraseñas, consulta el artículo sobre calidad de números aleatorios. Al navegar por la web, el cifrado SSL/TLS protege tus datos en tránsito, y usar una VPN añade una capa adicional de cifrado.

Para los datos almacenados en dispositivos, habilitar el cifrado de disco (BitLocker de Windows, FileVault de macOS, cifrado de dispositivo del smartphone) protege los datos en caso de pérdida o robo del dispositivo. El cifrado es una tecnología que solo alcanza su máximo potencial cuando se combina con contraseñas fuertes, no solo con "configurarlo." Ten en cuenta que si la contraseña del cifrado de disco es débil, el cifrado en sí se vuelve inútil.

Un ejemplo claro de cómo el cifrado protege directamente los activos es la seguridad de las billeteras de criptomonedas - consulta nuestra guía sobre seguridad de billeteras de criptomonedas.

Lo que puedes hacer ahora mismo

  1. Genera una contraseña aleatoria de 16 caracteres o más con passtsuku.com y configúrala para tu cuenta de correo principal (confirma 100 bits o más en el medidor de fortaleza)
  2. Habilita el cifrado de disco en tu PC (Windows: BitLocker, macOS: FileVault, Smartphone: cifrado del dispositivo)
  3. Acostúmbrate a verificar HTTPS (icono de candado) en la barra de direcciones del navegador y nunca ingreses contraseñas en sitios HTTP
  4. Revisa la relación entre la entropía y la fortaleza de las contraseñas en el artículo sobre entropía de contraseñas y reevalúa la fortaleza de tus contraseñas

Preguntas frecuentes

¿Cuál es la diferencia entre cifrado simétrico y asimétrico?
El cifrado simétrico usa la misma clave para cifrar y descifrar: rápido pero el intercambio de claves es un desafío. El asimétrico usa claves diferentes: distribución segura pero más lento. En la práctica, los enfoques híbridos son estándar.
¿Qué es AES-256 y es seguro?
AES-256 es un estándar de cifrado simétrico con clave de 256 bits, el más utilizado actualmente. Se usa para proteger información clasificada del gobierno de EE.UU. y no se conoce ningún método práctico de descifrado.
¿Cuál es la diferencia entre cifrado y hash de contraseñas?
El cifrado es reversible: los datos se pueden restaurar con una clave. El hash es unidireccional y no se puede revertir. El almacenamiento de contraseñas debe usar hash (bcrypt o Argon2), no cifrado.

¿Te resultó útil este artículo?

Términos relacionados

XHatena