22.04.2014 Views

a590003

a590003

a590003

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

similar methods have been restricted to small datasets (on the order of a few hundred to a<br />

thousand elements) or data with low dimension (generally 1-4).<br />

In this work[17], the Stanford team first constructed a working implementation of the scaleinvariant<br />

leveled homomorphic encryption system of Brakerski. Then, by taking advantage of<br />

batched computation as well as a message encoding technique based on the Chinese Remainder<br />

Theorem, they showed that it becomes not only possible, but computationally feasible, to<br />

perform statistical analysis on encrypted datasets with over four million elements and dimension<br />

as high as 24. By using these methods along with some additional optimizations, the team was<br />

able to demonstrate the viability of using leveled homomorphic encryption for large scale<br />

statistical analysis.<br />

The IBM team designed, implemented and delivered a Homomorphic Encryption (HE) software<br />

library[18] that implements the Brakerski-Gentry-Vaikuntanathan (BGV) homomorphic<br />

encryption scheme, along with many optimizations to make homomorphic evaluation runs faster,<br />

focusing mostly on effective use of the Smart-Vercauteren ciphertext packing techniques. Our<br />

library is written in C++ and uses the Number Theory Library (NTL) mathematical library. The<br />

NTL is a high-performance, portable C++ library providing data structures and algorithms for<br />

manipulating signed, arbitrary length integers, and for vectors, matrices, and polynomials over<br />

the integers and over finite fields (and can be found at http://www.shoup.net/ntl).<br />

Very roughly, our HE library consists of four layers: in the bottom layer we have modules for<br />

implementing mathematical structures and various other utilities, the second layer implements<br />

our Double-CRT representation of polynomials, the third layer implements the cryptosystem<br />

itself (with the \native" plaintext space of binary polynomials), and the top layer provides<br />

interfaces for using the cryptosystem to operate on arrays of plaintext values. We think of the<br />

bottom two layers as the \math layers", and the top two layers as the \crypto layers", and describe<br />

then in detail in our work[18]. A block-diagram description of the library is given in Figure 1.<br />

At the top level of the library we provide some interfaces that allow the application to manipulate<br />

arrays of plaintext values homomorphically. The arrays are translated to plaintext polynomials<br />

using the encoding/decoding routines and then encrypted and manipulated homomorphically<br />

using the lower-level interfaces from the crypto layer.<br />

The basic operations that we have in the HE library scheme are the usual key-generation,<br />

encryption, and decryption, the homomorphic evaluation routines for addition, multiplication and<br />

automorphism (and also addition-of-constant and multiplication-by-constant), and the ciphertext<br />

maintenance operations of key-switching and modulus-switching.<br />

In addition to the software described above the PROCEED AHEAD team has delivered many<br />

significant publications which are summarized in the Publications section of this report.<br />

Approved for Public Release; Distribution Unlimited.<br />

8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!