Cryptology Academy · Lezione

CKKS per l'aritmetica approssimata e il machine learning

Applichi CKKS all'inferenza di machine learning nel rispetto della privacy.

Lezione 4 di 413 passaggi

CKKS per l'aritmetica approssimata e il machine learning è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 4 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.

Perché CKKS?

BGV/BFV operano su interi (aritmetica esatta). Il machine learning utilizza numeri in virgola mobile (aritmetica approssimata). CKKS (Cheon-Kim-Kim-Song, 2017) codifica numeri reali e complessi e consente una perdita di precisione controllata: è ideale per l'inferenza ML e l'analisi dei dati.

Aritmetica approssimata

CKKS considera il rumore parte della precisione della codifica. Invece di eliminare il rumore (correggendo gli errori), CKKS interpreta il risultato come un'approssimazione con limiti di precisione garantiti. Questo compromesso consente una HE molto più efficiente per calcoli su valori continui.

Codifica dei numeri reali

CKKS codifica un vettore di numeri complessi come un polinomio: un vettore (z_0, ..., z_{n/2-1}) viene mappato tramite la FFT inversa a un polinomio in R. Il fattore di scala Δ (ad esempio, 2^40) mappa i numeri in virgola mobile in interi. n/2 slot reali per testo cifrato.

Ridimensionamento

Dopo la moltiplicazione, il fattore di scala diventa Δ^2. CKKS introduce un'operazione di ridimensionamento: dividere per Δ per ripristinare una singola scala. Questo riduce anche il livello del modulo del testo cifrato, come il cambio di modulo in BGV, mantenendo gestibile il testo cifrato.

Analisi della precisione

Ogni moltiplicazione consuma un livello del modulo e riduce la precisione di circa log2(Δ) bit. Per un circuito di profondità L con fattore di scala Δ = 2^40, la perdita complessiva di precisione è di circa L*40 bit. Scelga un modulo iniziale Q sufficientemente grande da contenere questo budget di precisione.

Inferenza ML su CKKS

Strati lineari (moltiplicazione matrice-vettore): efficienti, tramite rotazione e accumulo. Funzioni di attivazione (ReLU, sigmoid): è necessaria un'approssimazione polinomiale. ReLU: approssimarla con un polinomio di Chebyshev di grado 7. Perdita di accuratezza: circa 0,1-1% rispetto all'inferenza su testo in chiaro.

Esempio di inferenza privata

L'ospedale cifra i dati del paziente con la propria chiave pubblica CKKS. Il cloud esegue una rete neurale diagnostica sui dati cifrati utilizzando le operazioni CKKS. Restituisce la previsione cifrata. L'ospedale decifra con la chiave privata. Il cloud non vede mai i dati del paziente né la diagnosi in chiaro.

Parametri CKKS

Raccomandazione di HEAAN/OpenFHE: n=2^15 (32768) per circuiti ML profondi. Catena dei moduli: Q iniziale ≈ 2^1500 per 30 livelli di moltiplicazione con Δ=2^50. Sicurezza: 128 bit, assumendo che CKKS con questi parametri sia difficile da risolvere quanto RLWE. Memoria: testo cifrato ~1 MB.

Bootstrapping in CKKS

Il bootstrapping CKKS (Cheon et al., 2018) valuta omomorficamente la riduzione modulare per rinfrescare il testo cifrato. Complessità: valutazione della funzione seno, tramite approssimazione polinomiale, su numeri complessi. Consente una profondità illimitata dei circuiti al costo di circa 30 secondi per bootstrapping.

Confronto: CKKS e BFV

BFV: interi esatti, testi in chiaro interi, nessuna perdita di precisione. CKKS: numeri reali/complessi approssimati, testi in chiaro in virgola mobile, la precisione diminuisce con la profondità. Utilizzare BFV per: database, query, calcoli esatti. Utilizzare CKKS per: ML, statistiche, calcolo scientifico.

Librerie

HEAAN (CKKS originale, Seoul National University). Microsoft SEAL (CKKS + BFV). OpenFHE (CKKS + BGV + BFV). Concrete-ML (Zama.ai, integra OpenFHE per i modelli scikit-learn e PyTorch). TF-HE (esperimenti di integrazione tra TensorFlow e HE).

Verifica rapida

Perché CKKS è preferito a BFV per l'inferenza di machine learning?

Riepilogo

CKKS supporta l'aritmetica approssimata sui numeri reali, ideale per l'inferenza ML e le statistiche su dati cifrati. Il ridimensionamento gestisce il fattore di scala; le approssimazioni polinomiali sostituiscono le funzioni di attivazione. Prossimo argomento: la crittografia post-quantistica e gli algoritmi di Shor e Grover.

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 «CKKS per l'aritmetica approssimata e il machine learning» è gratuita?

Sì — il testo completo di «CKKS per l'aritmetica approssimata e il machine learning» è 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 «CKKS per l'aritmetica approssimata e il machine learning»?

Applichi CKKS all'inferenza di machine learning nel rispetto della privacy. 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 4 di 4.

Quanto tempo richiede la lezione «CKKS per l'aritmetica approssimata e il machine learning»?

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. Che cos'è la cifratura omomorfica?
  2. Fondamenti del Learning With Errors (LWE)
  3. Schemi BGV e BFV per operazioni su interi
  4. CKKS per l'aritmetica approssimata e il machine learning
← Torna a Cryptology Academy