Federico Lelli / SchoolCrittografia

PRATICA · 12 ESERCIZI RAGIONATI

Spiega la scelta, non solo il nome

Prova prima di aprire le soluzioni. Per ogni risposta indica la garanzia cercata, chi possiede il segreto e quale ipotesi potrebbe invalidare il ragionamento.

1. Classifica la protezione

Un’applicazione salva una password in Base64, invia i messaggi tramite HTTPS e permette a qualsiasi utente autenticato di leggere ogni documento. Individua tre proprietà diverse e spiega quali risultano protette.

Soluzione ragionata

Base64 non protegge la password: è una codifica pubblica e reversibile. HTTPS può proteggere il collegamento e autenticare il server, ma non risolve la memorizzazione delle credenziali. L’accesso indiscriminato ai documenti è un difetto di autorizzazione. Per la password serve un verificatore ottenuto con una funzione adeguata, salt e costo; per i documenti servono permessi applicati dal servizio.

2. Cesare e il giro dell’alfabeto

Cifra ZAINO con k = 3 e decifra il risultato. Dimostra perché k = 29 non aumenta le chiavi effettive. Poi verifica nel simulatore.

Soluzione ragionata

Z → C, A → D, I → L, N → Q, O → R: il risultato è CDLQR. Sottraendo 3 modulo 26 si recupera ZAINO. 29 = 26 + 3: il giro completo non cambia la trasformazione. Restano 26 spostamenti distinti, non un insieme illimitato.

3. Vigenère e periodi

Cifra CIAO con la chiave SOLE usando A = 0. Se una chiave di periodo 4 viene ripetuta su un testo molto lungo, quali gruppi può analizzare l’avversario?

Soluzione ragionata

2+18=20 → U; 8+14=22 → W; 0+11=11 → L; 14+4=18 → S. Quindi UWLS. Con periodo 4, le posizioni 1,5,9,… condividono uno spostamento; così 2,6,10,… e gli altri due gruppi. Si possono analizzare separatamente come sostituzioni di Cesare. La chiave cambia tra posizioni vicine ma si ripete tra posizioni distanti.

4. Due messaggi, lo stesso pad

Un sistema cifra C₁ = P₁ XOR K e C₂ = P₂ XOR K. L’avversario ottiene entrambi i cifrati e conosce P₁. Quale sequenza di operazioni rivela P₂?

Soluzione ragionata

Prima calcola K = C₁ XOR P₁, poi P₂ = C₂ XOR K. In alternativa P₂ = C₁ XOR C₂ XOR P₁. La relazione vale per la parte in cui i due messaggi hanno riutilizzato il pad. Una chiave lunga e casuale non basta se viene usata più volte.

5. Un backup «protetto con AES»

Il progettista usa AES-256 ma ripete sempre lo stesso nonce in GCM. Salva la chiave in un file accanto al backup. Il software ignora gli errori del tag. Individua i difetti e proponi le correzioni.

Soluzione ragionata

La chiave lunga non corregge il riuso del nonce: la coppia chiave/nonce deve rispettare l’unicità prevista da GCM. La custodia deve separare accessi a dati e segreto, non soltanto nomi dei file. Un fallimento di autenticazione deve impedire l’uso del chiaro. Serve un piano di nonce e limiti per chiave, custodia con permessi adeguati e gestione corretta degli errori.

6. Hash o HMAC?

Due servizi condividono un segreto e vogliono rilevare messaggi falsificati. Un programmatore allega SHA-256 del messaggio. Un altro propone HMAC-SHA-256. Qual è la differenza? Risolve anche il replay?

Soluzione ragionata

Chiunque può ricalcolare un hash semplice dopo una modifica. HMAC richiede la chiave per produrre un controllo valido. Nessuno dei due blocca da solo il riutilizzo di un messaggio valido: il protocollo deve includere e verificare identificativi, contatori o scadenze. Anche HMAC non produce una prova pubblica di quale dei due servizi abbia firmato, perché entrambi conoscono il segreto.

7. Verifica i numeri di RSA

Con p = 61, q = 53, n = 3233, e = 17 e d = 2753, verifica il prodotto e×d modulo 3120. Cifra m = 65 con esponenziazione modulare e verifica il ritorno a m. Puoi usare questa funzione JavaScript su interi BigInt:

function potenzaModulare(base, esponente, modulo) {
  let risultato = 1n;
  while (esponente > 0n) {
    if (esponente % 2n === 1n)
      risultato = (risultato * base) % modulo;
    base = (base * base) % modulo;
    esponente /= 2n;
  }
  return risultato;
}
console.log(potenzaModulare(65n, 17n, 3233n));

Il suffisso n crea un BigInt, un intero gestito con precisione arbitraria. L’algoritmo dimezza l’esponente e riusa i quadrati; assume esponente non negativo e modulo positivo. Il codice è didattico e non è un’implementazione sicura di RSA.

Soluzione ragionata

17 × 2753 = 46801 = 15 × 3120 + 1, quindi il resto è 1. La cifratura produce 2790; calcolando 27902753 modulo 3233 si ottiene 65. I numeri sono troppo piccoli e manca il padding. Correttezza aritmetica non significa sicurezza crittografica.

8. L’accordo di chiave non è autenticazione

Con p = 23 e g = 5, Alice sceglie a = 6 e Bruno b = 15. Calcola A, B e il segreto. Poi spiega perché Eva può ancora interporsi senza risolvere il problema matematico.

Soluzione ragionata

A = 8, B = 19; 196 mod 23 e 815 mod 23 valgono entrambi 2. Eva può inviare valori propri a ciascuno e stabilire segreti distinti. Alice e Bruno devono autenticare il contesto e le chiavi, per esempio con firme verificate rispetto a identità affidabili. I valori piccoli sono esclusivamente didattici.

9. Il furto del database delle password

Un archivio contiene SHA-256(password + salt) e salt diversi per utente. Il responsabile dice che un limite di tre login falliti impedisce di indovinare le password. Valuta il ragionamento.

Soluzione ragionata

Il limite riguarda attacchi online contro il servizio; chi possiede l’archivio può tentare offline. Il salt impedisce riusi facili di tabelle e uguaglianze tra utenti, ma non rende costosa la singola prova di SHA-256. Serve una funzione per password con costo calibrato; una password prevedibile rimane rischiosa.

10. Certificato e firma: tre verifiche differenti

Una firma è matematicamente valida, il certificato è scaduto oggi e il mittente dichiara che la firma risale a un anno fa. Puoi decidere la validità completa guardando solo questi dati? E se il sito HTTPS ha un certificato valido ma un nome diverso da quello atteso?

Soluzione ragionata

La validità matematica è solo una componente. Per una firma passata servono evidenze sul tempo rilevante, stato e catena del certificato, oltre alla politica applicabile. La semplice data dichiarata non basta. Nel caso TLS il nome deve corrispondere al servizio atteso: una firma di CA valida per un altro nome non autentica il sito desiderato.

11. La ricevuta sbagliata

Alice ha una ricevuta PEC di accettazione e un allegato privo di firma. Conclude: «Il destinatario l’ha letto e il contratto è firmato». Quali conclusioni sono supportate?

Soluzione ragionata

L’accettazione documenta lo specifico evento di invio presso il gestore. Occorre distinguere la consegna, che comunque non dimostra la lettura. La firma del gestore sulle evidenze di trasporto non sottoscrive il contratto per Alice. Requisiti di forma e scadenza dipendono dalla procedura; non discendono automaticamente dalla ricevuta.

12. Progetta e gestisci l’incidente

Una scuola deve custodire documenti per dieci anni e distribuire aggiornamenti ai propri dispositivi. Disegna chiavi, accessi, prove di ripristino e verifica delle firme. Poi supponi che una chiave privata del produttore venga rubata: che cosa deve poter cambiare?

Una soluzione motivata

Separa la chiave di cifratura dei documenti da quella di firma del software. Prevedi copie dei documenti e recupero controllato delle chiavi, con prove che dimostrino la decifrabilità futura. Per gli aggiornamenti conserva punti di fiducia, controlli di versione e un meccanismo sicuro per rinnovarli. Dopo il furto servono revoca o disabilitazione della chiave compromessa, distribuzione affidabile della sostitutiva e analisi dei pacchetti che potrebbero essere stati firmati. La durata decennale richiede inventario e possibilità di migrare formati e algoritmi. Non esiste un’unica configurazione corretta indipendente dal modello di minaccia.

Valuta la tua spiegazione

Per ogni esercizio assegna 0–2 punti a ciascuno di questi aspetti: definizioni corrette, distinzione delle garanzie, individuazione delle ipotesi e motivazione della scelta. Una risposta forte spiega anche che cosa succede quando un’ipotesi smette di valere. Completa poi la verifica interattiva.

Materiali didattici curati e rielaborati da Federico Lelli. Le fonti e i riferimenti specifici sono indicati nei materiali disponibili.