Paper 2024/1089

Juliet: A Configurable Processor for Computing on Encrypted Data

Charles Gouert, University of Delaware
Dimitris Mouris, University of Delaware
Nektarios Georgios Tsoutsos, University of Delaware
Abstract

Fully homomorphic encryption (FHE) has become progressively more viable in the years since its original inception in 2009. At the same time, leveraging state-of-the-art schemes in an efficient way for general computation remains prohibitively difficult for the average programmer. In this work, we introduce a new design for a fully homomorphic processor, dubbed Juliet, to enable faster operations on encrypted data using the state-of-the-art TFHE and cuFHE libraries for both CPU and GPU evaluation. To improve usability, we define an expressive assembly language and instruction set architecture (ISA) judiciously designed for end-to-end encrypted computation. We demonstrate Juliet's capabilities with a broad range of realistic benchmarks including cryptographic algorithms, such as the lightweight ciphers Simon and Speck, as well as logistic regression (LR) inference and matrix multiplication.

Note: The Juliet framework is open-sourced at https://github.com/TrustworthyComputing/Juliet, and the HEJava compiler is available at https://github.com/TrustworthyComputing/HEJava-compiler. This article is published in IEEE Transactions on Computers; the IEEE version is available at https://doi.org/10.1109/TC.2024.3416752.

Metadata
Available format(s)
PDF
Category
Applications
Publication info
Published elsewhere. IEEE Transactions on Computers
DOI
10.1109/TC.2024.3416752
Keywords
Encrypted ProcessorHardware AccelerationHomomorphic EncryptionPrivacy-Preserving ISAPrivate Computation
Contact author(s)
cgouert @ udel edu
jimouris @ udel edu
tsoutsos @ udel edu
History
2024-07-05: approved
2024-07-04: received
See all versions
Short URL
https://ia.cr/2024/1089
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2024/1089,
      author = {Charles Gouert and Dimitris Mouris and Nektarios Georgios Tsoutsos},
      title = {Juliet: A Configurable Processor for Computing on Encrypted Data},
      howpublished = {Cryptology ePrint Archive, Paper 2024/1089},
      year = {2024},
      doi = {10.1109/TC.2024.3416752},
      note = {\url{https://eprint.iacr.org/2024/1089}},
      url = {https://eprint.iacr.org/2024/1089}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.