Authors:
Michael Brenner
;
Jan Wiebelitz
;
Gabriele von Voigt
and
Matthew Smith
Affiliation:
Research Center L3S and Gottfried Wilhelm Leibniz Universitaet Hannover, Germany
Keyword(s):
Homomorphic encryption, Secret program execution, Secure function evaluation, Encrypted processor.
Related
Ontology
Subjects/Areas/Topics:
Applied Cryptography
;
Cryptographic Techniques and Key Management
;
Data and Application Security and Privacy
;
Data Engineering
;
Databases and Data Security
;
Information and Systems Security
;
Secure Cloud Computing
;
Security and Privacy in IT Outsourcing
Abstract:
Currently generic executable programs can only be encrypted during transmission and storage. To execute
the program itself and the data it operates on must be decrypted. If the execution system is not trusted or
compromised, both the program code and data are endangered. Recent advances in homomorphic cryptography
show how additions and multiplications can be executed in encrypted space, i.e. without decrypting
the information, the arithmetic operations themselves are not encrypted. To date, a universal implementation
of a homomorphic system, capable of executing arbitrary programs and allowing for practical experiences is
still missing. In this paper we present the first method to compute a non-linear arbitrary secret program on
an untrusted resource using fully homomorphic encrypted circuits. We use our own implementation of the
Smart-Gentry crypto-system as a foundation and define a processor architecture which is capable of executing
encrypted programs on encrypted data. Unlike o
ther approaches, such as static one-pass boolean circuit simulations,
our system supports read and write memory access, dynamic parameters and non-linear programs,
that render branch-decisions at runtime and cannot be represented in a circuit with hard-wired in-circuit parameters
and data. Our implementation comprises the runtime environment for an encrypted program and an
assembler to generate the encrypted machine code. The system represents a first step to show the capabilities
of homomorphic encryption in software and system architecture.
(More)