similar operations on larger data values, both of
which can incur performance penalties. To assess
the performance of homomorphic encryption, it is
important to understand how the fundamental
operations of encryption, decryption, addition, and
multiplication are used. These different operations
often have different performance, which must be
combined or averaged to provide an overall
performance assessment.
There are two generic use cases for
homomorphic encryption in the cloud. The first is a
bulk load of existing plaintext data and applications.
This requires encrypting all the data and
applications. This is an infrequent event, but for
large data sets or applications, it can be very
resource-intensive. It is often highly parallelizable,
so the main issue is throughput. The time taken will
depend on the size of the data set, the available
resources, and the computation requirements of
encryption. For this first use case, the baseline for
comparison is encrypting the data with the
Advanced Encryption Standard (AES) encryption
algorithm.
The second use case for encryption is user access
to encrypted data. If individual users perform the
encryption and decryption of requests and responses
in a distributed way, the performance of the requests
is unlikely to be significantly affected. Unless large
data sets are transferred, the encryption or
decryption of data will incur only a small latency
based on local encryption or decryption of requests
and responses.
If a central server manages keys and performs
cryptographic operations, this frees users from key
management, but it creates a central bottleneck for
performance. The central server must do all
encryption and decryption, which may require
dedicated computing resources to manage the
throughput.
Addition and multiplication are used to
manipulate data in the cloud. Such operations do not
decrypt or encrypt data, so performance depends
only on the performance of the ciphertext operations
that are used to implement the additions and
multiplications on the underlying plaintext.
If the application itself is encrypted, the code will
involve different additions and multiplications in
order to do computation. This is another area where
the specific application will influence performance.
The operational model for an application will be
some mix of additions, multiplications, uploads, and
downloads. As a result, it is not possible to
determine the performance penalty of using
homomorphic encryption without knowledge of the
application itself. We examine instead the individual
operations, which enable further analysis for specific
applications.
To track the degradation in performance, a
sample data base was used with both plaintext and
homomorphic searches as a model in (Gligor, 2014).
Real-world testing of various homomorphic
encryption methods (Gentry, Halevi, and Smart,
2012; Cheon et al., 2013; Doroz, Hu, and Sunar,
2014; Lauter, Naehrig, and Vaikuntanathan, 2011;
and Joppe et al., 2013) shows that FHE encryption
incurs a performance penalty of a factor of about
10
10
compared to AES encryption. For example, a 1-
microsecond AES encryption would take about 3
hours using FHE. This is prohibitively slow, and
there is no indication that this will become feasible
for real-world applications in the near future.
SWHE methods can be orders of magnitude
faster than corresponding FHE methods. Encryption
can be roughly 10
2.5
times slower than AES, which
is approaching feasibility for specific use cases.
However, encryption for operations on data are
much slower. Encryption for homomorphic addition
is 10
3.8
times slower, and encryption for
multiplication is 10
7.5
times slower. These factors
make current and near-future adoption unlikely.
An important consideration for real-world
performance is the actual time taken, not just the
factor above the non-homomorphic operation, since
encryption, addition, and multiplication, although all
very fast, have different performance. For the
current numbers, however, the message is clear that
homomorphic encryption retains significant
performance penalties and little or no probability
that improvements in commodity hardware will be
able to reduce these penalties to acceptable levels.
The few options available for FHE and SWHE are
more like existence proofs than performance-
optimized standards. As a result, performance
suffers significantly compared to the highly
optimized symmetric encryption methods like AES
that are in use today.
4.5 A Possible Compromise
Full Homomorphic Encryption enables arbitrary
computations on encrypted data. This allows any
functions on any data to be computed. However,
many use cases are more restricted in their
computations and this full generality is not always
needed. At the other extreme of full generality is a
case in which a simple comparison operation is all
that is needed.
For example, a database stores a list of values,
ICEIS 2017 - 19th International Conference on Enterprise Information Systems
182