This work was supported by the National Natural Science Foundation of China (Grant No. 61272492. 61572521), Natural Science Basic Research Plan In Shaanxi Province Of China (Program No.2015JM6353) and the Program for New Century Excellent Talents in University(NCET-12-0620).
Extend FHEW to General Case
Zhou Tanping*, Liu Longfei, Yang Xiaoyuan, Han Yiliang
Key Laboratory of Network & Information Security under the Chinese People’s Armed Police, Electronic Department, Engineering College of the Armed Police Force, Xi’an, 710086, China
Abstract: When talking about FHE, refresh process is a little different from bootstrapping process. Bootstrapping always means that a scheme homomorphic decrypting its process, while refresh imply that use another scheme, always in large scale, to perform its decryption process. In EUROCRYPT’2015, Ducas and Micciancio proposed a FHE which can perform refresh process in less than a second, called DM14, while the scheme only support bite plaintext space, which is cumbersome for many applications. Extending DM14 to a large plaintext space becomes an open problem. In order to solve it, we improved the msbExtract process to endure a large base, by mapping the element to position. As a result, we constructed an efficient FHE with large plaintext space and quickly refresh process. We implemented our scheme in computer, and made a comparison between our performance and DM14. The result is that the running time is almost same, when extend the plaintext space from 2 to 8.
Key words: public key encryption; fully homomorphic encryption; refresh process; large plaintext space
1 Introduction
Fully homomorphic encryption (FHE) is a secure homomorphic mapping from plaintext space to ciphertext space, which allows us to operate directly on ciphertexts, and the output is the ciphertext correspond to the output of the same operation among the plaintexts. The substantial progress was achieved by Gentry’s first FHE scheme based on ideal lattices in STOC’2009[1]
. Since then there are many works about basing the security of FHE on more standard and removing the circular security , and improving the efficiency of Gentry's initial solution[2-9]. Among them, the works on the efficiency of FHE are outstanding, since the efficiency is the bottleneck of its practicality. There are two major ways to improvement the efficiency of FHE. One of them is the improvements of the construction in order to apply many optimize technologies, such as batching , modular switching and so on. The second way is to reduce the computation complexity of bootstrapping process, which was developed rapidly after GSW[6]. In 2014, many wonderful results, about how to improvement the performance of bootstrapping process, was presented. In ITCS 2014, Brakerski and Vaikuntanathan reached the major milestone of FHE based on GSW, called BV14 [10]. BV14 decreased the noise of the bootstrapping process to polynomial of the security parameter
by Barrington’s Theorem[11]. In CRYPTO’2014, Alperin and Peikert constructed a scheme with a more efficient bootstrapping, with polynomial error, called AP14[12]. The wonderful contribution of AP14 is that it uses a different big scheme, which is constructed to supports efficient computation of decryption process and efficient computation of transform from big ciphertext back to the ciphertext of origin scheme, to perform the decryption process of the origin scheme. In EUROCRYPT’2015, Ducas and Micciancio succeed to the framework of AP14, and constructed a more efficient FHE, called DM14[13]. DM14 can perform bootstrapping homomorphic encryption in less than a second, by constructing the efficiencymsbExtract
process, which can extract the msb (most significant bit) of the plaintext, giving the corresponding big ciphertext. While there is a drawback about this scheme that themsbExtract
process can extract the msb of the plaintext, only when the base of plaintext is 2. It is an open problem proposed on DM14 that extend themsbExtract
process to large plaintext spaces, which may improve the performance of FHE to a high level by combine other optimization technique, such as batching.procedure , which can only extract the most significant bit of the plaintext, when the base of plaintext is 2, to
2
t ,
which can only extract the most significant bit of the plaintext, when the base of plaintext is
t
2. The new idea inour scheme is that we constructed a map from the plaintext
m
q to the set of big ciphertext, a cyclic group,where each
m
corresponding to a unique position. Thus, we can get some of the special functions of the message by just operate on the corresponding position, which will be more efficient. What’s more, we implemented our scheme and the source code is reasonably concise and simple, consisting of about 700 lines of C++ code.2 Preliminaries
For a list of vectors and matrices
a a
1,
2,...,
a
l , we set1
(...)
l
a
a
for vertical concatenation, and
1 1
[...]
a
...
a
for horizontal concatenation.2.1 Distributions[13]
We define a randomized rounding function
:
, which can be regarded as the round off functioncombine the integer errors. In detail
( )
x
x
e
0, wheree
0
. Similarly, we define
( )
x
x
as therounding error of
( )
x
.We defined the subgaussian variable as the random variable
X
over , where the (scaled)moment-generating function satisfies
E
[exp(2
tX
)]
exp(
2 2t
)
, for allt
. IfX
is subgaussian, thenit satisfies that
Pr{|
X
|
t
}
2exp(
t
2/
2)
for allt
0
. We extend the nation of subgaussian to vectorx
and matrix
X
, ifx
satisfies that
u x
,
are subgaussian for all unit vectorsu
, and ifX
satisfies thatt
u Xv
are subgaussian for all unit vectorsu v
,
. Notice that the concatenation of independent subgaussianvectors or matrixes with common parameter
is subgaussian with parameter
.2.2 The Cyclotomic Ring[13]
In order to simple the FFT process and operations on element, we set the cyclotomic ring as
[ ] / (
X
X
N1)
, whereX
N
1
is the the(2 )
N
-th cyclotomic polynomial* 2
2
( )
(
2)
1
N
i N
N N
i
X
X
X
By the definition, we know that Q NQ. The isomorphic mapping can be defined as
f a
:
a
, where1
0 1
...
1,
( , ,...,
0 1 1)
N N
N N
a
a
a x
a
x
a
a a
a
. We extend the notation
to vector and matrixover . We define the Euclidean length of a ring element as
|| || || ||
|
i|
2i
a
a
a
, and the spectral norm ofa matrix
R
w k of ring elements as 1\{0}
( )
sup
k||
|| / ||
||
s
R
xR x
x
.We denote
0 1 1
1 0 2
1 2 0
N
N N
N N
r
r
r
r
r
r
r
r
r
r
, giving a ring element
r
. We extend the notation
to vectors and matrices over . When giving a matrix
R
w k , we expand it to a big matrix Nw Nk
R
,with
w k
blocks, each of the block is i j, N N
R
. Notice that we haves r
1( )
s r
1( )
and1
( )
1( )
s
s
R
R
[13].
What’s more, we proposed two special functions to make our scheme easy to understand.
For two integers
l k
,
, we let,
( 1)
l k
be the function that,
1
( 1)
1
l k
l
k
l
k
; For three integersx y v
, ,
, we let( , )
(1)
vx y be the function that(1)
( , )0
( , )
1
( , )
vx y
v
x y
v
x y
;3 The Small LWE Symmetric Encryption
In this section, we will introduce the small LWE Symmetric Encryption and two basic operations, Modulus switching and Key Switching, which was first presented in BGV.
3.1 the small LWE Symmetric Encryption[13]
We recall the definition of the most basic LWE symmetric encryption scheme (see [4,32,3]). LWE symmetric
encryption is parameterized by a dimension
n
, a message-modulust
2
, a ciphertext modulusq
n
O(1) anda randomized rounding function
:
. The message space of the scheme is t. (Typically, the roundingfunction has error distribution
| ( )
|
2
q
x
x
t
.) The key of the encryption scheme is a vectors
nq, whichmay be chosen uniformly at random, or as a random short vector. The encryption of a message
m
t under/ 1
LWE ( )
t qm
( , (
m
q
) mod )
q
nqt
s
a
a s
where
a
nq is chosen uniformly at random. Notice that whent
dividesq
, the encryption ofm
equals( ,
m
q
e
mod )
q
t
a a s
, where the errore
is chosen according to a fixed noise distribution
(0)
. Aciphertext
( , )
n 1q
b
a
is decrypted by computing(
) /
mod
tm
t b
a s
q
t
.We write
LWE ( , )
t qs/m B
to denote the set of all possible encryptions ofm
unders
with error boundedby
| err( , ) |
a
b
B
, whereerr( , )
(
) mod
qq
b
b
m
q
t
a
a s
describing the rounding error, reducedmodulo
q
to the centered interval[
, ]
2 2
q q
. It is easy to check that for all( , )
LWE ( ,
/)
2
t q
q
b
m
t
sa
, thedecryption procedure correctly recovers the encrypted message.
(
) /
mod
t
(
q
)
t
mod
t b
q
t
m e
m
e
m
t
q
t
q
a s
Modulus switching. LWE ciphertexts can be converted from one modulus
Q
to anotherq
using the (scaled)randomized rounding function
[ ]
Q q:;
Q
q defined as[ ]
Q q:q
x
x
Q
, where
is the round offfunction. In particular, the rounding error
[ ]
x
Q q:q
x
Q
is subgaussian of parameter2
. Given a ciphertext/
( , )
a
b
LWE
t Qz( )
m
with modularQ
, and a new molularq
, the key modulus procedure outputs: 1 : : :
ModSwitch( , )
a
b
[ , ]
a
b
Q q
([ ]
a
Q q,...,[
a
n Q q]
,[ ]
b
Q q)
.Lemma 1[13] For any
s
nq,m
t and ciphertextLWE
t Qs/( )
m
with subgaussian error of parameter
,the rounding
ModSwitch( )
c
is aLWE ( )
t q/m
s ciphertext with subgaussian error of parameter
2 2
(
q
)
2 (|| ||
1)
Q
s
.Key Switching. Key switch is designed to convert an LWE encryption
( , )
LWE ( )
t q/b
m
zc
a
to another LWEb
a s
, which is a part of decryption process
t b
(
a s
) /
q
mod
t
. We haveenc (
b
)
b
enc ( )
enc (
q
m e
)
t
z
a s
a
zs
z , because of the property of LWE encryption. Thes
isencrypted as
K
{
k
i j w, ,}
, wherek
i j v, ,
LWE
q qs/(
w z B
i ksj)
, for a baseB
ks andall
i
1,...,
N v
,
{0,...,
B
ks}
andj
0,...,
d
ks
1
, wherelog
ks ks Bd
q
. The reason of why it isencrypted in this way is similar to the reason about
E
( )
s
analyzed on section 4.Given the switching key
K
{
k
i j w, ,}
and a ciphertext( , )
a
b
LWE ( )
zt q/m
. Firstly, the key switchingprocedure computes the base-
B
ks expansion of each coefficient 1 ,0
ks
d j
i j i j ks
a
a B
. Secondly, outputs,
1 , , 1 0
KeySwitch(( , ), )
(0, )
ksi j N d
i j a i j
b
b
a
K
k
.Lemma 2[13]Given a ciphertext
c
LWE ( )
t qz/m
with subgaussian error of parameter
, and switching keys/
, ,
LWE
(
)
q q j i j v
sv z B
i ksk
with subgaussian error of parameter
. The key switching procedure outputs anencryption
KeySwitch( ,{
c k
i j v, ,})
with subgaussian error of parameter
2
Nd
ks
2 .4 Refreshing
In this section, we will description of the refreshing function, which is used to get an LWE ciphertext
/
LWE ( )
t qsm
with smaller noise, giving an LWE valid ciphertext( , )
b
LWE
t2/q( )
m
sa
with a big noise. Itmay looks like bootstrapping to some reader, but refresh process may be much fast then it, since in the bootstrapping we always require use the original LWE ciphertext to homomorphic decrypt itself. In the refresh
process, an intermediate encryption scheme (big scheme)
E
with message space q was always been used. Thebig scheme
E
is designed to homomorphic decrypt the original LWE ciphertext (small ciphertext.)In this paper, the LWE decryption procedure for an given ciphertext 2/
2
( , )
LWE
( ,
)
2
t q
q
b
m
t
sa
, where2
q
b
m
e kq
t
2
/ 2
2 2 2 2 2 2
2
2 2 2 2 2
( ) / mod ( ) / mod ) mod
( ) ( ) ( ).
2 2 2
e q t q
t b q t t m e kq q t m t k t m
t
q q q q q
msb m e msb m e kq msb b
t t t t t
a s
a s
It is clear that an efficient refresh process was given, if we can design an efficient msb process for some special big scheme
E
. We will discuss the detail of the special big scheme in section 5, which can efficientextract the msb of big ciphertext
C
. It will be more efficient when the plaintext ofE
is q, since thehomomorphic operations are on elements belongs to q.
Here we focus on other part of the homomorphic
2
(
)
2
q
msb
b
t
a s
, which contains homomorphicaddition and homomorphic multiplication. We can transform homomorphic multiplication to homomorphic
addition by the way that we present all the possible result of
k s
for allk
nq and an fixeds
q, whenthe small ciphertext
( , )
a
b
was given, we will pick upa s
fromk s
. In fact, in order to control the error,we will encrypt
k s
in the way1 1
, ,
1 1 0 1 0
(
)
(
n)
(
n(
dr j)
)
(
n dr(
j))
i i r i j i i j r i
i i j i j
E
k s
E
k s
E
B k
s
E
k
B s
, whereB
r is an integerand
log
r
r B
d
q
,k
i j,
{0,...,
B
r
1}
. Then, we define a refreshing key
{
K
i c j, ,
E c
(
s
iB
rj)}
i c j, ,for
c
{0,1,...,
B
r
1}
,j
0,...,
d
r
1
( wherelog
rr B
d
q
) and1,...,
i
n
(
{
K
i c j, ,
E c
(
s
iB
rj)}
i c j, , is different from switch keyK
{
k
i j w, ,LWE
q qs/(
w z B
i ksj)}
.) Notice that there is only two types of operation left, many times homomorphic additions for elements whichbelongs to q and one time homomorphic msb for big ciphertext.
Definition 1 (Homomorphic Accumulator). A Homomorphic Accumulator Scheme is a quadruple of algorithms
( ,Init,Incr,msbExtract)
E
together with modulit
,q
, whereE
andmsbExtract
may require key materialrelated to an
LWE
keys
. For brevity, we writeACC
v
forACC
Init( )
v
, andACC
E v
( )
for
ACC
Incr(ACC, ( ))
E v
. For anyv v
0, ,...,
1v
l
q, after the sequence of operations0
ACC
v
; fori
1
tol
doACC
E v
( )
iWe say that ACC is an
l
-encryption ofv
, wherev
v
imod
q
.ACC of
v
, computingc
msbExtract(ACC)
ensuresc
LWE (msb( ), ( ))
t qs/v
l
with overwhelming probability.It then proceeds as described in Algorithm 1
Algorithm 1
Refresh ( , )
a
b
for{
, ,(
)}
, , r r ji c j i r i n c B j d
K
E c
B
s
2
ACC
2
q
b
t
for
i
1,...,
n
doCompute the base-
B
r representation of i rj i j,(mod )
j
a
B a
q
for
j
0,...,
d
r
1
do.
, ,
ACC
i j i a j
K
end for
Output
msbExtract(ACC)
Theorem 8 If
( ,Init,Incr,msbExtract)
E
is a correct Homomorphic Accumulator Scheme, then the Refreshprocedure, on input any ciphertext 2/
2
LWE
( ,
)
2
t qq
m
t
sc
and a valid refreshing key, , , ,
{
K
i c jE c
(
iB
rj)}
i c j
s
, outputs a ciphertextRefresh ( )
c
LWE (msb( ), (
t qs/v
nd
))
.5 The Construction Of Big Scheme
In this paper, three types of scheme and corresponding ciphertexts are involved. We will call the origin LWE
scheme
LWE
t2/qs as small scheme, the scheme, which is used to operation the decryption of small scheme, as big
scheme, and the output LWE scheme
LWE
t qs/ ofmsbExtract
as the final output scheme. In the same way, we call the ciphertext of small scheme as small ciphertext, the ciphertext of big scheme as big ciphertext, the ciphertext of final output scheme as final output ciphertext.Our construction of big scheme follows the DM14. Essentially, we present our more powerful
msbExtract
. Compared with themsbExtract
proposed by DM14, ours can extract the most significant bit of the plaintext,when the base of plaintext is
t
2, the DM14 constrains the base of plaintext to 2. What’s more, we proposed some functions to make ourmsbExtract
more efficient and easy to understand.The big scheme is parameterized by a modulus
Q
, a plaintext space q, whereq
is the modular of smallLWE encryption system, a base
B
g to decompose the ciphertext, and a dimensionN
2
K. In order tosuccessful decryption, we require that
q t N
| (
2
d
tr)
andd
tr
(
q
1)
N
, for some integerd
tr
0
. We usethe rings
[ ] / (
X
X
N
1)
and Q
( /
Q
)
, and an additional parameteru
, which should be aninvertible element of Q close to
Q t
/
, wheret
is the plaintext of the outputLWE
t qs/ encryption ofmsbExtract
process. For the reason of the successful decryption, we require that
u Q t
/
is at most|
| 1
, for the reason of the successful decryption. In order to make the finally output LWE ciphertext to expressthe original message
2
t
m
, we requiret
2
t
. Messagesm
q are encoded asq
-th roots of unitym
Y
where2( tr) t N d
q
Y
X
. Notice that the2
N
-th roots of unity1 1 2 1 1
{1,
,...,
N,
N1,
N,...,
N N}
X
X
X
X
X
X
X
X
form a cyclic group, and the messagespace
Y
is a subgroup ofG
2N, we will analysis the relationship between
Y
andG
in 5.2.Our big scheme contains five parts,
E m
z( )
,Init(ACC
v
)
,Incr(ACC
C
)
,uMultcontant(
C
k
)
,msbExtract
. The last twouMultcontant(
C
k
)
,msbExtract
parts aredifferent from DM14.
( )
zE m
, giving a messagem
and a keyz
, picks R 2dgQ
a
uniformly at random, and2dg 2d Ng
e
with a subgaussian distribution
of parameter
, and outputs2 2
( )
[ ,
]
m dgz Q
E m
a a
z
e
uY
G
where
( ,
,...,
dg 1)
2dg 2g g Q
B
B
G
I
I
I
,I
Q2 2 is the identity matrix.- Init(ACC
v
)
, givingv
q, and sets:
v 2dg 2 QACC
uY
G
.- Incr(ACC
C
)
, giving the current accumulator content 2dg 2 QACC
and a ciphertext 2dg 2Q
C
,first computes the base-
B
g decomposition of 1 1 2 21
g g
d i d
g i i
u ACC
B
D
(where each 2dg 2 i Q
D
has entries with coefficients in
{
1
,...,
1
}
2
2
g g
B
B
to
[D ,..., D ]
1 2 g 2 gd d
ACC
C
.-uMultcontant(
C
k
)
giving a constantk
q and a ciphertext 2dg 2 Q
C
with the parameterq
u
, output a ciphertext 2dg 2ku Q
C
with the parameterku
q.First computes the base-
B
g decompositioncontant k
( )
uk
G
, then setIncr(
( ))
ku
contant k
C
C
. For brevity, we sometimes writeC
( )k for 2dg 2ku Q
C
.- msbExtract
giving a key-switching auxiliary inputK
(as defined in Section 2) and a set of vectors(1) (2) ( )
{
,
,...,
k}
T
t
t
t
,where2
2
/ 1 ( ) ( 1) /
i kq t i k i k q t
Y
t
,
[X] / (X
N
1)
,
2( tr) t N d
q
Y
X
,t N
2(
d
tr)
o q
,d
tr
(
q
1)
N
,t
2|
q
. Themain idea of the extraction of msb is that ( ) ( ) v
1
k k
msb
t
Y
, if2 2
(
k
1)
q
kq
v
t
t
, otherwise( ) ( )
0
v k kmsb
t
Y
.(i.e.2 2
( ) ( ) ( 1) ( , )
(1)
v v k k k q kqt t
msb
t
Y
) Notice that,(1) (2) 2
( )
0
( )
1
( )
... (
1)
msb v
msb v
msb v
t
2
( )
( )
tmsb v
. For noise management, we also note that2 2
|| ||
q
t
t
. The detail follows.Algorithm 2
- msbExtract (ACC)
K forK
{
k
i j w i N j B, ,}
, ks,w d ksRequire: a switching key
{
, ,}
, ,ks ks i j w i N j B w d
k
K
fromz
tos
, wherek
i j w, ,
LWE
sq q/(
w z B
i ksj)
. An accumulatorACC
that is anl
-encryption ofv
.1:
ACC
( )k
uMultcontant(ACC
k
1)
, for1
k
t
2
LWE
t Qz/2:
[(
( )k) , (
t ( )k) ]
t[0 , (
t ( )k) , 0 ,..., 0 ] ACC
t t t ( )k
a
b
t
, for1
k
t
2 //ACC
( ) 2d Ng 2Nk
3:
c
( )k
(
a
( )k,
b
( )0k)
LWE
zt Q/(msb( ) )
v
( )k4: 2 ( ) /
1
LWE
(msb( ))
k t t Q
k z k
v
c
c
6:
c
ModSwitch( )
c
LWE (msb( ))
t qs/v
7: Return
c
5.2 Correctness
In this subsection we prove that
ACC
is a correct Homomorphic Accumulator Scheme for an appropriate error function
. The main result is given in Theorem 10. But first, let us detail the behavior of individual operations.lemma 3. If
q t N
| (
2
d
tr)
andd
tr
(
q
1)
N
, for some integerd
tr
0
,2( tr) m t N d
m q
Y
X
where
m
q and
X
{1,
X
,...,
X
N1,
X
N
1,
X
N1
X
,...,
X
2N1
X
N1}
, then the message space
Y
is a subgroup ofG
.Proof. Notice that
2( ) 2( ) 2 2( ) 2
( 1)
tr tr tr
m
t N d t N d m t m t N d m t m
N N
m q q q q q
Y
X
X
X
. And
2
(
tr)
1 2 1t N
d
m
t m
N
q
q
is different fromt N
2(
d
tr)
m
2t m
2 2N
q
q
whenm
1
m
2. It’s easy tounderstand by this following big matrix, most of the elements 0 are not writhed in the matrix.
2
2 2 2
2 2
2 2
1
0 1
2 1
( 1) ( 1)
1
... 0 0 ... ... ...
0 ... 0 ... ... 1
0 ... 0 ...
t
t t t
t t
q
q q q
q t q t
q
Y Y Y
Y Y Y
Y Y Y
2( tr)
t N d q
tr
d dtr
2 tr
t d
2 rows
t
2( tr)
tr t N d
d q
We know that the message space
Y
hasq
different element in
[ ] / (
X
X
N
1)
, with the formi
X
, which induce that the message space
Y
is a subgroup ofG
. What’s more, we can find that eachq
m
corresponds to only one element in . The main idea in our scheme is that we constructed a map fromthe plaintext
m
q to the cyclic group . If we mapsX
i to a positioni
mod
N
in N, and theelement in the position is defined as the coefficient of
X
imod(
X
N
1)
. Then, eachm
Y
m correspondingto a unique position in N, where the element of this position is 1 or -1. What’s more, if the msb of
m
isi
we can find out the msb of
m
under the baset
2, by check if the position ofm
is belongs to the row 1 or row2 or … or row
t
2.Fact 4 For any messages
m m
,
q, ifACC [ ,
a a
z
e
]
uY
mG
andC
[ ,
a a
z
e
]
uY
mG
,then
ACC
C
has the formACC [ ,
a a
z
e
]
uY
m m G
for[D ,..., D ]
1 g md
Y
e
e
e
.lemma 5 For any messages
m
q and constantk
q , ifC
[ ,
a a
z
e
]
uY
mG
, thenuMultcontant(
C
k
)
has the formC
ku
[
a a
,
z
e
]
for, wheree
is the error corresponding toC
.Proof. Notice that ku
Incr(
contant k
( ))
C
C
, then we can apply the result of Fact 9. We getC
ku’serror
1
[
,...,
]
dg mY
e
e
D
D
e
. sincecontant k
( )
can be regarded as a ciphertextC
, whereY
m
1
and
e
0
. Substituting them to1
[
,...,
]
dg mY
e
e
D
D
e
, we can gete
e
.The last operation
msbExtract
is slightly more intricate. Let us put aside the key and modulus switching steps, and consider the former 4 steps.First of all, we will prove that the output of
msbExtract
has the right form of LWE scheme. In the firststep, lemma 3 tells us, the
uMultcontant(ACC
k
1)
output a valid big ciphertext. In the second and thirdstep, we let
[
a
( )k,
b
( )
k]
1 2 be the second row of the accumulatorACC
( ) 2dg 2 k
. IfACC
( )k is a GSWencryption of a value
v
withu k
(
1)
, then[
a
( )k,
b
( )
k]
will satisfies ( ) ( )(
1)
v k kb
a
z
k
uY
e
forsome small error
e
. Then, we can get the follow equality[0 , (
t ( )k) , 0 ,..., 0 ] ACC
t t t ( )k(
( )k) [
ta
( )k,
b
( )k]
t
t
.In the third step, we define ( )k
(
( )k)
ta
( )k
a
t
. Then,c
( )k
(
a
( )k,
b
( )0k)
can deduce to( ) ( )0 ( ) ( ) ( )
((
k) ,
tb
k)
(
k) [
ta
k,
b
k]
a
t
, and2 2
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( 1)
( , )
(
k)
t k(
k)
t k(
k) (
t1)
v(
k)
t k(
k)
t(
1)
(1)
vk q kq t tb
a
z
k
uY
z
k
u
t
t
t
t
e
a
t
e
.Notice that
2 2
( ) ( ) ( 1) ( , )
(1)
v v k k k q kqt t
msb
t
Y
. In the fourth step,2 2 2 2 2
2 2
( ) ( ) ( ) ( ) ( ) ( ) ( )
( 1)
1 1
(
,
(
1)
(1)
( , ))
(
1,
1 1( ))
k t k k t k k k v k t k k t k k t k k q kq
k k k k k
t t
z
k
u
z
u msb v
c
c
a
a
t
e
a
a
t
e
, which has the right form of LWE scheme. Secondly, we will analyze the error when operation the
Fact 6 (Spectral Norm of Decomposed Matrices) Let
C
( )i
E v
z(
( )i)
be fresh encryptions ofv
( )i
q forall
i
l
w
log
n
, and assume that theC
( )i ’s are indistinguishable from random without the knowledge ofz
. ConsiderACC
( )l as the value ofACC
after the sequence of operations:(0)
ACC
v
; fori
1,...,
l
doACC
C
( )iSet
1
( ) ( ) ( )
[
,...,
]
dgi i i
C
D
D
D
to be the decomposition of 1 ( ) 1 ( )1
g i d
i i i
g i
u ACC
B
D
. Then, withoverwhelming probability we have
(0) (1) ( 1)
1
(
,
,...,
)
(
)
l
g g
s
D
D
D
O B
Nd
l
.Lemma 7 (Intermediate error) Assume the hardness of
RLWE
, ,Q, and letACC
be anl
-encryption ofv
wherel
w
log
N
. Then the ciphertextc
( )k
LWE
t Qz/(msb( ))
v
as defined in line 3 of algorithm 2while computing
msbExtract(ACC)
has an error 2 ( )1
err( )
err(
k tk k)
c
c
which is, under the randomnessused in the calls to
E
z( )
, a subgaussian variable of parameter
and mean2
where2
(
g)
O t
B q Nd
l
.Proof. Applying
l
times Fact 91
[
,...,
]
dg mY
e
e
D
D
e
, we can show thatACC
l has the formACC
l
[ ,
A A
z
e
]
u
Y
vG
with( ) (1) ( 2) ( )
( 1) ( ) ( 1) ( ) (0) (1) (1) (2) ( 1) ( )
1 1
...
i l
l i i l i w i w w l w l
i i
Y
Y
Y
Y
e
D
e
D
e
D e
D e
D
e
where( )
( )i wi ( )i
Y
e
e
for somew
( )i
q ande
( )i is the error used in the encryptionC
( )i
E v
z(
( )i)
. TheuMultcontant(ACC
k
)
will not increase the noise inACC
, thenACC
( )k with the noisee
( )ACCk l
e
,and
c
( )k with noisee
( )k
[0 , , 0 ,..., 0 ]
tt
t t t
e
. The final error inc
is2 2
( ) ( ) 2 ( )
1
[0 , (
) , 0 ,..., 0 ]
1[0 , (
) , 0 ,..., 0 ]
k t t t t t k t t t t tk k k
k k
e
e
t
e
t
t
e
. We rewrite(0) (1) ( 1) (1) ( ) 2
[0 , , 0 ,..., 0 ] [
,
,...,
] (
,...,
).
t t t t l l
e
t
t
D
D
D
e
e
Recall that
|| ||
t
q t
/
2 , and by Fact 12, we have that[
(0),
(1),...,
(l 1)]
D
D
D
has spectral norm(
g g)
is a subgaussian vector of parameter
. We conclude that the final error is subgaussian of parameter2
(
g g)
O t
B
qNd
l
.Theorem 8 Assuming the hardness
RLWE
, ,Q the above Homomorphic Accumulator Scheme is
-correctwith error function
2
2
2 2 2 2 2
2
( )
log
(
t g g ks) || ||
q
l
w
n
t
B l q Nd
Nd
Q
s
By Lemma 7 we have 2 ( )
1
err( )
err(
k t k)
k
c
c
which is a subgaussian variable of parameter
andmean
2
where
O t
(
2
B q Nd
g
l
)
. By Lemmata 2, theKeySwitch
process outputs an encryption, ,
KeySwitch( ,{
c k
i j v})
with subgaussian error of parameter2 2 2 2
2
( (
)
ks g ks
Nd
O t
B q Nd
l
Nd
. By Lemma 3, theModSwitch
process outputs isa
LWE ( )
t qs/m
ciphertextModSwitch( )
c
with subgaussian error of parameter2
2
2 2 2 2 2 2 2 2 2
2 2
(q ( (O t B q Ndg l) Ndks ) 2 (|| || 1) w logn q (tt B l q Ndg g Ndks) || || .
Q
s Q
s5.3 Security
We made the improvement based on the DM14 schemes, and the improvement is focused on enhancing the domain of the plaintext. There are 2 main differences between our scheme and DM14. On one hand, we replace
the origin LWE scheme
LWE
2/sq to aLWE
4/sq. The change will not affect the security, since both of the twoschemes are secure. On the other hand, we extend the
msbExtract
to t2, by do some operates on the bigciphertexts which will not reduce the security.
5.4 Parameters, Implementation
We implement our scheme with the follow parameters:
n
500
,
=2
17,
=1.4
,N
1024
,q
342
,32
2
Q
,t
2
8
,1
2 +1
298
Q
u
,B
g
2
11,d
g
3
,B
r
23
,d
r
2
,B
ks
23
,d
ks
2
. During the implementation of our scheme, we used the FFTW library http://www.fftw.org/install/windows.html, which is a free portable C library, allowing the rapid prototyping of crypto-systems. The implementation results are recorded in Table 4 and Fig. 1. The tests run on a LENOVO ThinkCenter M8000T computer with the Windows 7 operation system, equipped with Intel(R) Core(TM) i5-2400 CPU, 3.10GHz and 2.00GB Memory.Table 1 The running time comparison between our scheme and DM14
SETUP KeyGen Encrypt Refesh Decrypt
DM14[13] 842 29952ms 0ms 7285ms 15ms
6 Summary and Future Directions
We solve the problem of extending DM14 to large plaintext space. It is the foundation of combining the fast refresh with other optimal technologies, which is a meaningful job.
Reference
1 Gentry C. Fully homomorphic encryption using ideal lattices [C]//Proc of the 41st Annual ACM Symposium on Theory of Computing, STOC. New York: ACM, 2009: 169-178
2 Van Dijk M, Gentry C, Halevi S, et al. Fully homomorphic encryption over the integers [G] // LNCS 6110: Advances in Cryptology–EUROCRYPT 2010. Berlin: Springer, 2010: 24-43
3 Brakerski Z, Vaikuntanathan V. Efficient fully homomorphic encryption from (standard) LWE [C]// Proc of 52nd Annual Symp on Foundations of Computer Science. Los Alamitos,CA:IEEE Computer Society, 2011: 97-106
4 Tanping Z, Xiaoyuan Y, Wei Z, et al. Efficient Fully Homomorphic Encryption with Circularly Secure Key Switching Process[J]. a a, 1: 1.
5 Brakerski Z, Gentry C, Vaikuntanathan V. (Leveled) fully homomorphic encryption without bootstrapping [C]//Proc of the 3rd Innovations in Theoretical Computer Science Conf. New York: ACM, 2012: 309-325
6 Gentry C, Sahai A, Waters B. Homomorphic encryption from learning with errors: Conceptually-simpler, asymptotically-faster, attribute-based [G] // LNCS 8042: Advances in Cryptology–CRYPTO 2013. Berlin: Springer, 2013: 75-92
7 Alperin-Sheriff J , Peikert C. Practical bootstrapping in quasilinear time. In CRYPTO 2013. 2013: 1–20.
8 S. Halevi and V. Shoup. Bootstrapping for HElib. IACR Cryptology ePrint Archive, 2014. http://eprint.iacr.org/2014/873. 9 C. Gentry, S. Halevi, and N. P. Smart. Better bootstrapping in fully homomorphic encryption. In M. Fischlin,J. Buchmann, and
M. Manulis, editors, PKC 2012, volume 7293 of LNCS, pages 1–16. Springer, May 2012. 10 Brakerski Z, Vaikuntanathan V. Lattice-based FHE as secure as PKE. In ITCS, pages 1,2014.
11 Barrington D. Bounded-width polynomial-size branching programs recognize exactly those languages in NC1. In STOC, pages 1–5. 1986.
12 Alperin-Sheriff J, Peikert C. Faster bootstrapping with polynomial error[M]//Advances in Cryptology–CRYPTO 2014. Springer Berlin Heidelberg, 2014: 297-314.
13 Ducas L, Micciancio D. FHEW: Bootstrapping Homomorphic Encryption in less than a second[M]//Advances in Cryptology--EUROCRYPT 2015. Springer Berlin Heidelberg, 2015: 617-640.
Biographies
Zhou Tanping, born in 1989. PhD candidate. His main research interests include fully homomorphic encryption and
lattice-based cryptology.*The corresponding author. Email: [email protected].
Liu Longfei, born in 1990. master. His main research interests include fully homomorphic encryption and lattice-based
cryptology.
Yang Xiaoyuan, born in 1959. PhD supervisor. His main research interests include information security and cryptology.
Han Yiliang, born in 1977. PhD supervisor and assistant professor. His main research interests include information security