Cryptology Academy · Lektion

BGV- og BFV-skemaer til heltalsoperationer

Udfør krypteret addition og multiplikation af heltal ved hjælp af BGV.

Lektion 3 af 413 trin

BGV- og BFV-skemaer til heltalsoperationer er en gratis Cryptology Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cryptology Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cryptology Academy-kurset indeholder 4 lektioner i alt.

BGV-oversigt

BGV (Brakerski-Gentry-Vaikuntanathan, 2012) er et niveauinddelt FHE-skema baseret på RLWE. Det understøtter vilkårlige additioner og multiplikationer på pakkede heltalsklartekster. "Niveauinddelt" betyder, at det håndterer kredsløb op til en fast dybde L uden bootstrapping.

Klartekstområde

BGV og BFV koder klartekster som polynomier i Z_t[x]/(x^n+1), hvor t er en lille klartekstmodulus (f.eks. t=65537). Hvert polynomium koder n heltalsværdier, én pr. koefficient. Aritmetik på chiffertekster udføres samtidigt på alle n værdier — SIMD-parallelisme.

Støjhåndtering i BGV

BGV reducerer støj ved modulusskift: efter hver multiplikation reduceres chiffertekstens modulus q fra Q_L til Q_{L-1}. Det dividerer støjen med Q_L/Q_{L-1}, så støjen holdes inden for grænser, hvor dekryptering stadig fungerer. Kredsløbsdybden L svarer til L modulusniveauer.

BFV-oversigt

BFV (Brakerski/Fan-Vercauteren, 2012) minder om BGV, men bruger en anden strategi til støjhåndtering: den er skala-invariant. BFV kræver ikke modulusskift; i stedet omskaleres chifferteksten efter multiplikation. Det er enklere at implementere og bruges i Microsoft SEAL.

Batchkodning (NTT-pladser)

Via den kinesiske restsætning over klartekstringen kan hver chiffertekst indeholde n/2 uafhængige heltalsværdier (pladser). En addition af chiffertekster lægger alle n/2 par sammen parallelt. En multiplikation multiplicerer alle par. Gennemløb: n/2 heltalsoperationer pr. chiffertekstoperation.

Relinearisering efter multiplikation

Efter multiplikation af to chiffertekster af grad 1 har resultatet grad 2 (3 komponenter). Relinearisering bruger evalueringsnøgler (relin-nøgler) til at konvertere tilbage til grad 1 på bekostning af øget støj. Dette trin kræves efter hver multiplikation.

Python-eksempel med SEAL

from seal import EncryptionParameters, scheme_type, SEALContext, KeyGenerator, Encryptor, Evaluator, Decryptor parms = EncryptionParameters(scheme_type.bfv) parms.set_poly_modulus_degree(4096) parms.set_coeff_modulus(CoeffModulus.BFVDefault(4096)) parms.set_plain_modulus(PlainModulus.Batching(4096, 20))

Rotation

Rotation af chifferteksten forskyder de n/2 klartekstpladser cyklisk. Det er nyttigt til: sum-reduce (akkumulér alle pladser i én), matrix-vektor-multiplikation (rotér og akkumulér) og foldninger (forskyd og multiplicér). Kræver Galois-nøgler (forudberegnede rotationsnøgler).

Ydelse

BFV med n=8192: addition ~10 µs, multiplikation ~5 ms (med relinear­isering). Bootstrapping (hvis nødvendigt): 30-60 sekunder. Batch på 4096 heltal: amortiseret ~1 µs pr. heltal pr. multiplikation. Upraktisk i realtid, men anvendeligt til offline-analyse.

Valg af parametre

Valg af n og q: SEAL anbefaler n=4096 for 128-bit-sikkerhed med Q < 2^109 og n=8192 til større kredsløb. HE-standarden (homomorphicencryption.org) indeholder parametertabeller. Brug altid de anbefalede parametre — tilpassede valg kan nemt underminere sikkerheden.

Anvendelsesområder

Krypterede databaseforespørgsler (søg i krypterede poster uden at dekryptere dem). Privat genomisk analyse (beregn statistikker på krypteret DNA). Krypterede finansielle sammenlægninger (læg krypterede kontosaldi sammen uden at se de enkelte saldi). Sikker model­evaluering.

Hurtigt tjek

Hvilken teknik bruger BGV til at håndtere støjvæksten efter multiplikationer?

Opsummering

BGV og BFV udfører krypteret heltalsaritmetik ved hjælp af RLWE. Batchkodning giver SIMD-parallelisme. BGV bruger modulusskift; BFV bruger skala-invarians. Relinearisering gendanner graden efter multiplikation. Næste emne: CKKS til approksimativ aritmetik og ML.

Gratis at komme i gang

Lær Cryptology Academy med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
67
Lektioner
261

Ofte stillede spørgsmål

Er lektionen “BGV- og BFV-skemaer til heltalsoperationer” gratis?

Ja — hele teksten til “BGV- og BFV-skemaer til heltalsoperationer” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cryptology Academy-kurset, skal du opgradere til CoddyKit PRO. Cryptology Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “BGV- og BFV-skemaer til heltalsoperationer”?

Udfør krypteret addition og multiplikation af heltal ved hjælp af BGV. Du øver dig i Cryptology Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cryptology Academy?

Der kræves ingen tidligere erfaring. Cryptology Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “BGV- og BFV-skemaer til heltalsoperationer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cryptology Academy-lektion?

Ja. Alle Cryptology Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvad er homomorf kryptering?
  2. Learning With Errors (LWE): Grundlag
  3. BGV- og BFV-skemaer til heltalsoperationer
  4. CKKS til approksimativ aritmetik og ML
← Tilbage til Cryptology Academy