0Pricing
Cryptology Academy · Lezione

Modalità CTR e comportamento dei cifrari a flusso

Utilizzi la modalità contatore per trasformare un cifrario a blocchi in un generatore di keystream.

Modalità CTR e comportamento dei cifrari a flusso è 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

La modalità Counter (CTR) trasforma qualsiasi cifrario a blocchi in un cifrario a flusso. È parallelizzabile, non richiede padding ed è alla base di AES-GCM. Impariamo a usarla a fondo.

Concetto della modalità CTR

Generi un keystream crittografando valori consecutivi del contatore: Keystream[i] = AES(K, Nonce || Counter_i) Ciphertext = Plaintext XOR Keystream Il contatore viene incrementato per ogni blocco. La decrittografia è identica alla crittografia.

CTR a confronto con CBC

CBC: cifratura sequenziale (ogni blocco dipende da quello precedente). CTR: completamente parallelizzabile (ogni blocco è indipendente). Per un file da 1 GB, CTR può utilizzare tutti i core della CPU; CBC no.

Nessun padding necessario

CTR genera un keystream di lunghezza arbitraria. Si esegue l'XOR con il testo in chiaro byte per byte. Un messaggio di 100 byte utilizza 100 byte di keystream: non è necessario alcun padding. Ideale per i dati in streaming.

Struttura nonce/contatore

Suddivisione comune per un blocco AES da 128 bit: - nonce casuale da 64 bit (univoco per ogni messaggio) - contatore da 64 bit (incrementato a ogni blocco) Oppure nonce da 96 bit + contatore da 32 bit (standard GCM). L'unicità del nonce è fondamentale: non riutilizzate mai la coppia (nonce, chiave).

Attacco al riutilizzo del nonce in CTR

CTR con la stessa coppia (chiave, nonce) produce lo stesso keystream. Cifrando due messaggi diversi: C1 XOR C2 = P1 XOR P2. Proprio come nell'attacco al one-time pad riutilizzato più volte. La perdita di informazioni è catastrofica.

Accesso casuale in CTR

CTR consente l'accesso casuale: per decifrare il blocco 1000, calcolate direttamente AES(K, Nonce || 1000). Non è necessario decifrare i blocchi precedenti. Ideale per database e cifratura dei dischi (insieme ad altre modalità).

CTR in Python

from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes import os nonce = os.urandom(16) # Used as counter start cipher = Cipher(algorithms.AES(key), modes.CTR(nonce)) enc = cipher.encryptor() ciphertext = enc.update(plaintext) + enc.finalize()

CTR e propagazione degli errori

In modalità CTR, un singolo bit errato del testo cifrato modifica esattamente un bit del testo in chiaro. Gli errori non si propagano agli altri blocchi (a differenza di CBC, in cui la corruzione di un blocco altera il blocco successivo). Indicato per i canali rumorosi.

Modalità SIV per la resistenza all'uso improprio del nonce

AES-SIV (Synthetic IV) resiste all'uso improprio del nonce: anche se il nonce viene riutilizzato, viene rivelata soltanto l'uguaglianza tra i testi in chiaro, non i testi in chiaro completi. Viene utilizzato negli scenari in cui è difficile garantire l'unicità del nonce.

Da CTR a GCM

AES-GCM = AES-CTR + autenticazione GHASH. La modalità contatore gestisce la cifratura. GHASH calcola un tag di autenticazione usando la moltiplicazione nel campo di Galois. Insieme realizzano la cifratura autenticata.

Verifica rapida

Qual è il principale vantaggio della modalità CTR rispetto alla modalità CBC per la cifratura di grandi quantità di dati?

Riepilogo

Avete acquisito padronanza della modalità CTR. Ora la combiniamo con l'autenticazione in AES-GCM per ottenere la cifratura autenticata.

Domande Frequenti

La lezione «Modalità CTR e comportamento dei cifrari a flusso» è gratuita?

Sì — il testo completo di «Modalità CTR e comportamento dei cifrari a flusso» è 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 «Modalità CTR e comportamento dei cifrari a flusso»?

Utilizzi la modalità contatore per trasformare un cifrario a blocchi in un generatore di keystream. 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 «Modalità CTR e comportamento dei cifrari a flusso»?

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. Fondamenti dei cifrari a blocchi e padding
  2. ECB e CBC: pattern e IV
  3. Modalità CTR e comportamento dei cifrari a flusso
  4. GCM e cifratura autenticata
← Torna a Cryptology Academy