Se puoi calcolare su dati crittografati senza decifrarli, hai la crittografia omomorfica. Se puoi farlo alla scala di WhatsApp, hai un miracolo. E i miracoli non sono una base solida per la legislazione.
Nel dibattito su Chat Control, la crittografia completamente omomorfica (FHE, dall'inglese) appare frequentemente come la soluzione tecnica che permetterebbe di conciliare scansione e privacy. L'idea è seducente: un server potrebbe eseguire un classificatore di CSAM su messaggi crittografati senza decifrarli, ottenendo solo un risultato binario —"sospetto" o "non sospetto"— senza accedere al contenuto.
La promessa è reale. La fattibilità pratica, tuttavia, è un'altra storia.
Cos'è la crittografia omomorfica?
Uno schema di crittografia omomorfica permette di eseguire operazioni aritmetiche su dati crittografati. Formalmente:
Dato un crittogramma e , esiste un'operazione tale che:
dove è un'operazione aritmetica (somma o moltiplicazione) sui testi in chiaro.
Tipi
| Tipo | Operazioni | Esempio | Prestazioni |
|---|---|---|---|
| PHE (Parziale) | Solo somma o solo moltiplicazione | RSA (moltiplicativo), Paillier (additivo) | ~1-10× più lento |
| SHE (Un po' omomorfico) | Somma e moltiplicazione con limiti | BGV, BFV | ~10³-10⁶× più lento |
| FHE (Completamente omomorfico) | Somma e moltiplicazione illimitate | CKKS, Gentry, TFHE | ~10⁶-10⁹× più lento |
La differenza cruciale tra SHE e FHE è il bootstrapping: una tecnica che "ravviva" il rumore accumulato nella crittografia dopo ogni operazione, consentendo calcoli arbitrariamente profondi. Senza bootstrapping, il rumore cresce con ogni operazione fino a rendere il messaggio indecifrabile.
Crittografia FHE: m → E(m) → [rumore iniziale = ε]
Somma: E(m₁) ⊕ E(m₂) → E(m₁+m₂) → [rumore ≈ 2ε]
Moltiplicazione: E(m₁) ⊗ E(m₂) → E(m₁·m₂) → [rumore ≈ ε²]
Bootstrapping: E(m) → E(E(m)) → decifratura omomorfica → E(m) pulito
Il problema delle prestazioni
L'ostacolo fondamentale dell'FHE sono le prestazioni. Le operazioni su dati crittografati sono tra 6 e 9 ordini di grandezza più lente che su testo in chiaro. Per farsi un'idea:
| Operazione | Testo in chiaro | FHE (stima 2026) | Fattore |
|---|---|---|---|
| Somma di 2 interi a 32 bit | ~0.3 ns | ~10 μs | 30.000× |
| Moltiplicazione di 2 interi | ~0.5 ns | ~1 ms | 2.000.000× |
| Confronto (> / <) | ~0.3 ns | ~10 ms | 30.000.000× |
| Classificatore CNN (un'immagine) | ~1 ms | ~10⁶-10⁹ s | Imp fattibile |
| Rete neurale completa (inferenza) | ~10 ms | ~10⁷-10¹⁰ s | Imp fattibile |
WhatsApp elabora circa 100 miliardi di messaggi al giorno (~1,16 milioni al secondo). Un classificatore FHE per una singola immagine richiederebbe, nel migliore dei casi, ore di calcolo. Per la scala della messaggistica globale, l'FHE è diversi ordini di grandezza più lento del necessario.
E se il classificatore fosse semplice?
Un argomento che a volte si sente è che un classificatore di CSAM non ha bisogno di essere una rete neurale complessa. Potrebbe essere un semplice confronto con un database di hash percettivi. Questo sarebbe calcolabile con FHE... in teoria.
Il problema è che il rilevamento di CSAM non è un confronto di hash. Il contenuto CSAM non è etichettato con un hash noto finché non viene identificato e segnalato. La maggior parte del materiale che i sistemi attuali rilevano è nuovo materiale non classificato precedentemente, il che richiede classificatori basati sul contenuto (reti neurali) che analizzino l'immagine o il video per determinare se contiene materiale sospetto.
Un classificatore di questo tipo richiede:
- Vari strati convoluzionali
- Funzioni di attivazione non lineari (ReLU, sigmoide)
- Strati di pooling
- Strati completamente connessi
- Confronto con embedding
Ognuna di queste operazioni è ordini di grandezza più costosa in FHE. Le funzioni non lineari sono particolarmente problematiche perché l'FHE supporta solo operazioni aritmetiche lineari (somma, moltiplicazione), e le non linearità devono essere approssimate tramite polinomi, il che aggiunge ancora più profondità di calcolo e richiede più bootstrapping.
Il paradosso del classificatore
Anche se le prestazioni fossero risolte (diciamo, tramite hardware specializzato o progressi crittografici significativi), rimarrebbe un problema concettuale più profondo:
Per classificare contenuto crittografato come CSAM, il classificatore deve sapere cos'è CSAM. Ma per definire CSAM, il classificatore deve vedere esempi di CSAM.
Ciò significa che il classificatore —e quindi l'entità che lo addestra, aggiorna e distribuisce— contiene la conoscenza di ciò che cerca. Questa conoscenza può essere:
- Un database di hash: che può essere ampliato per includere altri contenuti
- Un modello di rete neurale: che può essere messo a punto per rilevare altre categorie
- Un insieme di regole: che può essere espanso per mandato legale
La porta non è posteriore. È strutturale. Il meccanismo che permette di rilevare CSAM permette, con la stessa architettura, di rilevare qualsiasi altra cosa che l'autorità decida di includere.
FHE (ideale): E(m) → [classificatore FHE] → sì/no
Nessuno vede m. Solo il verdetto.
FHE (reale): E(m) → [classificatore FHE] → sì/no + confidenza
La confidenza rivela informazioni su m.
Se il classificatore viene aggiornato, il VERDETTO CAMBIA.
L'autorità può iterare classificatori su dati passati.
Quest'ultimo punto è critico e poco discusso. Se i messaggi vengono memorizzati crittografati (e la piattaforma li conserva), un futuro ordine che aggiorni il classificatore permetterebbe di riesaminare retrospettivamente tutto lo storico delle comunicazioni. L'FHE non impedisce questo: il classificatore viene eseguito sui dati crittografati memorizzati, e l'autorità ottiene nuovi verdetti senza aver mai visto il contenuto originale.
Lo stato dell'arte
A luglio 2026, l'FHE ha ottenuto progressi notevoli in laboratorio:
- Reti neurali piccole (∼10 strati, ∼1000 neuroni): inferenza in minuti per campione
- Confronto di hash: fattibile per database piccoli (∼10⁶ voci)
- Bootstrapping ottimizzato: TFHE può eseguire una porta logica in ∼10 ms
Ma il divario tra ciò che è fattibile in laboratorio e ciò che richiede la messaggistica di massa rimane di diversi ordini di grandezza:
| Requisito | FHE 2026 | Necessario per CSAR | Divario |
|---|---|---|---|
| Classificare 1 immagine | ~10³-10⁶ secondi | < 0.1 secondi | 10⁴-10⁷× |
| 1B immagini/giorno | Imp fattibile | ~10⁵ immagini/secondo | Insormontabile |
| Classificare video | Anni per minuto | Tempo reale | Insormontabile |
| Privacy del classificatore | Possibile | Non è il problema | — |
Conclusione tecnica
La crittografia omomorfica non è la soluzione che la Commissione Europea cerca, per tre ragioni:
Prestazioni: l'FHE non può elaborare la scala della messaggistica globale con classificatori sofisticati, e non ci sono indicazioni che possa farlo nel prossimo decennio. I progressi nell'hardware accelerato (FPGA, ASIC) potrebbero ridurre il divario, ma non colmarlo.
Classificazione retrospettiva: l'FHE non impedisce la riesamina storica delle comunicazioni memorizzate, creando un rischio di sorveglianza differita che la proposta non affronta.
Espandibilità del classificatore: il meccanismo che permette di rilevare CSAM permette, con lo stesso progetto, di rilevare qualsiasi contenuto classificabile. L'FHE non risolve il problema della china scivolosa; lo sposta solo sul piano algoritmico.
L'FHE è una tecnologia promettente per applicazioni dove la quantità di dati è moderata e il calcolo è semplice (query a database crittografati, calcolo multiparte, privacy nei modelli di ML). Ma come base per un sistema di sorveglianza di massa obbligatoria, è una soluzione che cerca un problema che non può risolvere.
Documenti correlati:
