learning classification technique that allows model
owners to classify data without jeopardizing user pri-
vacy. The paper aims to provide a review of mod-
ern HE schemes for non-cryptography specialists, and
gives simple examples of the usage of homomorphic
encryption. Code samples are used in order to illus-
trate the application of the methods, and support read-
ability.
While the state-of-the-art homomorphic methods
proposed today are impractical for computationally
complex tasks like machine learning without substan-
tial delay (Laine et al., 2018), the schemes reviewed
below are capable of handling machine learning eval-
uation. We construct a hypothetical scenario, solved
with homomorphic encryption, such that a govern-
ment agency wishes to use machine learning in or-
der to identify pro-ISIS messages without (a) collect-
ing the messages of citizens and (b) allowing users
to reverse engineer the model. Our implementation
differs from previous approaches (Trask, 2019) be-
cause it utilizes the machine learning library scikit-
learn (Pedregosa et al., 2011), the Github repository
python-paillier (python-paillier, 2012), and a Python
port (pySEAL, 2017) of Microsoft SEAL 2.3 (Laine,
2017) in order to benchmark and evaluate the pa-
rameters of the cryptosystems proposed by Paillier
(python-paillier, 2012) and Fan Vercauteren (Fan and
Vercauteren, 2012).
2 BACKGROUND AND RELATED
WORK
The literature review will investigate fully homomor-
phic encryption schemes, starting with Craig Gen-
try’s 2009 seminal paper, which was the first paper
to describe a credible fully homomorphic encryption
scheme (Gentry et al., 2009), followed by Brakerski
and Vaikuntanathan’s work (Brakerski and Vaikun-
tanathan, 2014) as well as Junfeng Fan and Frederik’s
Vercauteren’s (VF) suggestion (Fan and Vercauteren,
2012), both approaches that build off of Gentry’s
work and are implemented by Microsoft in the C++
library SEAL (Laine, 2017). Melchor (Melchor et al.,
2018) evaluated HElib, SEAL and FV-NFLlib, and
found that SEAL V2.3 performed best for multiplica-
tive homomorphic encryption.
2.1 Gentry
Craig Gentry broke new ground in the field of
homomorphic encryption with his seminar paper,
”Fully Homomorphic Encryption Using Ideal Lat-
tices” (Gentry et al., 2009). Gentry’s method re-
lies on a somewhat homomorphic lattice-based crypto
scheme; the scheme is limited in the number of oper-
ations that can be performed on a ciphertext before
noise, a by-product of the probabilistic nature of the
scheme, grows so large such that the plain-text map-
ping is inaccurate. The monumental insight gained
from Gentry’s work was the concept of bootstrapping,
a technique that refreshes the noise of a ciphertext by
decrypting the ciphertext with a new key without re-
vealing the plain-text. While strictly following Gen-
try’s algorithm was unrealistic due to Big-O complex-
ity, his method was the foundation for practical im-
plementations such as HELib and SEAL, the latter of
which is utilized in Section 3.
2.1.1 Lattice based Cryptography
In linear algebra, a basis of a vector space is a set of
n independent vectors such that any coordinate point
on said space is a linear combination of these basis
vectors. The lattice of a vector space is the set of ba-
sic linear combinations with integer coefficients; for
example, all (x,y) points where x, y ∈ Z on a Eu-
clidean vector space make up the lattice. Ideal lat-
tices are, ”lattices corresponding to ideals in rings of
the form Z[x]/( f ) for some irreducible polynomial of
degree n” (Wikipedia contributors, 2004). Ideal lat-
tices are essential to the semantic security of Gentry’s
FHE method due to the intractable nature of the clos-
est vector problem - given a vector v outside of any
lattice points, which lattice point is closest to v? The
closest vector problem forces one to perform lattice
basis reduction in order to be solved, but at the cost of
exponential time.
When the vector without error is known by a party,
this closest vector problem allows this party to ”hide”
an encoded message m
1
with an error if the message
space is (mod p) for some integer p, the cipher space
is (mod q) for some integer q >> p, and the error is
divisible by p, allowing simple future removal of the
error. Consequently, the error is calculated by ran-
domly generating e from a uniform distribution and
multiplying e by p, thus ensuring this divisibility and
clean error removal. Furthermore, it is essential that
the chosen p is much less than q since all operations
in the scheme are performed (mod q) (Raynal, ).
Due to the algebraic properties of vector addition
and multiplication, it is possible to calculate the sum
and product of two cipher-texts with the respective
sum and products of the error. When the error is re-
moved after the operation F(c
1
,c
2
), via decryption,
the output is equivalent is F(m
1
,m
2
). However, this
growth in the error is why lattice-based cryptogra-
phy is somewhat homomorphic; if the error grows too
large then the closest lattice vector during decryption
Privacy-preserving Surveillance Methods using Homomorphic Encryption
241