Cryptology Academy · Lezione

Perché XOR da solo non è sicuro

Scopra gli attacchi al riutilizzo delle chiavi e il crib dragging contro la cifratura XOR debole.

Lezione 3 di 413 passaggi

Perché XOR da solo non è sicuro è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.

Benvenuto

In questa lezione andremo oltre la teoria e dimostreremo attacchi concreti contro la cifratura XOR: riutilizzo della chiave, testo in chiaro noto e crib dragging.

Scenario di riutilizzo di una chiave debole

Immagini un'app web che cifra i token di sessione usando la stessa chiave XOR. Un attaccante intercetta due token cifrati. Applicando XOR tra i due si annulla la chiave: C1^C2 = P1^P2.

Attacco con testo in chiaro noto

Se P1 è noto: K = P1 XOR C1. A questo punto è possibile decifrare ogni altro ciphertext cifrato con la stessa K: Pi = Ci XOR K. Un solo plaintext noto compromette l'intero sistema.

Crib dragging: passaggio 1

Con P1 sconosciuto: indovina una frase comune in inglese (un crib), come «the ». Applica XOR tra il crib e P1^P2 in ogni posizione. Se in P2 compare un testo leggibile, il crib si trovava in quella posizione.

Crib dragging: passaggio 2

Usando il testo P2 rivelato come nuovo crib più lungo, fallo scorrere più avanti lungo il flusso XOR. Ogni parola scoperta permette di individuare quella successiva. Spesso è possibile recuperare messaggi completi in pochi minuti.

Recupero statistico della chiave

Con molti ciphertext che usano la stessa chiave: una posizione in cui l'output XOR è 0 significa che Pi = Pj in quella posizione. Allineando decine di messaggi è possibile rivelare i byte della chiave uno alla volta.

Chiavi XOR brevi e ripetute

Le chiavi più brevi dei messaggi vengono ripetute. Si può trattare il problema come quello di Vigenère: determinare la lunghezza della chiave usando l'IoC, quindi analizzare la frequenza di ogni posizione separatamente. Il sistema viene compromesso in pochi secondi.

Attacco con testo in chiaro scelto

Se un attaccante può cifrare plaintext arbitrari: invii P=0x00...00. In questo modo C = key direttamente. Oppure invii un valore noto per ottenere K = P XOR C in qualsiasi posizione.

Attacco bit-flipping

I cifrari XOR privi di MAC consentono il bit-flipping: invertendo il bit i nel ciphertext → si inverte il bit i nel plaintext. L'attaccante modifica i dati cifrati senza conoscere la chiave.

Perché AES da solo non basta

AES in modalità ECB è deterministico: lo stesso blocco viene sempre cifrato allo stesso modo. La modalità CTR senza autenticazione consente il bit-flipping. Utilizzi sempre la cifratura autenticata (AES-GCM).

Difesa: cifratura autenticata

La cifratura autenticata (AE) combina la cifratura con un MAC. Qualsiasi modifica al ciphertext fa fallire il controllo del MAC prima della decifratura. Gli schemi AEAD come AES-GCM impediscono il bit-flipping.

Verifica rapida

Un attaccante dispone di due messaggi cifrati con XOR usando la stessa chiave. Che cosa rivela l'applicazione di XOR ai ciphertext?

Riepilogo

Ha visto come XOR fallisce senza una corretta gestione delle chiavi e senza autenticazione. Nel prossimo argomento vedremo il ruolo appropriato di XOR all'interno di AES e dei moderni cifrari a flusso.
Gratis per iniziare

Impara Cryptology Academy con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
67
Lezioni
261

Domande Frequenti

La lezione «Perché XOR da solo non è sicuro» è gratuita?

Sì — il testo completo di «Perché XOR da solo non è sicuro» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.

Cosa imparerò in «Perché XOR da solo non è sicuro»?

Scopra gli attacchi al riutilizzo delle chiavi e il crib dragging contro la cifratura XOR debole. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cryptology Academy?

Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Perché XOR da solo non è sicuro»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?

Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Ripasso delle operazioni bitwise
  2. Cifratura XOR e one-time pad
  3. Perché XOR da solo non è sicuro
  4. XOR dentro AES e nei cifrari a flusso
← Torna a Cryptology Academy