Saltar al contenido
00 Criptografía

XChaCha20-Poly1305

RFC 8439 — cifrado autenticado con un nonce de 192 bits.

01 Overview

Por qué un cifrado simétrico para todo.

01

Los cifrados simétricos son rápidos

El cifrado simétrico autenticado se ejecuta a gigabytes por segundo en una CPU moderna, órdenes de magnitud más rápido que las operaciones de clave pública. Usar primitivas simétricas para los datos reales es la única opción práctica a escala.

02

El impacto cuántico es limitado

El algoritmo de Grover da a las computadoras cuánticas una aceleración de raíz cuadrada contra los cifrados simétricos. Una clave de 256 bits conserva una seguridad efectiva de 128 bits contra un atacante cuántico, mucho más allá de cualquier capacidad plausible de fuerza bruta.

03

XChaCha20 es un cifrado de flujo moderno

ChaCha20 es un cifrado de flujo diseñado por Daniel J. Bernstein en 2008, elegido por su simplicidad, rendimiento y resistencia a ataques de canal lateral. Se usa ampliamente: TLS 1.3, WireGuard, OpenSSH.

02 Details

Cómo funciona XChaCha20-Poly1305 en UltimaOS.

Las cargas útiles en sobre en UltimaOS — mensajes de chat, correo, archivos, notas, tareas, documentos y hojas de cálculo — se cifran con XChaCha20-Poly1305 usando una clave simétrica de 256 bits derivada de la sesión ML-KEM-768. Los eventos de calendario y el historial de conversaciones de IA están fuera de ese sobre hoy.

01

Claves de sesión de 256 bits

Cada conversación, compartición de archivo o llamada usa una clave simétrica nueva de 256 bits, derivada de la encapsulación ML-KEM-768. No hay una clave simétrica a largo plazo en el servidor.

02

Nonces aleatorios de 192 bits

El nonce de 192 bits (24 bytes) de XChaCha20 es lo suficientemente grande como para que los nonces aleatorios se puedan usar de forma segura: la probabilidad de colisión sigue siendo insignificante incluso después de 2^64 mensajes con la misma clave.

03

Autenticación Poly1305

Poly1305 calcula un autenticador de 16 bytes sobre el texto cifrado y cualquier dato asociado. Manipular el texto cifrado o los encabezados invalida la etiqueta, y el cliente receptor se niega a descifrar.

04

Transmisión de archivos

Los archivos se dividen en fragmentos, cada uno con su propio nonce y etiqueta Poly1305. Los fragmentos se pueden verificar y descifrar en cualquier orden, lo que permite la descarga en streaming sin esperar el archivo completo.

03 Key points

Consideraciones prácticas.

  1. 01

    La aceleración por hardware está en todas partes

    Las CPU modernas de Intel, AMD y ARM incluyen AES-NI o instrucciones vectoriales equivalentes. ChaCha20 es el cifrado elegido para sistemas sin AES por hardware (dispositivos móviles) o para resistencia a canales laterales.

  2. 02

    Sin reutilización de nonce

    La generación de nonces usa un contador por mensaje combinado con el prefijo de nonce aleatorio. Con nonces de 192 bits, la reutilización es estadísticamente imposible incluso después de miles de millones de mensajes por sesión.

  3. 03

    Implementación en tiempo constante

    Las implementaciones de referencia de ChaCha20 son de tiempo constante, lo que elimina la fuga de material de clave por canales laterales a través de análisis de tiempo o caché.

  4. 04

    Auditorías de bibliotecas

    Las primitivas criptográficas provienen de @noble — implementaciones puras en TypeScript, auditadas y ampliamente utilizadas, revisadas por la comunidad criptográfica — que se ejecutan en el cliente que puedes inspeccionar. Cualquiera es libre de auditar nuestro uso de ellas.

04b References

Standards and references.

05 Frequently asked

Preguntas sobre XChaCha20-Poly1305.

¿Qué es XChaCha20-Poly1305?

Short answer

XChaCha20-Poly1305 es un cifrado autenticado con datos asociados (AEAD). Combina el cifrado de flujo XChaCha20 (variante de nonce de 24 bytes de ChaCha20) con el MAC Poly1305 para la autenticación. Está especificado en RFC 8439. (RFC 8439)

¿Por qué usar XChaCha20 en lugar de AES-256-GCM?

Short answer

Ambos son excelentes cifrados. XChaCha20 tiene la ventaja práctica de implementaciones de software en tiempo constante sin requerir instrucciones AES por hardware, lo que lo hace más robusto contra ataques de canal lateral en dispositivos móviles. El nonce de 192 bits también hace seguras las construcciones con nonces aleatorios.

¿Cuál es el tamaño de clave efectivo contra computadoras cuánticas?

Short answer

El algoritmo de Grover proporciona una aceleración cuadrática contra los cifrados simétricos. Una clave de 256 bits conserva una seguridad cuántica efectiva de 128 bits, que está mucho más allá de cualquier capacidad plausible de fuerza bruta, incluso con computadoras cuánticas.

¿Cuál es la diferencia entre ChaCha20 y XChaCha20?

Short answer

XChaCha20 usa un nonce de 192 bits (24 bytes) en lugar del nonce de 96 bits (12 bytes) de ChaCha20. Los bits adicionales del nonce se derivan ejecutando ChaCha20 con una clave derivada. El nonce más largo permite la generación segura de nonces aleatorios sin preocupaciones de agotamiento.

¿Qué es Poly1305?

Short answer

Poly1305 es una función hash universal rápida diseñada por Daniel J. Bernstein. En construcciones AEAD como XChaCha20-Poly1305, Poly1305 calcula un autenticador de 16 bytes sobre el texto cifrado que demuestra que el texto cifrado no fue manipulado.

¿Se usa XChaCha20-Poly1305 fuera de UltimaOS?

Short answer

Sí. TLS 1.3 (RFC 8446) admite ChaCha20-Poly1305 como suite de cifrado. WireGuard VPN usa ChaCha20-Poly1305 exclusivamente. OpenSSH ha usado ChaCha20-Poly1305 desde la versión 6.5.

¿Qué pasa si ocurre una colisión de Poly1305?

Short answer

Poly1305 es un hash universal; su salida es infalsificable bajo supuestos criptográficos estándar. Incluso si ocurriera una colisión (probabilidad ~2^-128), no permitiría la falsificación sin romper Poly1305 en sí, lo que implicaría romper AES.

Gratis para siempre

Gratis para individuos y familias. Para siempre.

Sin anuncios, sin minería de datos, sin cuenta atrás de prueba. Las cuentas para particulares y familias son gratuitas, de forma permanente. Las organizaciones pagan por asiento, y eso es lo que lo financia.

Solicita tu cuenta Solo con invitación mientras escalamos