  Functional bootstrapping is a core technique in Fully Homomorphic Encryption
(FHE). For large plaintext, to evaluate a general function homomorphically over
a ciphertext, in the FHEW/TFHE approach, since the function in look-up table
form is encoded in the coefficients of a test polynomial, the degree of the
polynomial must be high enough to hold the entire table. This increases the
bootstrapping time complexity and memory cost, as the size of bootstrapping
keys and keyswitching keys need to be large accordingly. In this paper, we
propose to encode the look-up table of any function in a polynomial vector,
whose coefficients can hold more data. The corresponding representation of the
additive group Zq used in the RGSW-based bootstrapping is the group of monic
monomial permutation matrices, which integrates the permutation matrix
representation used by Alperin-Sheriff and Peikert in 2014, and the monic
monomial representation used in the FHEW/TFHE scheme. We make comprehensive
investigation of the new representation, and propose a new bootstrapping
algorithm based on it. The new algorithm has the prominent benefit of small
bootstrapping key size and small key-switching key size, which leads to
polynomial factor improvement in key size, in addition to constant factor
improvement in run-time cost.
