Federico Lelli / SchoolCrittografia

LEZIONE 04 · REGOLARITÀ E CASUALITÀ

Una chiave che cambia non è sempre imprevedibile

Vigenère applica spostamenti diversi alle lettere. Il one-time pad porta l’idea a una condizione estrema: un segreto casuale lungo quanto il messaggio e mai riutilizzato.

Chi?
Mittente e destinatario che condividono materiale segreto.
Che cosa?
Una sostituzione polialfabetica, cioè con più corrispondenze possibili per la stessa lettera.
Quando?
Vigenère è utile per studiare gli attacchi; il one-time pad richiede condizioni operative molto restrittive.
Dove?
Prima su lettere; poi su bit per comprendere il caso moderno del pad.
Perché?
Riconoscere la differenza tra ripetizione, casualità e sicurezza dimostrabile.

Le parole di questa lezione

Chiave periodica
Una sequenza riutilizzata ciclicamente. La chiave LEMON si ripete come LEMONLEMON…: il suo periodo è 5.
Sostituzione polialfabetica
La sostituzione dipende anche dallo stato o dalla posizione. La stessa A può diventare lettere diverse in punti diversi.
XOR
Operazione su due bit: restituisce 1 se sono diversi, 0 se sono uguali. Quindi 0 XOR 0 = 0, 0 XOR 1 = 1, 1 XOR 0 = 1, 1 XOR 1 = 0. Applicarla due volte con lo stesso secondo operando annulla l’effetto.
Segretezza perfetta
Conoscere il cifrato non cambia la probabilità assegnata ai possibili messaggi, nelle ipotesi del modello. Non significa nascondere automaticamente la lunghezza o garantire l’integrità.

Vigenère senza costruire 26 tabelle

Usiamo A = 0, …, Z = 25. Per la posizione i sommiamo l’indice del testo pi e quello della chiave ki, poi riduciamo modulo 26. Per decifrare sottraiamo. Non serve memorizzare una matrice di alfabeti: la formula descrive le stesse corrispondenze.

Chiaro:   ATTACKATDAWN
Chiave:   LEMONLEMONLE
Cifrato:  LXFOPVEFRNHR

Posizione 1: A=0  + L=11  → L=11
Posizione 2: T=19 + E=4   → X=23
Posizione 3: T=19 + M=12  → F=5 (31 mod 26)

Il testo inglese significa «attacca all’alba» ed è usato solo come esempio convenzionale. Per CIAO con chiave SOLE si ottiene UWLS.

Come si attacca una ripetizione

Se la chiave ha periodo 5, le posizioni 1, 6, 11, … usano tutte lo stesso spostamento. Separando il cifrato in cinque sottosequenze si torna a cinque problemi simili a Cesare. Ripetizioni di gruppi e distanze tra loro possono suggerire multipli del periodo: è l’idea dell’esame di Kasiski, non una garanzia meccanica su ogni testo. Campioni più lunghi aiutano a distinguere regolarità da coincidenze.

Nel video il nome è trascritto in modo impreciso: Friedrich Kasiski era un ufficiale prussiano. La lezione essenziale è matematica: una chiave ripetuta crea gruppi di posizioni confrontabili. Cambiare lettere non basta se il modo di cambiarle è periodico.

One-time pad: tutte le condizioni contano

Un one-time pad è un cifrario in cui il messaggio viene combinato con una chiave uniformemente casuale, indipendente dal messaggio, lunga quanto il messaggio, segreta e usata una volta sola. Nel caso binario: C = P XOR K e P = C XOR K.

P = 1011
K = 0110
C = 1101
C XOR K = 1011

Per ogni messaggio di quella lunghezza esiste una chiave compatibile con lo stesso cifrato. Senza informazioni sulla chiave, il cifrato non discrimina i possibili messaggi. Una frase di un libro o una password ripetuta non soddisfano il requisito di casualità uniforme. Un generatore a partire da una piccola chiave segreta può essere utile nella crittografia moderna, ma offre una garanzia computazionale, non le stesse ipotesi del pad.

Il riuso distrugge la garanzia

Se C₁ = P₁ XOR K e C₂ = P₂ XOR K, allora C₁ XOR C₂ = P₁ XOR P₂: la chiave scompare. Conoscere una parte di P₁ rivela la parte corrispondente di P₂. Inoltre l’attaccante può modificare bit del cifrato: il pad, da solo, non autentica il messaggio.

OTP ha due significati diversi

Qui OTP significa one-time pad. Nei sistemi di login significa spesso one-time password, un codice di autenticazione monouso. Un codice temporaneo di sei cifre non è un pad per cifrare un documento. Enigma non è un one-time pad.

Domanda: perché non usare sempre il pad?

Bisogna generare, distribuire, custodire e sincronizzare tanto segreto quanti sono i dati da scambiare. Se devi trasmettere 1 GB, serve 1 GB di chiave casuale condivisa e mai riutilizzata. Il problema di consegnare in sicurezza quel materiale può essere più difficile del problema iniziale.

Origine: video 07, con correzioni terminologiche. Riferimento teorico: Shannon e la segretezza perfetta.

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