00 Criptografia

XChaCha20-Poly1305

RFC 8439 — cifração autenticada com um nonce de 192 bits.

01 Overview

Porquê uma cifra simétrica para tudo.

01

As cifras simétricas são rápidas

A criptografia simétrica autenticada é executada em gigabytes por segundo em uma CPU moderna, ordens de magnitude mais rápidas do que operações de chave pública. Usar primitivos simétricos para dados reais é a única escolha prática em escala.

02

O impacto quântico é limitado

O algoritmo de Grover dá aos computadores quânticos uma aceleração de raiz quadrada contra cifras simétricas. Uma chave de 256 bits mantém segurança efetiva de 128 bits contra um atacante quântico — muito além de qualquer capacidade plausível de força bruta.

03

XChaCha20 é uma cifra de fluxo moderna

ChaCha20 é uma cifra de fluxo projetada por Daniel J. Bernstein em 2008, selecionada por sua simplicidade, desempenho e resistência a ataques de canal lateral. É amplamente utilizado: TLS 1.3, WireGuard, OpenSSH.

02 Details

Como funciona o XChaCha20-Poly1305 em UltimaOS.

As cargas úteis envelopadas no UltimaOS — mensagens de chat, e-mail, arquivos, notas, tarefas, documentos e planilhas — são criptografadas com o XChaCha20-Poly1305 usando uma chave simétrica de 256 bits derivada da sessão do ML-KEM-768. Calendário eventos e história de conversação IA estão fora desse envelope hoje.

01

Chaves de sessão de 256 bits

Cada conversação, partilha de ficheiros ou chamada usa uma chave simétrica de 256 bits fresca, derivada do encapsulamento ML-KEM-768. Não há nenhuma chave simétrica de longo prazo no servidor.

02

Nonces aleatórios de 192 bits

O nonce de 192 bits do XChaCha20 (24 bytes) é grande o suficiente para que os nonces aleatórios possam ser usados com segurança — a probabilidade de colisão permanece insignificante mesmo após 2^64 mensagens com a mesma chave.

03

Autenticação Poly1305

Poly1305 calcula um autenticador de 16 bytes sobre o texto cifrado e quaisquer dados associados. A alteração ao texto cifrado ou cabeçalhos invalida a etiqueta, e o cliente receptor recusa-se a descriptografar.

04

Transmissão de arquivos

Os arquivos são divididos em blocos, cada um com sua própria nonce e etiqueta Poly1305. Chunks pode ser verificado e descriptografado em qualquer ordem, habilitando o download do streaming sem esperar pelo arquivo completo.

03 Key points

Considerações práticas.

  1. 01

    Aceleração do hardware está em toda parte

    CPUs modernas da Intel, AMD e ARM incluem instruções AES-NI ou vetores equivalentes. ChaCha20 é a cifra escolhida para sistemas sem hardware AES (dispositivos móveis) ou para resistência do canal lateral.

  2. 02

    Nenhuma reutilização de nonce

    A geração de Nonce usa um contador de per-mensagem combinado com o prefixo de nonce aleatório. Com nonces de 192-bit, a reutilização é estatisticamente impossível mesmo após bilhões de mensagens por sessão.

  3. 03

    Aplicação em tempo constante

    As implementações de referência do ChaCha20 são de tempo constante, eliminando vazamentos de canal lateral de material chave através de timing ou análise de cache.

  4. 04

    Auditorias de bibliotecas

    Os primitivos criptográficos vêm de @noble — implementações auditadas, amplamente utilizadas e puras do TypeScript revisadas pela comunidade criptográfica — em execução no cliente que você pode inspecionar. Qualquer pessoa é livre para auditar o nosso uso deles.

04b References

Standards and references.

05 Frequently asked

Perguntas sobre XChaCha20-Poly1305.

O que é o XChaCha20-Poly1305?

Short answer

XChaCha20-Poly1305 é uma cifra autenticada com dados associados (AEAD). Ele combina a cifra de fluxo XChaCha20 (24-byte nonce variante de ChaCha20) com o Poly1305 MAC para autenticação. É especificado na RFC 8439. (RFC 8439)

Por que usar XChaCha20 em vez de AES-256-GCM?

Short answer

Ambos são excelentes cifras. O XChaCha20 tem a vantagem prática de implementações de software em tempo constante sem precisar de instruções de hardware AES, tornando-o mais robusto contra ataques de canal lateral em dispositivos móveis. O nonce 192-bit também faz construções aleatórias-nonce seguro.

Qual é o tamanho da chave eficaz contra computadores quânticos?

Short answer

O algoritmo de Grover fornece uma aceleração quadrática contra cifras simétricas. Uma chave de 256 bits mantém segurança quântica eficaz de 128 bits, que está muito além de qualquer capacidade plausível de força bruta — inclusive por computadores quânticos.

Qual é a diferença entre ChaCha20 e XChaCha20?

Short answer

XChaCha20 usa um nonce de 192 bits (24 bytes) em vez do nonce de 96 bits de ChaCha20 (12 bytes). Os bits extra nonce são derivados executando ChaCha20 com uma chave derivada. O nonce mais permite a geração aleatória segura do nonce sem preocupações da exaustão.

O que é o Poly1305?

Short answer

Poly1305 é uma função de hash universal projetada por Daniel J. Bernstein. Em construções AEAD como XChaCha20-Poly1305, Poly1305 calcula um autenticador de 16 bytes sobre o texto cifrado que prova que o texto cifrado não foi adulterado.

O XChaCha20-Poly1305 é utilizado fora do UltimaOS?

Short answer

Sim. TLS 1.3 (RFC 8446) suporta ChaCha20-Poly1305 como uma suite cifra. O WireGuard VPN usa o ChaCha20-Poly1305 exclusivamente. OpenSSH usa ChaCha20-Poly1305 desde a versão 6.5.

E se ocorrer uma colisão Poly1305?

Short answer

Poly1305 é um hash universal; sua saída é imperforgeable sob os pressupostos criptográficos padrão. Mesmo se uma colisão ocorresse (probabilidade ~2^-128), não permitiria falsificações sem quebrar o próprio Poly1305, o que implicaria quebrar o AES.

Livre para sempre

Livre para indivíduos e famílias. Para sempre.

Sem anúncios, sem mineração de dados, sem relógio de teste. As contas individuais e familiares são gratuitas — permanentemente. As organizações pagam por assento, e é isso que o financia.

Solicitar sua conta Apenas convites enquanto escalamos