Abstract
This code implements a Fully Homomorphic Encryption (FHE) system, enabling secure computation on encrypted data without requiring decryption. It supports encryption, decryption, and homomorphic operations like matrix multiplication and addition. This code is adaptable for integrating FHE into linear-time invariant (LTI) systems, including digital control and filtering. With proper configuration from subject matter expertise, encrypted system parameters and signals can be manipulated to perform tasks like state updates, output calculations, and convolution in the encrypted domain. By preserving the structure of LTI systems while ensuring privacy, the framework facilitates secure applications in areas such as autonomous systems, signal processing, and industrial automation.
The code initializes the encryption system using parameters provided in the env dictionary. These parameters include the ciphertext modulus, key dimension, plaintext fixed-point scaling factor, and noise bound. During initialization, a secret key is generated, which is essential for encrypting and decrypting data securely. The modular design allows users to tailor these parameters to specific use cases or security requirements.
The code implements multiple cryptographic schemes. The learning with errors (LWE) encryption method encodes cleartext message to their plaintext fixed-point representation then encrypted into ciphertext space with additive noise. This noise ensures the security of the scheme, relying on the
More>>
- Developers:
-
Lois, Robert [1]
- Idaho National Laboratory (INL), Idaho Falls, ID (United States)
- Contributors:
-
Other: Joneckis, Lance ; Shannon, Gregory Project Leader: Lois, Robert
- Contributing Organizations:
-
Sponsor: INL
- Release Date:
- 2025-06-20
- Project Type:
- Closed Source
- Software Type:
- Scientific
- Sponsoring Org.:
-
USDOE Office of Nuclear Energy (NE)Primary Award/Contract Number:AC07-05ID14517
- Code ID:
- 160029
- Research Org.:
- Idaho National Laboratory (INL), Idaho Falls, ID (United States)
- Country of Origin:
- United States
- Keywords:
- Applied cryptography; privacy-preserving technology; homomorphic encryption; digital control; digital signal processing
Citation Formats
Lois, Robert s., Lois, Robert, Joneckis, Lance, and Shannon, Gregory.
Fully Homomorphic Encryption.
Computer Software.
USDOE Office of Nuclear Energy (NE).
20 Jun. 2025.
Web.
doi:10.11578/dc.20250804.4.
Lois, Robert s., Lois, Robert, Joneckis, Lance, & Shannon, Gregory.
(2025, June 20).
Fully Homomorphic Encryption.
[Computer software].
https://doi.org/10.11578/dc.20250804.4.
Lois, Robert s., Lois, Robert, Joneckis, Lance, and Shannon, Gregory.
"Fully Homomorphic Encryption." Computer software.
June 20, 2025.
https://doi.org/10.11578/dc.20250804.4.
@misc{
doecode_160029,
title = {Fully Homomorphic Encryption},
author = {Lois, Robert s. and Lois, Robert and Joneckis, Lance and Shannon, Gregory},
abstractNote = {This code implements a Fully Homomorphic Encryption (FHE) system, enabling secure computation on encrypted data without requiring decryption. It supports encryption, decryption, and homomorphic operations like matrix multiplication and addition. This code is adaptable for integrating FHE into linear-time invariant (LTI) systems, including digital control and filtering. With proper configuration from subject matter expertise, encrypted system parameters and signals can be manipulated to perform tasks like state updates, output calculations, and convolution in the encrypted domain. By preserving the structure of LTI systems while ensuring privacy, the framework facilitates secure applications in areas such as autonomous systems, signal processing, and industrial automation.
The code initializes the encryption system using parameters provided in the env dictionary. These parameters include the ciphertext modulus, key dimension, plaintext fixed-point scaling factor, and noise bound. During initialization, a secret key is generated, which is essential for encrypting and decrypting data securely. The modular design allows users to tailor these parameters to specific use cases or security requirements.
The code implements multiple cryptographic schemes. The learning with errors (LWE) encryption method encodes cleartext message to their plaintext fixed-point representation then encrypted into ciphertext space with additive noise. This noise ensures the security of the scheme, relying on the computational hardness of the LWE problem. The code also includes the Gentry-Sahai-Waters (GSW) scheme based off the LWE problem. Homomorphic matrix multiplication is performed between the LWE and GSW to encrypted data. This is achieved using a decomposition function on the LWE ciphertext during the multiplication operation. For higher-dimensional data, the code includes a method to encrypt entire matrices (GSWMat) using GSW encryption. These encrypted matrices can then be used for homomorphic matrix multiplications (MatMult). The decryption function uses the secret key to recover the original plaintext, removing the added noise and scaling that was originally applied during encryption.},
doi = {10.11578/dc.20250804.4},
url = {https://doi.org/10.11578/dc.20250804.4},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20250804.4}},
year = {2025},
month = {jun}
}