12 research outputs found

    Homomorphic Lower Digits Removal and Improved FHE Bootstrapping

    Get PDF
    Bootstrapping is a crucial operation in Gentry\u27s breakthrough work on fully homomorphic encryption (FHE), where a homomorphic encryption scheme evaluates its own decryption algorithm. There has been a couple of implementations of bootstrapping, among which HElib arguably marks the state-of-the-art in terms of throughput, ciphertext/message size ratio and support for large plaintext moduli. In this work, we apply a family of lowest digit removal polynomials to improve homomorphic digit extraction algorithm which is crucial part in bootstrapping for both FV and BGV schemes. If the secret key has 1-norm h=l1(s)h=l_1(s) and the plaintext modulus is t=prt = p^r, we achieved bootstrapping depth logโกh+logโก(logโกp(ht))\log h + \log( \log_p(ht)) in FV scheme. In case of the BGV scheme, we bring down the depth from logโกh+2logโกt\log h + 2 \log t to logโกh+logโกt\log h + \log t. We implemented bootstrapping for FV in the SEAL library. Besides the regular mode, we introduce another slim mode\u27 , which restrict the plaintexts to batched vectors in Zpr\mathbb{Z}_{p^r}. The slim mode has similar throughput as the regular mode, while each individual run is much faster and uses much smaller memory. For example, bootstrapping takes 6.756.75 seconds for 7 bit plaintext space with 64 slots and 13811381 seconds for GF(257128)GF(257^{128}) plaintext space with 128 slots. We also implemented our improved digit extraction procedure for the BGV scheme in HElib

    Integer Functions Suitable for Homomorphic Encryption over Finite Fields

    Get PDF
    Fully Homomorphic Encryption (FHE) gives the ability to evaluate any function over encrypted data. However, despite numerous improvements during the last decade, the computational overhead caused by homomorphic computations is still very important. As a consequence, optimizing the way of performing the computations homomorphically remains fundamental. Several popular FHE schemes such as BGV and BFV encode their data, and thus perform their computations, in finite fields. In this work, we study and exploit algebraic relations occurring in prime characteristic allowing to speed-up the homomorphic evaluation of several functions over prime fields. More specifically we give several examples of unary functions: modulo , is power of bb , Hamming weight and Mod2\u27 whose homomorphic evaluation complexity over Fp\mathbb{F}_p can be reduced from the generic bound 2p+O(logโก(p))\sqrt{2p} + \mathcal{O}(\log(p)) homomorphic multiplications, to p+O(logโก(p))\sqrt{p} + \mathcal{O}(\log(p)), O(logโก(p))\mathcal{O}(\log (p)), O(p/logโก(p))\mathcal{O}(\sqrt{p/\log (p)}) and O(p/logโก(p))\mathcal{O}(\sqrt{p/\log (p)}) respectively. Additionally we provide a proof of a recent claim regarding the structure of the polynomial interpolation of the less-than bivariate function which confirms that this function can be evaluated in 2pโˆ’62p-6 homomorphic multiplications instead of 3pโˆ’53p-5 over Fp\mathbb{F}_p for pโ‰ฅ5p\geq 5

    OpenFHE: Open-Source Fully Homomorphic Encryption Library

    Get PDF
    Fully Homomorphic Encryption (FHE) is a powerful cryptographic primitive that enables performing computations over encrypted data without having access to the secret key. We introduce OpenFHE, a new open-source FHE software library that incorporates selected design ideas from prior FHE projects, such as PALISADE, HElib, and HEAAN, and includes several new design concepts and ideas. The main new design features can be summarized as follows: (1) we assume from the very beginning that all implemented FHE schemes will support bootstrapping and scheme switching; (2) OpenFHE supports multiple hardware acceleration backends using a standard Hardware Abstraction Layer (HAL); (3) OpenFHE includes both user-friendly modes, where all maintenance operations, such as modulus switching, key switching, and bootstrapping, are automatically invoked by the library, and compiler-friendly modes, where an external compiler makes these decisions. This paper focuses on high-level description of OpenFHE design, and the reader is pointed to external OpenFHE references for a more detailed/technical description of the software library

    Homomorphic Encryption for Multiple Users with Less Communications

    Get PDF
    Keeping privacy for every entity in outsourced computation is always a crucial issue. For efficient secure computation, homomorphic encryption (HE) can be one of nice solutions. Especially, multikey homomorphic encryption (MKHE) which allows homomorphic evaluation on encrypted data under different keys can be one of the simplest solutions for a secure computation which handles multiple users\u27 data. However, the current main problem of MKHE is that the dimension of its evaluated ciphertext relies on the number of users. To solve this problem, there are several variants of multikey homomorphic encryption schemes to keep the size of ciphertext constant for a fixed number of users. However, users interact one another before computation to provide their inputs, which increases setup complexity. Moreover, all the existing MKHE schemes and their variants have unique benefits which cannot be easily achieved at the same time in one scheme. In other words, each type of scheme has a suitable computational scenario to put its best performance. In this paper, we suggest more efficient evaluation key generation algorithms (relinearization key and bootstrapping key) for the existing variants of MKHE schemes which have no ciphertext expansion for a fixed number of users. Our method only requires a very simple and minor pre-processing; distributing public keys, which is not counted as a round at all in many other applications. Regarding bootstrapping, we firstly provide an efficient bootstrapping for multiple users which is the same as the base single-key scheme thanks to our simplified key generation method without a communication. As a result, participants have less communication, computation, and memory cost in online phase. Moreover, we provide a practical conversion algorithm between the two types of schemes in order to \emph{efficiently} utilize both schemes\u27 advantages together in more various applications. We also provide detailed comparison among similar results so that users can choose a suitable scheme for their homomorphic encryption based application scenarios

    Faster Homomorphic Linear Transformations in HElib

    Get PDF
    HElib is a software library that implements homomorphic encryption (HE), with a focus on effective use of packed ciphertexts. An important operation (which is used in bootstrapping, as well as in other applications) is applying a known linear map to a vector of encrypted data. In this paper, we describe several algorithmic improvements that significantly speed up this operation: in our experiments, our new algorithms were 30-75 times faster than those currently implemented in HElib for typical parameters. Our techniques also reduce the size of the large public evaluation key, often using 33%-50% less space than the previous HElib implementation. We also implemented a new tradeoff that enables a drastic reduction in size, maybe a 25x factor or more for some parameters, paying only a 2-4x factor in runtime (and giving up some parallelization opportunities)

    Functional Bootstrapping for FV-style Cryptosystems

    Get PDF
    Fully Homomorphic Encryption (FHE) enables the computation of an arbitrary function over encrypted data without decrypting them. In particular, bootstrapping is a core building block of FHE which reduces the noise of a ciphertext thereby recovering the computational capability. This paper introduces a new bootstrapping framework for the Fan-Vercauteren (FV) scheme, called the functional bootstrapping, providing more generic and advanced functionality than the ordinary bootstrapping method. More specifically, the functional bootstrapping allows us to evaluate an arbitrary function while removing the error of an input ciphertext. Therefore, we achieve better depth consumption and computational complexity as the evaluation of a circuit can be integrated as part of the functional bootstrapping procedure. In particular, our approach extends the functionality of FV since it is even applicable to functions between different plaintext spaces. At the heart of our functional bootstrapping framework is a homomorphic Look-Up Table (LUT) evaluation method where we represent any LUT using only the operations supported by the FV scheme. Finally, we provide a proof-of-concept implementation and present benchmarks of the functional bootstrapping. In concrete examples, such as delta and sign functions, our functional bootstrapping takes about 46.5s or 171.4s for 9-bit or 13-bit plaintext modulus, respectively

    SoK: Fully Homomorphic Encryption Accelerators

    Full text link
    Fully Homomorphic Encryption~(FHE) is a key technology enabling privacy-preserving computing. However, the fundamental challenge of FHE is its inefficiency, due primarily to the underlying polynomial computations with high computation complexity and extremely time-consuming ciphertext maintenance operations. To tackle this challenge, various FHE accelerators have recently been proposed by both research and industrial communities. This paper takes the first initiative to conduct a systematic study on the 14 FHE accelerators -- cuHE/cuFHE, nuFHE, HEAT, HEAX, HEXL, HEXL-FPGA, 100ร—\times, F1, CraterLake, BTS, ARK, Poseidon, FAB and TensorFHE. We first make our observations on the evolution trajectory of these existing FHE accelerators to establish a qualitative connection between them. Then, we perform testbed evaluations of representative open-source FHE accelerators to provide a quantitative comparison on them. Finally, with the insights learned from both qualitative and quantitative studies, we discuss potential directions to inform the future design and implementation for FHE accelerators

    ๊ทผ์‚ฌ ์—ฐ์‚ฐ์— ๋Œ€ํ•œ ๊ณ„์‚ฐ ๊ฒ€์ฆ ์—ฐ๊ตฌ

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ(๋ฐ•์‚ฌ)--์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› :์ž์—ฐ๊ณผํ•™๋Œ€ํ•™ ์ˆ˜๋ฆฌ๊ณผํ•™๋ถ€,2020. 2. ์ฒœ์ •ํฌ.Verifiable Computing (VC) is a complexity-theoretic method to secure the integrity of computations. The need is increasing as more computations are outsourced to untrusted parties, e.g., cloud platforms. Existing techniques, however, have mainly focused on exact computations, but not approximate arithmetic, e.g., floating-point or fixed-point arithmetic. This makes it hard to apply them to certain types of computations (e.g., machine learning, data analysis, and scientific computation) that inherently require approximate arithmetic. In this thesis, we present an efficient interactive proof system for arithmetic circuits with rounding gates that can represent approximate arithmetic. The main idea is to represent the rounding gate into a small sub-circuit, and reuse the machinery of the Goldwasser, Kalai, and Rothblum's protocol (also known as the GKR protocol) and its recent refinements. Specifically, we shift the algebraic structure from a field to a ring to better deal with the notion of ``digits'', and generalize the original GKR protocol over a ring. Then, we represent the rounding operation by a low-degree polynomial over a ring, and develop a novel, optimal circuit construction of an arbitrary polynomial to transform the rounding polynomial to an optimal circuit representation. Moreover, we further optimize the proof generation cost for rounding by employing a Galois ring. We provide experimental results that show the efficiency of our system for approximate arithmetic. For example, our implementation performed two orders of magnitude better than the existing system for a nested 128 x 128 matrix multiplication of depth 12 on the 16-bit fixed-point arithmetic.๊ณ„์‚ฐ๊ฒ€์ฆ ๊ธฐ์ˆ ์€ ๊ณ„์‚ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•œ ๊ณ„์‚ฐ ๋ณต์žก๋„ ์ด๋ก ์  ๋ฐฉ๋ฒ•์ด๋‹ค. ์ตœ๊ทผ ๋งŽ์€ ๊ณ„์‚ฐ์ด ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ๊ณผ ๊ฐ™์€ ์ œ3์ž์—๊ฒŒ ์™ธ์ฃผ๋จ์— ๋”ฐ๋ผ ๊ทธ ํ•„์š”์„ฑ์ด ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ์กด์˜ ๊ณ„์‚ฐ๊ฒ€์ฆ ๊ธฐ์ˆ ์€ ๋น„๊ทผ์‚ฌ ์—ฐ์‚ฐ๋งŒ์„ ๊ณ ๋ คํ–ˆ์„ ๋ฟ, ๊ทผ์‚ฌ ์—ฐ์‚ฐ (๋ถ€๋™ ์†Œ์ˆ˜์  ๋˜๋Š” ๊ณ ์ • ์†Œ์ˆ˜์  ์—ฐ์‚ฐ)์€ ๊ณ ๋ คํ•˜์ง€ ์•Š์•˜๋‹ค. ๋”ฐ๋ผ์„œ ๋ณธ์งˆ์ ์œผ๋กœ ๊ทผ์‚ฌ ์—ฐ์‚ฐ์ด ํ•„์š”ํ•œ ํŠน์ • ์œ ํ˜•์˜ ๊ณ„์‚ฐ (๊ธฐ๊ณ„ ํ•™์Šต, ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ๊ณผํ•™ ๊ณ„์‚ฐ ๋“ฑ)์— ์ ์šฉํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด ๋…ผ๋ฌธ์€ ๋ฐ˜์˜ฌ๋ฆผ ๊ฒŒ์ดํŠธ๋ฅผ ์ˆ˜๋ฐ˜ํ•˜๋Š” ์‚ฐ์ˆ  ํšŒ๋กœ๋ฅผ ์œ„ํ•œ ํšจ์œจ์ ์ธ ๋Œ€ํ™”ํ˜• ์ฆ๋ช… ์‹œ์Šคํ…œ์„ ์ œ์‹œํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์‚ฐ์ˆ  ํšŒ๋กœ๋Š” ๊ทผ์‚ฌ ์—ฐ์‚ฐ์„ ํšจ์œจ์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๊ทผ์‚ฌ ์—ฐ์‚ฐ์— ๋Œ€ํ•œ ํšจ์œจ์ ์ธ ๊ณ„์‚ฐ ๊ฒ€์ฆ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฃผ์š” ์•„์ด๋””์–ด๋Š” ๋ฐ˜์˜ฌ๋ฆผ ๊ฒŒ์ดํŠธ๋ฅผ ์ž‘์€ ํšŒ๋กœ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„, ์—ฌ๊ธฐ์— Goldwasser, Kalai, ๋ฐ Rothblum์˜ ํ”„๋กœํ† ์ฝœ (GKR ํ”„๋กœํ† ์ฝœ)๊ณผ ์ตœ๊ทผ์˜ ๊ฐœ์„ ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ, ๋Œ€์ˆ˜์  ๊ฐ์ฒด๋ฅผ ์œ ํ•œ์ฒด๊ฐ€ ์•„๋‹Œ ``์ˆซ์ž''๋ฅผ ๋ณด๋‹ค ์ž˜ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜์œผ๋กœ ์น˜ํ™˜ํ•œ ํ›„, ํ™˜ ์œ„์—์„œ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ธฐ์กด์˜ GKR ํ”„๋กœํ† ์ฝœ์„ ์ผ๋ฐ˜ํ™”ํ•˜์˜€๋‹ค. ์ดํ›„, ๋ฐ˜์˜ฌ๋ฆผ ์—ฐ์‚ฐ์„ ํ™˜์—์„œ ์ฐจ์ˆ˜๊ฐ€ ๋‚ฎ์€ ๋‹คํ•ญ์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ , ๋‹คํ•ญ์‹ ์—ฐ์‚ฐ์„ ์ตœ์ ์˜ ํšŒ๋กœ ํ‘œํ˜„์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ์ƒˆ๋กญ๊ณ  ์ตœ์ ํ™”๋œ ํšŒ๋กœ ๊ตฌ์„ฑ์„ ๊ฐœ๋ฐœํ•˜์˜€๋‹ค. ๋˜ํ•œ, ๊ฐˆ๋ฃจ์•„ ํ™˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜์˜ฌ๋ฆผ์„ ์œ„ํ•œ ์ฆ๋ช… ์ƒ์„ฑ ๋น„์šฉ์„ ๋”์šฑ ์ตœ์ ํ™”ํ•˜์˜€๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ, ์‹คํ—˜์„ ํ†ตํ•ด ์šฐ๋ฆฌ์˜ ๊ทผ์‚ฌ ์—ฐ์‚ฐ ๊ฒ€์ฆ ์‹œ์Šคํ…œ์˜ ํšจ์œจ์„ฑ์„ ํ™•์ธํ•˜์˜€๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์šฐ๋ฆฌ์˜ ์‹œ์Šคํ…œ์€ ๊ตฌํ˜„ ์‹œ, 16 ๋น„ํŠธ ๊ณ ์ • ์†Œ์ˆ˜์  ์—ฐ์‚ฐ์„ ํ†ตํ•œ ๊นŠ์ด 12์˜ ๋ฐ˜๋ณต๋œ 128 x 128 ํ–‰๋ ฌ ๊ณฑ์…ˆ์˜ ๊ฒ€์ฆ์— ์žˆ์–ด ๊ธฐ์กด ์‹œ์Šคํ…œ๋ณด๋‹ค ์•ฝ 100๋ฐฐ ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋ณด์ธ๋‹ค.1 Introduction 1 1.1 Verifiable Computing 2 1.2 Verifiable Approximate Arithmetic 3 1.2.1 Problem: Verification of Rounding Arithmetic 3 1.2.2 Motivation: Verifiable Machine Learning (AI) 4 1.3 List of Papers 5 2 Preliminaries 6 2.1 Interactive Proof and Argument 6 2.2 Sum-Check Protocol 7 2.3 The GKR Protocol 10 2.4 Notation and Cost Model 14 3 Related Work 15 3.1 Interactive Proofs 15 3.2 (Non-)Interactive Arguments 17 4 Interactive Proof for Rounding Arithmetic 20 4.1 Overview of Our Approach and Result 20 4.2 Interactive Proof over a Ring 26 4.2.1 Sum-Check Protocol over a Ring 27 4.2.2 The GKR Protocol over a Ring 29 4.3 Verifiable Rounding Operation 31 4.3.1 Lowest-Digit-Removal Polynomial over Z_{p^e} 32 4.3.2 Verification of Division-by-p Layer 33 4.4 Delegation of Polynomial Evaluation in Optimal Cost 34 4.4.1 Overview of Our Circuit Construction 35 4.4.2 Our Circuit for Polynomial Evaluation 37 4.4.3 Cost Analysis 40 4.5 Cost Optimization 45 4.5.1 Galois Ring over Z_{p^e} and a Sampling Set 45 4.5.2 Optimization of Prover's Cost for Rounding Layers 47 5 Experimental Results 50 5.1 Experimental Setup 50 5.2 Verifiable Rounding Operation 51 5.2.1 Effectiveness of Optimization via Galois Ring 51 5.2.2 Efficiency of Verifiable Rounding Operation 53 5.3 Comparison to Thaler's Refinement of GKR Protocol 54 5.4 Discussion 57 6 Conclusions 60 6.1 Towards Verifiable AI 61 6.2 Verifiable Cryptographic Computation 62 Abstract (in Korean) 74Docto

    A Unified Framework of Homomorphic Encryption for Multiple Parties with Non-Interactive Setup

    Get PDF
    The standard Homomorphic Encryption (HE) poses an authority issue when multiple parties are involved, as the authority is concentrated solely to whom that owns the (single) secret key. To solve this issue, variants of HE have emerged in the context of multiple parties, resulting in the development of two different lines of HE schemes -- Multi-Party HE (MPHE) and Multi-Key HE (MKHE). MPHE schemes tend to be much more efficient; but require the interaction between parties in the key generation and the set of parties is fixed throughout the entire evaluation. On the other hand, MKHE schemes have poor scaling with the number of parties but allow us to add new parties to the joint computation anytime. In this work, we construct the first MPHE scheme that features a non-interactive key generation. We refactor the evaluation key to be nearly linear, allowing it to be computed by simple summation. As a result, our MPHE allows each party to independently and asynchronously broadcasts its key. In addition, we propose a new HE primitive, called Multi-Group HE (MGHE). Stated informally, an MGHE scheme provides seamless integration between MPHE and MKHE, and combines the best of both these primitives. In an MGHE scheme, a group of parties generates a public key jointly which results in compact ciphertexts and efficient homomorphic operations, similar to MPHE. However, unlike MPHE, it also supports computations on encrypted data under different keys, a property enjoyed by MKHE schemes. We present a construction of MGHE from the BFV scheme and provide a proof-of-concept implementation to demonstrate its concrete performance. Finally, we describe a general approach to construct a multi-party protocol from MGHE. We provide a proof-of-concept implementation of a logistic regression model where our MGHE interpolates between MPHE (where the training is performed) and MKHE (where the inference is performed)
    corecore