Cryptology Academy · Les

CKKS voor benaderende rekenkunde en ML

Pas CKKS toe op privacybeschermende inferentie voor machine learning.

Les 4 van 413 stappen

CKKS voor benaderende rekenkunde en ML is een gratis Cryptology Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Cryptology Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Cryptology Academy bevat in totaal 4 lessen.

Waarom CKKS?

BGV/BFV werken met gehele getallen (exacte rekenkunde). Bij machinaal leren worden drijvende-kommagetallen gebruikt (benaderende rekenkunde). CKKS (Cheon-Kim-Kim-Song, 2017) codeert reële en complexe getallen en maakt gecontroleerd precisieverlies mogelijk — ideaal voor ML-inferentie en gegevensanalyse.

Benaderende rekenkunde

CKKS behandelt de ruis als onderdeel van de coderingsprecisie. In plaats van ruis te elimineren (zoals bij foutcorrectie), beschouwt CKKS het resultaat als een benadering met gegarandeerde precisiegrenzen. Deze afweging maakt veel efficiëntere HE mogelijk voor berekeningen met continue waarden.

Reële getallen coderen

CKKS codeert een vector van complexe getallen als een veelterm: een vector (z_0, ..., z_{n/2-1}) wordt via de inverse FFT afgebeeld op een veelterm in R. Schaalfactor Δ (bijvoorbeeld 2^40) zet drijvende-kommagetallen om naar gehele getallen. n/2 reële slots per cijfertekst.

Herschalen

Na een vermenigvuldiging verdubbelt de schaalfactor: Δ^2. CKKS voert een herschalingsbewerking uit: deel door Δ om één schaalfactor te herstellen. Hierdoor wordt ook het modulusniveau van de cijfertekst verlaagd (zoals bij moduluswisseling in BGV), zodat de cijfertekst beheersbaar blijft.

Precisieanalyse

Elke vermenigvuldiging verbruikt één modulusniveau en vermindert de precisie met ongeveer log2(Δ) bits. Voor een circuit met diepte L en schaalfactor Δ = 2^40 is het totale precisieverlies ongeveer L*40 bits. Kies een beginmodulus Q die groot genoeg is voor dit precisiebudget.

ML-inferentie met CKKS

Lineaire lagen (matrix-vectorvermenigvuldiging): efficiënt — rotatie en accumulatie. Activatiefuncties (ReLU, sigmoid): een polynomiale benadering is vereist. ReLU: benader met een Chebyshev-polynoom van graad 7. Nauwkeurigheidsverlies: ongeveer 0,1-1% ten opzichte van inferentie op platte tekst.

Voorbeeld van privé-inferentie

Het ziekenhuis versleutelt patiëntgegevens met zijn openbare CKKS-sleutel. De cloud voert een diagnostisch neuraal netwerk uit op de versleutelde gegevens met CKKS-bewerkingen. De cloud stuurt de versleutelde voorspelling terug. Het ziekenhuis ontsleutelt die met de privésleutel. De cloud ziet nooit de patiëntgegevens of de onversleutelde diagnose.

CKKS-parameters

Aanbeveling voor HEAAN/OpenFHE: n=2^15 (32768) voor diepe ML-circuits. Modulusketen: beginwaarde Q ≈ 2^1500 voor 30 vermenigvuldigingsniveaus bij Δ=2^50. Beveiliging: 128 bits, ervan uitgaande dat CKKS met deze parameters even moeilijk te kraken is als RLWE. Geheugen: cijfertekst ~1 MB.

Bootstrapping in CKKS

CKKS-bootstrapping (Cheon et al., 2018) evalueert de modulaire reductie homomorf om de cijfertekst te vernieuwen. Complexiteit: de sinusfunctie evalueren (via een polynomiale benadering) over complexe getallen. Maakt onbeperkte circuitdiepte mogelijk met ongeveer 30 seconden per bootstrapping.

Vergelijking: CKKS versus BFV

BFV: exacte gehele getallen, platte teksten met gehele getallen, geen precisieverlies. CKKS: benaderende reële/complexe getallen, platte teksten met drijvende-kommagetallen, precisie neemt af met de diepte. Gebruik BFV voor: databases, query's en exacte berekeningen. Gebruik CKKS voor: ML, statistiek en wetenschappelijke berekeningen.

Bibliotheken

HEAAN (oorspronkelijke CKKS, Seoul National University). Microsoft SEAL (CKKS + BFV). OpenFHE (CKKS + BGV + BFV). Concrete-ML (Zama.ai, biedt een laag rond OpenFHE voor modellen van scikit-learn en PyTorch). TF-HE (TensorFlow + experimenten met HE-integratie).

Korte controle

Waarom heeft CKKS bij ML-inferentie de voorkeur boven BFV?

Samenvatting

CKKS ondersteunt benaderende rekenkunde met reële getallen, ideaal voor ML-inferentie en statistiek op versleutelde gegevens. Herschalen beheert de schaalfactor; polynomiale benaderingen vervangen activatiefuncties. Hierna: postkwantumcryptografie — de algoritmen van Shor en Grover.

Gratis beginnen

Leer Cryptology Academy met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
67
Lessen
261

Veelgestelde vragen

Is de les “CKKS voor benaderende rekenkunde en ML” gratis?

Ja — de volledige tekst van “CKKS voor benaderende rekenkunde en ML” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Cryptology Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Cryptology Academy bevat in totaal 4 lessen.

Wat leer ik in “CKKS voor benaderende rekenkunde en ML”?

Pas CKKS toe op privacybeschermende inferentie voor machine learning. Je oefent met Cryptology Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Cryptology Academy te beginnen?

Ervaring vooraf is niet nodig. Cryptology Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “CKKS voor benaderende rekenkunde en ML”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Cryptology Academy?

Ja. Elke les over Cryptology Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Wat is homomorfe versleuteling?
  2. Learning With Errors (LWE) als basis
  3. BGV- en BFV-schema's voor gehele getallen
  4. CKKS voor benaderende rekenkunde en ML
← Terug naar Cryptology Academy