松岡 航太郎
BlindRotaete((𝐚,b),𝐁𝐊,(a[X],b[X])) b̃= b >> (32-Nbit-1)) //ここはfloor trlwe = X⁻ᵇ̃⋅(a[X],b[X]) for i from 0 to n-1 ã=(aᵢ + (1<<(31-Nbit-1)) ) >> (32-Nbit-1) //足し算は四捨五入をするため trlwe = CMUX(𝐁𝐊ᵢ,Xᵃ̃⋅trlwe,trlwe)//Dec(𝐁𝐊ᵢ)?Xᵃ̃⋅trlwe:trlwe return trlwe
GateBootstrappingTLWEtoTLWE((𝐚,b),𝐁𝐊) testvec = (0,0) for i from 0 to N-1 testvec += (0,μXⁱ) trlwe = BlindRotate((𝐚,b),𝐁𝐊,testvec) return SampleExtractIndex(trlwe,0)
page_number: true