Skip to content
Shouran Ma edited this page Jun 12, 2023 · 3 revisions

Welcome to the GPQHE wiki!

enc/dec
RLWE CPAKEM
sample polynomial arithmetics
zero center hwt discrete Gaussian poly-mpi & poly-rns
rng ntt rns
Montgomery Barrett thread
Used for ... Keys or Functions
Advanced linear transformation gemv(A,ct,rk), sum(ct,rk), idx(ct,i,rk), nrm22(ct,rlk,rk,ck)
nonlinear functions exp(ct,rlk), ln(ct,rlk), sigmoid(ct,rlk)
Comparison inv(ct,rlk,d), sqrt(ct,rlk,d), cmp(ct1,ct2,rlk,d,α)
Primitives addition addpt(ct,pt), add(ct1,ct2), neg(ct)
subpt(ct,pt), sub(ct1,ct2)
level switch rsℓ → ℓ′(ct), moddownℓ → ℓ′(ct)
multiplication multpt(ct,pt), mult(ct1,ct2,rlk)
automorphism rot(ct,r,rk), conj(ct,ck)
Encryptor encrypt/decrypt ct = encpk/sk(pt,pk/sk), pt = dec(ct,sk)
Encoder encode/decode pt = ecd(z,Δ), z = dcd(pt,Δ)
KEM public key, secret key pk, sk = keypair(ctx)
evaluation keys rlk = genswk(sk⋅sk,sk)
rkr = genswk(τ5rmod2n(sk),sk), 0 ≤ r < ⋯nslots
ck = genswk(τ−1(sk),sk)

MPI-RNS conversion

Clone this wiki locally