  Fully-Homomorphic Encryption (FHE) offers powerful capabilities by enabling
secure offloading of both storage and computation, and recent innovations in
schemes and implementations have made it all the more attractive. At the same
time, FHE is notoriously hard to use with a very constrained programming model,
a very unusual performance profile, and many cryptographic constraints.
Existing compilers for FHE either target simpler but less efficient FHE schemes
or only support specific domains where they can rely on expert-provided
high-level runtimes to hide complications.
  This paper presents a new FHE language called Encrypted Vector Arithmetic
(EVA), which includes an optimizing compiler that generates correct and secure
FHE programs, while hiding all the complexities of the target FHE scheme.
Bolstered by our optimizing compiler, programmers can develop efficient
general-purpose FHE applications directly in EVA. For example, we have
developed image processing applications using EVA, with a very few lines of
code.
  EVA is designed to also work as an intermediate representation that can be a
target for compiling higher-level domain-specific languages. To demonstrate
this, we have re-targeted CHET, an existing domain-specific compiler for neural
network inference, onto EVA. Due to the novel optimizations in EVA, its
programs are on average 5.3x faster than those generated by CHET. We believe
that EVA would enable a wider adoption of FHE by making it easier to develop
FHE applications and domain-specific FHE compilers.
