🔑 Claves y Algoritmos
Claves y algoritmos de cifrado criptografico
- Describir una clave digital y como se utiliza
- Estiramineto de clave
- Algoritmos simetricos y asimetricos
- Algoritmos mas comunes
- Proceso de cifrado
¿Qué es una clave digital?
En criptografía, una clave digital es un valor que se utiliza para llevar a cabo operaciones criptográficas como el cifrado, la autenticación y la firma digital.
Se puede expresar en formato alfanumérico, pero a nivel técnico es simplemente una secuencia de bits.
Usos comunes de una clave digital:
- Firma digital
- Código de autenticación
- Cifrado de:
- Flujos de información (streaming o en tránsito)
- Datos en reposo (archivos almacenados)
- Fragmentos pequeños de datos (por ejemplo, claves de sesión o tokens)
Duración de una clave
Una clave puede tener una validez que varía según el contexto:
- De larga duración: años (por ejemplo, en certificados digitales)
- Temporal o momentánea: minutos o segundos (por ejemplo, en sesiones HTTPS o claves de un solo uso)
Tipos de claves
- Clave privada (o secreta): Solo debe conocerla el emisor o receptor autorizado.
- Clave pública: Puede ser compartida abiertamente. Usada en criptografía asimétrica.
Las claves públicas suelen tener 1024 bits o más, llegando hasta 2048 o 4096 bits según el nivel de seguridad requerido.
Relación entre tamaño y uso
- Claves grandes (1024 bits o más):
- Usadas para firmas digitales o cifrar claves de sesión.
- No son eficientes para cifrar grandes volúmenes de datos directamente.
- Claves pequeñas (128 a 256 bits):
- Usadas en cifrado de datos masivos, donde el rendimiento es crítico (por ejemplo, AES-128 o AES-256).
A mayor longitud de la clave, mayor es su fortaleza criptográfica.
Sin embargo, también se incrementa el consumo de recursos y el tiempo de procesamiento.

Estiramiento de claves (Key Stretching)
El estiramiento de claves se utiliza para hacer que una contraseña corta o débil sea más segura, dificultando su descubrimiento por ataques de fuerza bruta o diccionario.
¿Cómo funciona?
Consiste en tomar una contraseña y procesarla mediante un algoritmo que aplica múltiples iteraciones de hash, además de agregarle un valor aleatorio llamado "sal" (salt) para aumentar la entropía (imprevisibilidad).
Algoritmos comunes:
PBKDF2 (Password-Based Key Derivation Function 2)
Muy usado en sistemas modernos. Define número de iteraciones y puede usar varios hash (SHA-1, SHA-256, etc.).
bcrypt
Muy resistente a ataques de hardware modernos. Ajusta su complejidad con el tiempo (a través del "cost factor").
scrypt
Similar a bcrypt pero también consume mucha memoria, lo que dificulta los ataques con GPUs o ASICs.
Estos algoritmos no están diseñados para cifrar archivos, sino para fortalecer contraseñas antes de almacenarlas o usarlas como claves.
Cifrado simétrico
En el cifrado simétrico, la misma clave se usa tanto para cifrar como para descifrar los datos. Por eso, es rápido y eficiente, pero requiere un canal seguro para compartir la clave.
Algoritmos simétricos más comunes:
| Algoritmo | Tipo de cifrado | Notas clave |
|---|---|---|
| DES | Bloque (64 bits) | Obsoleto, clave de 56 bits |
| 3DES | Bloque | Aplica DES tres veces, más seguro pero lento |
AES |
Bloque (128 bits) | Estándar actual, clave de 128, 192 o 256 bits |
| IDEA | Bloque (64 bits) | Usado en PGP |
| Blowfish | Bloque | Rápido, clave de hasta 448 bits |
| Twofish | Bloque (128 bits) | Sucesor de Blowfish, finalista de AES |
| RC4 | Flujo | Obsoleto, era usado en SSL/TLS |
| RC5 / RC6 | Bloque | Diseñados por RSA, flexibles y seguros |
🔑 Claves y Algoritmos
Claves y algoritmos de cifrado criptografico
🔐 Tipos y Tamaños de Claves
Clave Privada
Solo la conoce el emisor o receptor autorizado. Usada para descifrar datos y generar firmas digitales.
ConfidencialClave Pública
Puede compartirse abiertamente. Usada para cifrar mensajes dirigidos al propietario y verificar firmas.
CompartidaClave de Sesión
Temporal, válida por minutos o segundos. Usada en HTTPS y claves de un solo uso para mayor velocidad.
Efímera🔄 Proceso de Cifrado
Datos Originales (Plaintext)
El mensaje, archivo o dato que se desea proteger. Legible en su estado original.
"Hola, Mundo" → 01001000 01101111 01101100 01100001 ... Generación / Selección de Clave
Se genera o selecciona una clave criptográfica con la longitud adecuada para el algoritmo elegido.
AES-256: clave de 256 bits generada aleatoriamente con CSPRNG Aplicación del Algoritmo
El algoritmo transforma matemáticamente los datos usando la clave. Sin ella, el resultado es ilegible.
Plaintext + Clave → [Algoritmo AES] → Ciphertext Datos Cifrados (Ciphertext)
El resultado es texto cifrado ilegible. Solo quien posee la clave correcta puede revertir el proceso.
3d4a7b2c... → (descifrar con clave) → "Hola, Mundo" ⚡ Calculadora de Fortaleza de Clave
Selecciona un tamaño de clave para ver su nivel de seguridad y aplicación recomendada.
Haz clic en un tamaño de clave para ver el análisis.
🔢 Algoritmos de Cifrado Simétrico
| Algoritmo | Tipo | Clave / Bloque | Estado | Notas |
|---|---|---|---|---|
| DES | Bloque | 56 bits / 64 bits | Obsoleto | Primer estándar federal; ya no es seguro |
| 3DES | Bloque | 112–168 bits | Deprecado | Aplica DES tres veces; lento, en retirada |
| AES | Bloque | 128/192/256 bits / 128 bits | Estándar | El estándar actual; usado en TLS, VPN, disco |
| IDEA | Bloque | 128 bits / 64 bits | Legacy | Usado en PGP; patentado hasta 2012 |
| Blowfish | Bloque | Hasta 448 bits / 64 bits | Legacy | Rápido y flexible; bloque de 64 bits es limitante |
| Twofish | Bloque | Hasta 256 bits / 128 bits | Seguro | Finalista del concurso AES; libre de patentes |
| RC4 | Flujo | 40–2048 bits | Obsoleto | Fue popular en SSL/WEP; vulnerabilidades serias |
| RC5 / RC6 | Bloque | 0–2040 bits | Legacy | Diseñados por RSA; parámetros configurables |
🧂 Estiramiento de Claves (Key Stretching)
Técnica para reforzar contraseñas débiles mediante iteraciones de hash y sal aleatoria, sin cifrar archivos directamente.
PBKDF2
Aplica una función pseudoaleatoria (ej. HMAC-SHA256) miles de veces. Define el número de iteraciones y la longitud de la clave resultante.
bcrypt
Basado en Blowfish. Ajusta su complejidad con el "cost factor", incrementable con el tiempo para mantener seguridad frente a hardware más rápido.
scrypt
Intensivo en CPU y memoria simultáneamente. Dificulta ataques paralelos con GPUs y ASICs al requerir grandes cantidades de RAM.