00 Cifrografia

XChaCha20-Poly1305

RFC 8439 — crittografia autenticata con un nonce a 192 bit.

01 Overview

Perché un cifrario simmetrico per tutto.

01

I cifrari simmetrici sono veloci

La crittografia simmetrica autenticata funziona a gigabyte al secondo su una CPU moderna, ordini di grandezza più veloci delle operazioni chiave pubblica. Utilizzando primitivi simmetrici per i dati reali è l'unica scelta pratica a scala.

02

L'impatto quantistico è limitato

L'algoritmo di Grover dà ai computer quantistici una velocità di base quadrata contro i cifrari simmetrici. Una chiave a 256 bit mantiene la sicurezza effettiva a 128 bit contro un attaccante quantico — ben oltre qualsiasi capacità di forza bruta plausibile.

03

XChaCha20 è un moderno codice di flusso

ChaCha20 è un codice di flusso progettato da Daniel J. Bernstein nel 2008, selezionato per la sua semplicità, le prestazioni e la resistenza agli attacchi laterali. È ampiamente usato: TLS 1.3, WireGuard, OpenSSH.

02 Details

Come funziona XChaCha20-Poly1305 in UltimaOS.

I carichi di pagamento sviluppati su UltimaOS — messaggi di chat, posta, file, note, attività, documenti e fogli di calcolo — sono crittografati con XChaCha20-Poly1305 utilizzando una chiave simmetrica a 256 bit derivata dalla sessione ML-KEM-768. Calendario eventi e storia di conversazione AI sono fuori quella busta oggi.

01

chiavi di sessione a 256 bit

Ogni conversazione, condivisione di file o chiamata utilizza una nuova chiave simmetrica a 256 bit, derivata dall'incapsulamento ML-KEM-768. Non esiste una chiave simmetrica a lungo termine sul server.

02

192-bit nonces casuali

Il nonce a 192 bit di XChaCha20 (24 byte) è abbastanza grande che le nonze casuali possono essere utilizzate in modo sicuro — la probabilità di collisione rimane trascurabile anche dopo 2^64 messaggi con la stessa chiave.

03

autenticazione Poly1305

Poly1305 calcola un autenticatore di 16 byte sul testo cifrario e qualsiasi dato associato. La manomissione con il testo cifrato o le intestazioni invalida il tag, e il client ricevente rifiuta di decifrare.

04

File di streaming

I file sono suddivisi in pezzi, ciascuno con il proprio nonce e Poly1305 tag. Chunks può essere verificato e decifrato in qualsiasi ordine, consentendo il download in streaming senza aspettare il file completo.

03 Key points

Considerazioni pratiche.

  1. 01

    L'accelerazione hardware è ovunque

    Le CPU moderne di Intel, AMD e ARM includono tutte le istruzioni vettoriali AES-NI o equivalenti. ChaCha20 è il codice scelto per i sistemi senza hardware AES (dispositivi mobili) o per la resistenza dei canali laterali.

  2. 02

    Nessun riutilizzo

    La generazione di nonce utilizza un contatore per messaggio combinato con il prefisso nonce casuale. Con 192-bit nonces, il riutilizzo è statisticamente impossibile anche dopo miliardi di messaggi per sessione.

  3. 03

    Attuazione a tempo costante

    Le implementazioni di riferimento di ChaCha20 sono a tempo costante, eliminando la perdita laterale del materiale chiave attraverso la tempistica o l'analisi della cache.

  4. 04

    Audit della biblioteca

    I primitivi crittografici provengono da @noble — controllati, ampiamente utilizzati, implementazioni puro-TypeScript rivisto dalla comunità crittografica — in esecuzione nel client è possibile ispezionare. Chiunque è libero di controllare il nostro uso di loro.

04b References

Standards and references.

05 Frequently asked

Domande su XChaCha20-Poly1305.

Cos'è XChaCha20-Poly1305?

Short answer

XChaCha20-Poly1305 è una crittografia autenticata con il codice dei dati associati (AEAD). Combina il cifrario di flusso XChaCha20 (24 byte nonce variant di ChaCha20) con il Poly1305 MAC per l'autenticazione. È specificato in RFC 8439. (RFC 8439)

Perché usare XChaCha20 invece di AES-256-GCM?

Short answer

Entrambi sono ottimi cifrari. XCha20 ha il vantaggio pratico di implementazioni software a tempo costante senza richiedere istruzioni hardware AES, rendendolo più robusto dagli attacchi laterali sui dispositivi mobili. Il nonce a 192 bit rende anche costruzioni casuali-nonce sicuro.

Qual è la dimensione chiave efficace contro i computer quantici?

Short answer

L'algoritmo di Grover fornisce un speedup quadratico contro i cifrari simmetrici. Una chiave a 256 bit mantiene la sicurezza quantistica effettiva a 128 bit, che è ben al di là di qualsiasi capacità di forza bruta plausibile - anche da computer quantici.

Qual è la differenza tra ChaCha20 e XChaCha20?

Short answer

XChaCha20 utilizza un nonce a 192 bit (24 byte) invece del nonce a 96 bit di ChaCha20 (12 byte). I bit extra nonce sono derivati dal funzionamento di ChaCha20 con una chiave derivata. Il nonce più lungo permette una generazione di nonce casuale sicura senza problemi di esaurimento.

Cos'è Poly1305?

Short answer

Poly1305 è una veloce funzione hash universale progettata da Daniel J. Bernstein. Nelle costruzioni AEAD come XChaCha20-Poly1305, Poly1305 calcola un autenticatore di 16 byte sul testo cifrario che dimostra che il testo cifrario non è stato manomesso.

XChaCha20-Poly1305 è usato fuori UltimaOS?

Short answer

TLS 1.3 (RFC 8446) supporta ChaCha20-Poly1305 come suite di cifratura. WireGuard VPN utilizza ChaCha20-Poly1305 esclusivamente. OpenSSH ha usato ChaCha20-Poly1305 dalla versione 6.5.

E se si verificasse una collisione Poly1305?

Short answer

Poly1305 è un hash universale; la sua uscita è impercettibile sotto presupposti crittografici standard. Anche se si verificasse una collisione (probabilità ~2^-128), non permetterebbe la falsificazione senza rompere Poly1305 stesso, il che implica rompere AES.

Gratis per sempre

Gratuito per individui e famiglie. Per sempre.

Nessun annuncio, nessun data mining, nessun orologio di prova. I conti individuali e familiari sono liberi — permanentemente. Le organizzazioni pagano per posto di lavoro, e questo è ciò che la finanzia.

Richiedi il tuo account Invitare solo mentre ridimensioniamo