Knowledge Base Knowledge Base
🔎 📝
ciberseguridad / criptografia

🔑 Claves y Algoritmos

Claves y algoritmos de cifrado criptografico

PKICifradoAutorización FCEComptia+
  • 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.

image.png

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

128–4096
bits en claves modernas
3
algoritmos de key stretching
8
algoritmos simétricos

🔐 Tipos y Tamaños de Claves

🔒

Clave Privada

Solo la conoce el emisor o receptor autorizado. Usada para descifrar datos y generar firmas digitales.

Confidencial
1024 – 4096 bits
🔓

Clave Pública

Puede compartirse abiertamente. Usada para cifrar mensajes dirigidos al propietario y verificar firmas.

Compartida
1024 – 4096 bits

Clave de Sesión

Temporal, válida por minutos o segundos. Usada en HTTPS y claves de un solo uso para mayor velocidad.

Efímera
128 – 256 bits
Relación Tamaño → Caso de Uso
128–256 bits
Cifrado masivo (AES)
1024 bits
Firmas digitales (mínimo)
2048 bits
RSA recomendado
4096 bits
Máxima protección

🔄 Proceso de Cifrado

1

Datos Originales (Plaintext)

El mensaje, archivo o dato que se desea proteger. Legible en su estado original.

"Hola, Mundo" → 01001000 01101111 01101100 01100001 ...
2

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
3

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
4

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.

Selecciona un tamaño

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.

SHA-1 / SHA-256 RFC 2898
🐡

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.

Cost factor Resistente a ASIC
🌊

scrypt

Intensivo en CPU y memoria simultáneamente. Dificulta ataques paralelos con GPUs y ASICs al requerir grandes cantidades de RAM.

Memory-hard Anti-GPU

🎯 Quiz: Claves y Algoritmos