Cryptology Academy · Pelajaran

Skema BGV & BFV untuk Operasi Bilangan Bulat

Lakukan penjumlahan dan perkalian bilangan bulat terenkripsi menggunakan BGV.

Pelajaran 3 dari 413 langkah

Skema BGV & BFV untuk Operasi Bilangan Bulat adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Gambaran Umum BGV

BGV (Brakerski-Gentry-Vaikuntanathan, 2012) adalah skema FHE bertingkat yang didasarkan pada RLWE. Skema ini mendukung penjumlahan dan perkalian arbitrer pada teks biasa bilangan bulat yang dikemas. “Bertingkat” berarti skema ini menangani sirkuit hingga kedalaman tetap L tanpa penyegaran.

Ruang Teks Biasa

BGV dan BFV mengodekan teks biasa sebagai polinom dalam Z_t[x]/(x^n+1), dengan t sebagai modulus teks biasa yang kecil (misalnya, t=65537). Setiap polinom mengodekan n nilai bilangan bulat, satu untuk setiap koefisien. Aritmetika pada teks sandi beroperasi pada semua n nilai secara bersamaan—paralelisme SIMD.

Pengelolaan Derau dalam BGV

BGV mengurangi derau melalui pergantian modulus: setelah setiap perkalian, modulus teks sandi q diturunkan dari Q_L menjadi Q_{L-1}. Hal ini membagi derau dengan Q_L/Q_{L-1}, sehingga derau tetap berada dalam batas yang dapat didekripsi. Kedalaman sirkuit L sesuai dengan L tingkatan modulus.

Gambaran Umum BFV

BFV (Brakerski/Fan-Vercauteren, 2012) mirip dengan BGV, tetapi menggunakan strategi pengelolaan derau yang berbeda: invarian skala. BFV tidak memerlukan pergantian modulus; sebagai gantinya, skema ini menskalakan ulang teks sandi setelah perkalian. Implementasinya lebih sederhana dan digunakan dalam Microsoft SEAL.

Pengodean Batch (Ruang NTT)

Melalui Teorema Sisa Tiongkok pada cincin teks biasa, setiap teks sandi dapat memuat n/2 nilai bilangan bulat independen (ruang). Operasi penjumlahan teks sandi menjumlahkan semua n/2 pasangan secara paralel. Operasi perkalian mengalikan semua pasangan. Laju pemrosesan: n/2 operasi bilangan bulat untuk setiap operasi teks sandi.

Relinearisasi Perkalian

Setelah mengalikan dua teks sandi berderajat-1, hasilnya berderajat-2 (3 komponen). Relinearisasi menggunakan kunci evaluasi (kunci relin) untuk mengubahnya kembali menjadi berderajat-1 dengan menambahkan derau. Langkah ini diperlukan setelah setiap perkalian.

Contoh Python dengan 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))

Rotasi

Rotasi teks sandi menggeser n/2 ruang teks biasa secara siklik. Berguna untuk: reduksi jumlah (mengakumulasikan semua ruang menjadi satu), perkalian matriks-vektor (memutar dan mengakumulasikan), serta konvolusi (menggeser dan mengalikan). Memerlukan kunci Galois (kunci rotasi yang telah dihitung sebelumnya).

Performa

BFV dengan n=8192: penjumlahan sekitar 10 µs, perkalian sekitar 5 ms (dengan relinearisasi). Penyegaran, jika diperlukan: 30-60 detik. Batch berisi 4096 bilangan bulat: sekitar 1 µs per bilangan bulat untuk setiap perkalian setelah dirata-ratakan. Tidak praktis untuk waktu nyata, tetapi layak untuk analitik luring.

Memilih Parameter

Untuk memilih n dan q: SEAL merekomendasikan n=4096 untuk keamanan 128 bit dengan Q < 2^109; n=8192 untuk sirkuit yang lebih besar. Standar HE (homomorphicencryption.org) menyediakan tabel parameter. Selalu gunakan parameter yang direkomendasikan—pilihan khusus dapat dengan mudah melemahkan keamanan.

Kasus Penggunaan

Kueri basis data terenkripsi (mencari catatan terenkripsi tanpa mendekripsinya). Analisis genom privat (menghitung statistik pada DNA terenkripsi). Penggabungan data keuangan terenkripsi (menjumlahkan saldo rekening terenkripsi tanpa melihat data individu). Evaluasi model yang aman.

Pemeriksaan Singkat

Teknik apa yang digunakan BGV untuk mengelola pertumbuhan derau setelah perkalian?

Ringkasan

BGV dan BFV melakukan aritmetika bilangan bulat terenkripsi menggunakan RLWE. Pengodean batch menyediakan paralelisme SIMD. BGV menggunakan pergantian modulus; BFV menggunakan invarian skala. Relinearisasi mengembalikan derajat setelah perkalian. Berikutnya: CKKS untuk aritmetika hampiran dan ML.

Gratis untuk memulai

Belajar Cryptology Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
67
Pelajaran
261

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Skema BGV & BFV untuk Operasi Bilangan Bulat” gratis?

Ya — teks lengkap “Skema BGV & BFV untuk Operasi Bilangan Bulat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Skema BGV & BFV untuk Operasi Bilangan Bulat”?

Lakukan penjumlahan dan perkalian bilangan bulat terenkripsi menggunakan BGV. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Skema BGV & BFV untuk Operasi Bilangan Bulat” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Apa Itu Enkripsi Homomorfik?
  2. Dasar Learning With Errors (LWE)
  3. Skema BGV & BFV untuk Operasi Bilangan Bulat
  4. CKKS untuk Aritmetika Aproksimasi dan Pembelajaran Mesin
← Kembali ke Cryptology Academy