Pada tahun 2005, Regev [1] memperkenalkan masalah Learning with Errors (LWE), generalisasi dari Learning Parity with Error error. Asumsi kekerasan masalah ini untuk pilihan parameter tertentu sekarang mendasari bukti keamanan untuk sejumlah kriptografi pasca-kuantum di bidang kriptografi berbasis kisi. Versi "kanonik" LWE dijelaskan di bawah ini.
Persiapan:
Misalkan adalah kelompok aditif real modulo 1, yaitu mengambil nilai dalam . Untuk bilangan bulat positif dan , "rahasia" vektor , distribusi probabilitas pada , mari menjadi distribusi pada diperoleh dengan memilih seragam secara acak, menggambar istilah error , dan keluaran .
Mari menjadi "diskritisasi" dari . Yaitu, pertama-tama kita menggambar sampel dari dan kemudian output . Di sini menunjukkan pembulatan dengan nilai terpisahkan terdekat, sehingga kita dapat melihat sebagai .
Dalam pengaturan kanonik, kami menganggap distribusi kesalahan menjadi Gaussian. Untuk α > 0 , fungsi kerapatan dari distribusi probabilitas Gaussian 1 dimensi atas R diberikan oleh D α ( x ) = e - π ( x / α ) 2 / α . Kami menulis A s , α sebagai singkatan untuk diskritisasi A s , D α
Definisi LWE:
Dalam versi pencarian kita diberikan N = p o l y ( n ) sampel dari A s , α , yang dapat kita lihat sebagai persamaan linear "berisik" (Catatan: a i , s ∈ Z n q , b i ∈ Z q ):
⋮ ⟨ sebuah N , s ⟩ ≈ χ b N
di mana kesalahan dalam setiap persamaan diambil secara independen dari Gaussian diskrit (tengah) dengan lebar . Tujuan kami adalah memulihkan s . (Amati bahwa, tanpa kesalahan, kita dapat menyelesaikan ini dengan eliminasi Gaussian, tetapi dengan adanya kesalahan ini, eliminasi Gaussian gagal secara dramatis.)
Dalam versi keputusan , kita diberi akses ke oracle O s yang mengembalikan sampel ( a , b ) saat ditanyai. Kami berjanji bahwa semua sampel berasal dari A s , α atau dari distribusi seragam U ( Z n q ) × U ( Z q ) . Tujuan kami adalah untuk membedakan mana yang terjadi.
Kedua masalah diyakini saat α q > 2 √ .
Koneksi ke Teori Kompleksitas:
Diketahui (lihat [1], [2] untuk lebih jelasnya) bahwa LWE berhubungan dengan memecahkan masalah Penguraian Jarak Terbatas (BDD) pada kisi ganda instance GapSVP. Algoritma waktu polinomial untuk LWE akan menyiratkan algoritma waktu polinomial untuk memperkirakan masalah kisi tertentu seperti SIVP dan SVP dalam mana 1 / α adalah faktor polinom kecil (katakanlah, n 2 ).
Batas Algoritma Saat Ini
Ketika untuk ϵ kurang dari 1/2, Arora dan Ge [3] memberikan algoritma waktu subeksponensial untuk LWE. Idenya adalah bahwa, dari properti Gaussian yang terkenal, menggambar istilah kesalahan kecil ini cocok dengan pengaturan "terstruktur" kecuali dengan probabilitas rendah secara eksponensial. Secara intuitif dalam pengaturan ini, setiap kali kami akan menerima 1 sampel, kami menerima blok sampel m dengan janji bahwa tidak lebih dari beberapa fraksi konstan mengandung kesalahan. Mereka menggunakan pengamatan ini untuk "meluruskan" masalah, dan menghitung ruang kesalahan.
Misalkan kita, sebaliknya, diberi akses ke oracle . Ketika ditanya, O + s pertanyaan pertama O s untuk mendapatkan sampel ( a , b ) . Jika ( a , b ) diambil dari A s , α , maka O + s mengembalikan sampel ( a , b , d ) ∈ Z n q × Z q × Z 2 di mana mewakili "arah" (atau ± tanda "bernilai") dari istilah kesalahan. Jika ( a , b ) itu diambil secara acak, kemudian O + s kembali ( a , b , d ) ← U ( Z n q ) × U ( Z q ) × U ( Z 2 ) . (Atau, kita bisa mempertimbangkan kasus ketika bit d dipilih secara berlawanan ketika b ditarik secara acak secara acak.)
Biarkan menjadi seperti sebelumnya, kecuali sekarang α q > c √ untuk konstantac yangcukup besar, katakanlah. (Ini untuk memastikan bahwa kesalahan absolut di setiap persamaan tetap tidak terpengaruh.) Tentukan masalah Learning with Signed Error (LWSE)LWSE n , q , α danDLWSE n , q , α seperti sebelumnya, kecuali bahwa sekarang kami memiliki sedikit saran tambahan untuk setiap tanda istilah kesalahan.
Apakah kedua versi LWSE secara signifikan lebih mudah daripada versi LWE mereka?
Misalnya
1. Apakah ada algoritma waktu subeksponensial untuk LWSE?
2. Bagaimana dengan algoritma waktu polinomial berdasarkan, katakanlah, pemrograman linier?
Selain diskusi di atas, motivasi saya adalah minat dalam mengeksplorasi opsi algoritmik untuk LWE (yang saat ini kami memiliki relatif sedikit untuk dipilih). Secara khusus, satu-satunya batasan yang diketahui menyediakan algoritma yang baik untuk masalah terkait dengan besarnya istilah kesalahan. Di sini, besarnya tetap sama, tetapi rentang kesalahan dalam setiap persamaan sekarang "monoton" dengan cara tertentu. (Komentar terakhir: Saya tidak mengetahui rumusan masalah yang muncul dalam literatur ini, tampaknya asli.)
Referensi:
[1] Regev, Oded. "Tentang Kisi, Belajar dengan Kesalahan, Kode Linier Acak, dan Kriptografi," dalam JACM 2009 (asal di STOC 2005) ( PDF )
[2] Regev, Oded. "Masalah Belajar dengan Kesalahan," undangan survei di CCC 2010 ( PDF )
[3] Arora, Sanjeev dan Ge, Rong. "Algoritma Baru untuk Belajar dalam Kehadiran Kesalahan," di ICALP 2011 ( PDF )