0Pricing
Cryptology Academy · Lektion

BGV- und BFV-Verfahren für Ganzzahloperationen

Führen Sie mit BGV verschlüsselte Ganzzahladdition und -multiplikation durch.

BGV- und BFV-Verfahren für Ganzzahloperationen ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

BGV-Überblick

BGV (Brakerski-Gentry-Vaikuntanathan, 2012) ist ein auf RLWE basierendes FHE-Schema mit festgelegter Stufe. Es unterstützt beliebige Additionen und Multiplikationen auf gepackten Ganzzahl-Klartexten. „Mit festgelegter Stufe“ bedeutet, dass es Schaltkreise bis zu einer bestimmten Tiefe L ohne Bootstrapping verarbeitet.

Klartextraum

BGV und BFV codieren Klartexte als Polynome in Z_t[x]/(x^n+1), wobei t ein kleiner Klartext-Modulus ist (z. B. t=65537). Jedes Polynom codiert n Ganzzahlwerte (einen pro Koeffizient). Die Arithmetik auf Chiffraten wird gleichzeitig auf allen n Werten ausgeführt – SIMD-Parallelität.

Rauschverwaltung in BGV

BGV reduziert das Rauschen durch Modulus Switching: Nach jeder Multiplikation wird der Chiffrat-Modulus q von Q_L auf Q_{L-1} reduziert. Dadurch wird das Rauschen durch Q_L/Q_{L-1} geteilt und innerhalb des entschlüsselbaren Bereichs gehalten. Die Schaltkreistiefe L entspricht L Modulus-Stufen.

BFV-Überblick

BFV (Brakerski/Fan-Vercauteren, 2012) ähnelt BGV, verwendet aber eine andere Strategie zur Rauschverwaltung: Es ist skalierungsinvariant. BFV benötigt kein Modulus Switching, sondern skaliert das Chiffrat nach der Multiplikation neu. Es ist einfacher zu implementieren und wird in Microsoft SEAL verwendet.

Batch-Codierung (NTT-Slots)

Mithilfe des chinesischen Restsatzes über dem Klartextring kann jedes Chiffrat n/2 unabhängige Ganzzahlwerte (Slots) enthalten. Eine Addition von Chiffraten addiert alle n/2 Paare parallel. Eine Multiplikation multipliziert alle Paare. Durchsatz: n/2 Ganzzahloperationen pro Chiffratoperation.

Relinearisierung nach der Multiplikation

Nach der Multiplikation zweier Chiffrate vom Grad 1 hat das Ergebnis den Grad 2 (3 Komponenten). Die Relinearisierung verwendet Auswertungsschlüssel (Relin-Schlüssel), um zum Grad 1 zurückzukehren, wobei zusätzliches Rauschen entsteht. Dieser Schritt ist nach jeder Multiplikation erforderlich.

Python-Beispiel mit 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

Eine Chiffratrotation verschiebt die n/2 Klartext-Slots zyklisch. Sie ist nützlich für: Sum-Reduce (alle Slots in einem akkumulieren), Matrix-Vektor-Multiplikation (rotieren und akkumulieren) sowie Faltungen (verschieben und multiplizieren). Dafür werden Galois-Schlüssel benötigt (vorberechnete Rotationsschlüssel).

Leistung

BFV mit n=8192: Addition etwa 10 µs, Multiplikation etwa 5 ms (mit Relinearisierung). Bootstrapping (falls erforderlich): 30–60 Sekunden. Batch mit 4096 Ganzzahlen: amortisiert etwa 1 µs pro Ganzzahl und Multiplikation. Für Echtzeitverarbeitung unpraktisch, für Offline-Analysen jedoch geeignet.

Parameter auswählen

Bei der Wahl von n und q empfiehlt SEAL n=4096 für 128-Bit-Sicherheit mit Q < 2^109 und n=8192 für größere Schaltkreise. Der HE-Standard (homomorphicencryption.org) stellt Parametertabellen bereit. Verwenden Sie immer empfohlene Parameter – individuelle Werte können die Sicherheit leicht beeinträchtigen.

Anwendungsfälle

Verschlüsselte Datenbankabfragen (verschlüsselte Datensätze durchsuchen, ohne sie zu entschlüsseln). Private Genomanalyse (Statistiken über verschlüsselte DNA berechnen). Verschlüsselte Finanzaggregation (verschlüsselte Kontostände summieren, ohne die einzelnen Werte einzusehen). Sichere Modellauswertung.

Kurzer Test

Welche Technik verwendet BGV, um das Anwachsen des Rauschens nach Multiplikationen zu verwalten?

Zusammenfassung

BGV und BFV führen verschlüsselte Ganzzahlarithmetik auf Grundlage von RLWE aus. Batch-Codierung ermöglicht SIMD-Parallelität. BGV verwendet Modulus Switching, BFV ist skalierungsinvariant. Die Relinearisierung stellt den Grad nach einer Multiplikation wieder her. Als Nächstes folgt CKKS für approximative Arithmetik und ML.

Häufig gestellte Fragen

Ist die Lektion „BGV- und BFV-Verfahren für Ganzzahloperationen“ kostenlos?

Ja — der vollständige Text von „BGV- und BFV-Verfahren für Ganzzahloperationen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „BGV- und BFV-Verfahren für Ganzzahloperationen“?

Führen Sie mit BGV verschlüsselte Ganzzahladdition und -multiplikation durch. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cryptology Academy zu starten?

Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „BGV- und BFV-Verfahren für Ganzzahloperationen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Was ist homomorphe Verschlüsselung?
  2. Learning With Errors (LWE): Grundlagen
  3. BGV- und BFV-Verfahren für Ganzzahloperationen
  4. CKKS für approximative Arithmetik und ML
← Zurück zu Cryptology Academy