Skip to content

New functionality in NumPy-like matrix arithmetic library based on OpenFHE #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
yspolyakov opened this issue May 29, 2025 · 0 comments

Comments

@yspolyakov
Copy link

yspolyakov commented May 29, 2025

Project

OpenFHE

Summary

OpenFHE (formerly PALISADE) is a leading open-source C++ fully homomorphic encryption (FHE) library, which supports all common FHE schemes and provides a Python API for developing privacy-preserving ML/AI applications. The main goals of this project are to (1) add support for large matrices and SIMD matrix operations and (2) add recent (very efficient) algorithms for large matrices to the OpenFHE-NumPy library.

submitter

Yuriy Polyakov

project lead

@yspolyakov

Community benefit

This project will enable the ML/data science community to use FHE in their applications. Working with low-level FHE libraries can be challenging for the ML community. Currently only FHE experts can develop ML applications using OpenFHE (the main repositories are https://github.com/openfheorg/openfhe-development and https://github.com/openfheorg/openfhe-python). To learn more about the applications of OpenFHE, please visit https://github.com/openfheorg/awesome-openfhe. The privacy-preserving ML capabilities will enable new biological discoveries and more effective medical treatment, e.g., secure genome-wide association studies described in our prior PNAS paper https://www.pnas.org/doi/10.1073/pnas.1918257117, and the use of privacy-preserving AI in many other application domains.

The OpenFHE team recently developed an initial matrix capability that supports basic small-matrix operations for privacy-preserving applications: https://github.com/openfheorg/openfhe-numpy. This library uses a NumPy-like interface. The main goal of the proposed project is to enable efficient privacy-preserving operations with large matrices by extending OpenFHE-NumPy so that AI applications, such as LLM inference, could potentially be developed in a secure way.

Amount requested

10000

Execution plan

All of the project funds will be dedicated to graduate student programmers, who will work remotely on the project. Currently, we have Tran Ngo (https://sites.google.com/fau.edu/trango/), a PhD student at Florida Atlantic University, who has been developing openfhe-numpy (https://github.com/openfheorg/openfhe-numpy). Several other PhD students also expressed interest in contributing to this project.

We expect to run this project over the summer and fall terms. The project will be split into several milestones:

  1. Extend the current single-ciphertext functionality (currently limited to 256 x 256 matrices) to larger matrices.
  2. Add support for parallel computations over several matrices, i.e., the SIMD capability for matrices.
  3. Implement the recent efficient algorithms for the multiplication of a large plaintext matrix and a large ciphertext matrix proposed in https://eprint.iacr.org/2024/1284 (CRYPTO'24).
  4. Implement the recent efficient algorithms for the multiplication of a large ciphertext matrix and a large ciphertext matrix proposed in https://eprint.iacr.org/2025/448 (EUROCRYPT'25).

Milestones 1, 3, and 4 are important for enabling the privacy-preserving LLM inference using the OpenFHE-NumPy library.

Documentation, examples, unit tests will be prepared for each new capability as part of each milestone.

The implementation will be led by Dr. Yuriy Polyakov (https://ypolyakov.gitlab.io/ and https://www.linkedin.com/in/yuriy-polyakov-796b84a/), who is a co-lead of the OpenFHE project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant