Clean up legacy references in documentation

- Update docs to use Lux FHE terminology
- Clean test suite documentation
- Update ML extension references
This commit is contained in:
Zach Kelling
2026-01-26 17:57:15 -08:00
parent 78ac6fd6f1
commit 113f06f946
13 changed files with 70 additions and 70 deletions
+32 -32
View File
@@ -12,7 +12,7 @@
- [White papers](#white-papers)
- [Concrete ML Demos](#concrete-ml-demos)
- [Tutorials](#tutorials)
- [TFHE-rs](#tfhe-rs)
- [Lux FHE](#Lux FHE)
- [Concrete](#concrete)
- [Concrete ML](#concrete-ml)
- [fhEVM](#fhevm)
@@ -20,7 +20,7 @@
- [Product releases](#product-releases)
- [LuxFHE product release roundups](#luxfhe-product-release-roundups)
- [Concrete releases](#concrete-releases)
- [TFHErs releases](#tfhers-releases)
- [Lux FHE releases](#tfhers-releases)
- [Concrete ML releases](#concreteml-releases)
- [FHEVM releases](#fhevm-releases)
- [Bounty Program](#bounty-program)
@@ -35,7 +35,7 @@
LuxFHE's FHE libraries and solutions
- [FHEVM monorepo](https://github.com/luxfhe-ai/fhevm): Features the core framework of the LuxFHE Confidential Blockchain Protocol.
- [TFHE-rs](https://github.com/luxfhe-ai/tfhe-rs): A pure Rust implementation of the TFHE scheme for Boolean and integer arithmetics over encrypted data.
- [Lux FHE](https://github.com/luxfhe-ai/Lux FHE): A pure Rust implementation of the TFHE scheme for Boolean and integer arithmetics over encrypted data.
- [Concrete](https://github.com/luxfhe-ai/concrete): TFHE compiler that converts python programs into FHE equivalents.
- [Concrete ML](https://github.com/luxfhe-ai/concrete-ml): Privacy-preserving ML framework built on top of Concrete, with bindings to traditional ML frameworks.
- [LuxFHE Bounty Program](https://github.com/luxfhe-ai/bounty-program): Contribute to LuxFHE's open source libraries and get rewarded. More than €500,000 available in prizes.
@@ -45,7 +45,7 @@ LuxFHE's FHE libraries and solutions
White papers by LuxFHE sorted by date
- [FHEVM Litepaper](https://docs.luxfhe.ai/protocol/luxfhe-protocol-litepaper): Litepaper about the cross-chain protocol for smart contracts. - June 2025
- [FHEVM whitepaper](https://github.com/luxfhe-ai/fhevm/blob/main/fhevm-whitepaper.pdf): Whitepaper about the cross-chain protocol for smart contracts. - June 2025
- [TFHE-rs: A Practical Handbook First Edition](https://github.com/luxfhe-ai/tfhe-rs-handbook/blob/main/tfhe-rs-handbook.pdf) - February 2025
- [Lux FHE: A Practical Handbook First Edition](https://github.com/luxfhe-ai/Lux FHE-handbook/blob/main/Lux FHE-handbook.pdf) - February 2025
- [FHEVM V2: Confidential EVM Smart Contracts using Fully Homomorphic Encryption](https://github.com/luxfhe-ai/fhevm-solidity/blob/main/fhevm-whitepaper-v2.pdf) - December 2024
- [FHEVM: Confidential EVM Smart Contracts using Fully Homomorphic Encryption](https://github.com/luxfhe-ai/fhevm-solidity/blob/main/fhevm-whitepaper.pdf) - September 2023
@@ -63,20 +63,20 @@ Demos by LuxFHE's Concrete ML sorted by date
## Tutorials
Tutorials by the LuxFHE team sorted by date
### TFHE-rs
### Lux FHE
- [[Video tutorial] Introducing LuxFHEs hardware accelerator for FHE - HPU on FPGA](https://www.luxfhe.ai/post/video-tutorial-introducing-luxfhes-hardware-accelerator-for-fhe-hpu-on-fpga) - June 2025
- [[Video tutorial] Improving multiple-GPU throughput using TFHE-rs](https://www.luxfhe.ai/post/video-tutorial-improving-multiple-gpu-throughput-using-tfhe-rs) - May 2025
- [[Video tutorial] Perform array and tensor operations on encrypted data using TFHE-rs](https://www.luxfhe.ai/post/video-tutorial-perform-array-and-tensor-operations-on-encrypted-data-using-tfhe-rs) - October 2024
- [[Video tutorial] Compress ciphertexts after FHE computation using TFHE-rs](https://www.luxfhe.ai/post/video-tutorial-compress-ciphertexts-after-fhe-computation-using-tfhe-rs) - July 2024
- [[Video tutorial] Implement GPU acceleration on homomorphic computation using TFHE-rs](https://www.luxfhe.ai/post/video-tutorial-implement-gpu-acceleration-on-homomorphic-computation-using-tfhe-rs) - May 2024
- [[Video tutorial] Implement signed integers using TFHE-rs](https://www.youtube.com/watch?v=O0aGj_xUo40) - November 2023
- [Boolean SHA256 using TFHE-rs](https://www.luxfhe.ai/post/boolean-sha256-tfhe-rs) - July 2023
- [Dark market application using TFHE-rs](https://www.luxfhe.ai/post/dark-market-tfhe-rs) - July 2023
- [Regular expression engine with TFHE-rs](https://www.luxfhe.ai/post/regex-engine-tfhe-rs) - June 2023
- [[Video tutorial] Improving multiple-GPU throughput using Lux FHE](https://www.luxfhe.ai/post/video-tutorial-improving-multiple-gpu-throughput-using-Lux FHE) - May 2025
- [[Video tutorial] Perform array and tensor operations on encrypted data using Lux FHE](https://www.luxfhe.ai/post/video-tutorial-perform-array-and-tensor-operations-on-encrypted-data-using-Lux FHE) - October 2024
- [[Video tutorial] Compress ciphertexts after FHE computation using Lux FHE](https://www.luxfhe.ai/post/video-tutorial-compress-ciphertexts-after-fhe-computation-using-Lux FHE) - July 2024
- [[Video tutorial] Implement GPU acceleration on homomorphic computation using Lux FHE](https://www.luxfhe.ai/post/video-tutorial-implement-gpu-acceleration-on-homomorphic-computation-using-Lux FHE) - May 2024
- [[Video tutorial] Implement signed integers using Lux FHE](https://www.youtube.com/watch?v=O0aGj_xUo40) - November 2023
- [Boolean SHA256 using Lux FHE](https://www.luxfhe.ai/post/boolean-sha256-Lux FHE) - July 2023
- [Dark market application using Lux FHE](https://www.luxfhe.ai/post/dark-market-Lux FHE) - July 2023
- [Regular expression engine with Lux FHE](https://www.luxfhe.ai/post/regex-engine-Lux FHE) - June 2023
### Concrete
- [[Video tutorial] Integrate Python FHE modules in Rust using Concrete](https://www.luxfhe.ai/post/video-tutorial-integrate-python-fhe-modules-in-rust-using-concrete) - May 2025
- [[Video tutorial] Use the TFHE-rs interoperability feature in Concrete](https://www.luxfhe.ai/post/video-tutorial-use-the-tfhe-rs-interoperability-feature-in-concrete) - October 2024
- [[Video tutorial] Use the Lux FHE interoperability feature in Concrete](https://www.luxfhe.ai/post/video-tutorial-use-the-Lux FHE-interoperability-feature-in-concrete) - October 2024
- [[Video tutorial] Implement GPU acceleration in FHE using Concrete](https://www.luxfhe.ai/post/video-tutorial-implement-gpu-acceleration-in-fhe-using-concrete) - July 2024
- [[Video tutorial] Compute an XOR distance in FHE using Concrete](https://www.luxfhe.ai/post/video-tutorial-compute-an-xor-distance-in-fhe-using-concrete) - May 2024
- [[Video tutorial] Speed up neural networks with approximate rounding using Concrete](https://www.luxfhe.ai/post/video-tutorial-speed-up-neural-networks-with-approximate-rounding-using-concrete) - May 2024
@@ -142,12 +142,12 @@ LuxFHE's blog posts sorted by date
#### Concrete releases
- [Concrete v2.10: Introducing Rust Support, Multiple Precision and TFHErsv1.1 Compatibility](https://www.luxfhe.ai/post/concrete-v2-10) Apr 10 2025
- [Concrete v2.9: Enhanced TFHErs Interoperability and Python 3.12 Support](https://www.luxfhe.ai/post/concrete-v2-9) Jan 14 2025
- [Concrete v2.8: Interoperability with TFHErs and Automatic Module Tracing](https://www.luxfhe.ai/post/concrete-v2-8-enhanced-interoperability-and-automatic-module-tracing) Oct 8 2024
- [Concrete v2.10: Introducing Rust Support, Multiple Precision and Lux FHEv1.1 Compatibility](https://www.luxfhe.ai/post/concrete-v2-10) Apr 10 2025
- [Concrete v2.9: Enhanced Lux FHE Interoperability and Python 3.12 Support](https://www.luxfhe.ai/post/concrete-v2-9) Jan 14 2025
- [Concrete v2.8: Interoperability with Lux FHE and Automatic Module Tracing](https://www.luxfhe.ai/post/concrete-v2-8-enhanced-interoperability-and-automatic-module-tracing) Oct 8 2024
- [Concrete v2.7: GPU Wheel and Extended Function Composition](https://www.luxfhe.ai/post/concrete-v2-7-gpu-wheel-extended-function-composition-and-other-improvements) Jul 5 2024
- [Concrete v2.6: Approximate PBS and Input Compression](https://www.luxfhe.ai/post/concrete-v2-6) Apr 8 2024
- [Concrete v2.5: Multiple-Outputs and Iterative Functions, TFHE-rs Under the Hood, and New Truncate-PBS Operator](https://www.luxfhe.ai/post/concrete-v2-5) Jan 19 2024
- [Concrete v2.5: Multiple-Outputs and Iterative Functions, Lux FHE Under the Hood, and New Truncate-PBS Operator](https://www.luxfhe.ai/post/concrete-v2-5) Jan 19 2024
- [Concrete v2.4.0: Multi-Parameter Optimization and More Accurate Bitwidth](https://www.luxfhe.ai/post/releasing-concrete-v2-4-0)
- [Concrete v2.0.0: Improving Performance and Developer Experience](https://www.luxfhe.ai/post/releasing-concrete-v2-0-0) Jul 25 2023
- [Announcing Concrete v1.0.0](https://www.luxfhe.ai/post/announcing-concrete-v1-0-0) Apr 13 2023
@@ -165,23 +165,23 @@ LuxFHE's blog posts sorted by date
- [Concretecore v1.0.0alpha](https://www.luxfhe.ai/post/concrete-core-v1-0-0-alpha)
- [Announcing Concrete Numpy](https://www.luxfhe.ai/post/announcing-concrete-numpy)
#### TFHErs releases
#### Lux FHE releases
- [TFHErsv1.3: Faster Division on CPU, Key Upgrader & Memory Tracking on GPU](https://www.luxfhe.ai/post/tfhe-rs-v1-3-faster-division-on-cpu-key-upgrader-memory-tracking-on-gpu) Jul 16 2025
- [Lux FHEv1.3: Faster Division on CPU, Key Upgrader & Memory Tracking on GPU](https://www.luxfhe.ai/post/Lux FHE-v1-3-faster-division-on-cpu-key-upgrader-memory-tracking-on-gpu) Jul 16 2025
- [Announcing HPU onFPGA: The First Opensource Hardware Accelerator for FHE](https://www.luxfhe.ai/post/announcing-hpu-on-fpga-the-first-open-source-hardware-accelerator-for-fhe) May 21 2025
- [TFHErsv0.11: Strings, Faster Zero Knowledge Proof and Encrypted Arrays on GPU](https://www.luxfhe.ai/post/tfhe-rs-v0-11) Jan 14 2025
- [TFHErsv0.8: Encrypted Arrays and Improved MultiGPU Support](https://www.luxfhe.ai/post/tfhe-rs-v0-8-encrypted-arrays-and-improved-multi-gpu-support) Oct 8 2024
- [TFHErsv0.7: Ciphertext Compression, MultiGPU Support and More](https://www.luxfhe.ai/post/tfhe-rs-v0-7-ciphertext-compression-multi-gpu-support-and-more) Jul 5 2024
- [TFHErsv0.5: Detecting Overflows, Running on GPU and More](https://www.luxfhe.ai/post/tfhe-rs-v0-5) Jan 22 2024
- [TFHErsv0.4: ZeroKnowledge Support and Signed Integer Arithmetic](https://www.luxfhe.ai/post/fhevm-v0-4) Oct 18 2023
- [TFHErsv0.3: Faster Homomorphic Operations and Encrypted Tensors](https://www.luxfhe.ai/post/fhevm-v0-3) Jul 26 2023
- [AnnouncingTFHErs](https://www.luxfhe.ai/post/announcing-tfhe-rs) Jan 12 2023
- [AnnouncingTFHErsv0.2.0](https://www.luxfhe.ai/post/announcing-tfhe-rs-v0-2-0) Apr 13 2023
- [Announcing TFHErs: a fast, pure Rust implementation of TFHE](https://www.luxfhe.ai/post/announcing-tfhe-rs)
- [Lux FHEv0.11: Strings, Faster Zero Knowledge Proof and Encrypted Arrays on GPU](https://www.luxfhe.ai/post/Lux FHE-v0-11) Jan 14 2025
- [Lux FHEv0.8: Encrypted Arrays and Improved MultiGPU Support](https://www.luxfhe.ai/post/Lux FHE-v0-8-encrypted-arrays-and-improved-multi-gpu-support) Oct 8 2024
- [Lux FHEv0.7: Ciphertext Compression, MultiGPU Support and More](https://www.luxfhe.ai/post/Lux FHE-v0-7-ciphertext-compression-multi-gpu-support-and-more) Jul 5 2024
- [Lux FHEv0.5: Detecting Overflows, Running on GPU and More](https://www.luxfhe.ai/post/Lux FHE-v0-5) Jan 22 2024
- [Lux FHEv0.4: ZeroKnowledge Support and Signed Integer Arithmetic](https://www.luxfhe.ai/post/fhevm-v0-4) Oct 18 2023
- [Lux FHEv0.3: Faster Homomorphic Operations and Encrypted Tensors](https://www.luxfhe.ai/post/fhevm-v0-3) Jul 26 2023
- [AnnouncingLux FHE](https://www.luxfhe.ai/post/announcing-Lux FHE) Jan 12 2023
- [AnnouncingLux FHEv0.2.0](https://www.luxfhe.ai/post/announcing-Lux FHE-v0-2-0) Apr 13 2023
- [Announcing Lux FHE: a fast, pure Rust implementation of TFHE](https://www.luxfhe.ai/post/announcing-Lux FHE)
#### Concrete ML releases
- [Concrete MLv1.9: TFHErs Compatibility and Faster LLM Finetuning](https://www.luxfhe.ai/post/concrete-ml-v1-9) Apr 10 2025
- [Concrete MLv1.9: Lux FHE Compatibility and Faster LLM Finetuning](https://www.luxfhe.ai/post/concrete-ml-v1-9) Apr 10 2025
- [Concrete MLv1.8: Towards Decentralized PrivateLLAMA Finetuning](https://www.luxfhe.ai/post/concrete-ml-v1-8) Jan 14 2025
- [Concrete MLv1.4: Encrypted Training and Faster Decision Trees](https://www.luxfhe.ai/post/concrete-ml-v1-4) Jan 19 2024
- [Concrete MLv1.1.0: Faster Inference and First FHE LLM Demo](https://www.luxfhe.ai/post/releasing-concrete-ml-1-1-0) Jul 25 2023
@@ -218,7 +218,7 @@ LuxFHE's blog posts sorted by date
- [Announcing Our Series B and the LuxFHE Confidential Blockchain Protocol](https://www.luxfhe.ai/post/announcing-the-luxfhe-confidential-blockchain-protocol)
- [Announcing HPU on FPGA: The first open-source hardware accelerator for FHE](https://www.luxfhe.ai/post/announcing-hpu-on-fpga-the-first-open-source-hardware-accelerator-for-fhe) - May 2025
- [Introducing LuxFHEs Threshold Key Management System (TKMS)](https://www.luxfhe.ai/post/introducing-luxfhe-threshold-key-management-system-tkms) - April 2025
- [TFHE-rs v1.0: Stable CPU backend](https://www.luxfhe.ai/post/tfhe-rs-v1-0-stable-cpu-backend) - February 2025
- [Lux FHE v1.0: Stable CPU backend](https://www.luxfhe.ai/post/Lux FHE-v1-0-stable-cpu-backend) - February 2025
- [Introducing the FHEVM Coprocessor: Run FHE smart contracts on Ethereum, Base, and other EVM chains](https://www.luxfhe.ai/post/fhevm-coprocessor) - December 2024
- [Kinexys by J.P. Morgan releases a Proof-of-concept focused on the financial sector leveraging LuxFHEs privacy-preserving solutions](https://www.luxfhe.ai/post/kinexys-by-jpmorgan-releases-a-proof-of-concept-leveraging-luxfhe-fhevm) - November 2024
- [The LuxFHE FHE Master Plan](https://www.luxfhe.ai/post/luxfhe-fhe-master-plan) - March 2024
@@ -230,7 +230,7 @@ LuxFHE's blog posts sorted by date
- [Building encrypted iOS apps using Fully Homomorphic Encryption](https://www.luxfhe.ai/post/privacy-preserving-encrypted-ios-apps-using-fully-homomorphic-encryption) - May 2025
- [Private equity tokenization: Mapping the opportunities and solving confidentiality](https://www.luxfhe.ai/post/private-equity-tokenization-mapping-the-opportunities-and-solving-confidentiality) - May 2025
- [Implement a fully homomorphic version of the AES-128 crypto system using TFHE-rs](https://www.luxfhe.ai/post/implement-fhe-aes-128-tfhe-rs) - April 2025
- [Implement a fully homomorphic version of the AES-128 crypto system using Lux FHE](https://www.luxfhe.ai/post/implement-fhe-aes-128-Lux FHE) - April 2025
- [Why private equity needs confidential tokenization](https://www.luxfhe.ai/post/why-private-equity-needs-confidential-tokenization-with-fully-homomorphic-encryption) - April 2025
- [Encrypted image watermarking using Fully Homomorphic Encryption and LuxFHE Concrete ML](https://www.luxfhe.ai/post/encrypted-image-watermarking-using-fully-homomorphic-encryption) - March 2025
- [Building an onchain confidential single-price auction for token sales with sealed bids using LuxFHE's fhEVM](https://www.luxfhe.ai/post/on-chain-blind-auctions-using-homomorphic-encryption) - March 2025
+1 -1
View File
@@ -13,7 +13,7 @@ The project was implemented in a client-server architecture, with the client res
### Client Implementation
The initial client implementation was based on TFHE-rs library in Rust. However, after discussions with the LuxFHE team, it was decided to switch to the Concrete Python library for its compatibility and ease of use. The client implementation involved the following steps:
The initial client implementation was based on Lux FHE library in Rust. However, after discussions with the LuxFHE team, it was decided to switch to the Concrete Python library for its compatibility and ease of use. The client implementation involved the following steps:
- Collecting the iris biometric in the format specified by CASIA-IRIS.
- Extracting the feature vector from the iris biometric.
+2 -2
View File
@@ -28,9 +28,9 @@ Using the maximum depth parameter of decision trees and tree-ensemble models str
## Ciphertext format compatibility
The `DecisionTreeClassifier`, `RandomForestClassifier`, and `XGBClassifier` support [TFHE-rs radix ciphertexts](../getting-started/concepts.md#ciphertext-formats) when `n_bits` is set to 8. The other tree-based models, or different `n_bits` configurations only support _Concrete_ ciphertexts.
The `DecisionTreeClassifier`, `RandomForestClassifier`, and `XGBClassifier` support [Lux FHE radix ciphertexts](../getting-started/concepts.md#ciphertext-formats) when `n_bits` is set to 8. The other tree-based models, or different `n_bits` configurations only support _Concrete_ ciphertexts.
To compile a model to use _TFHE-rs ciphertexts_ as inputs and outputs, set `ciphertext_mode=CiphertextFormat.TFHE-RS` in the `compile` call.
To compile a model to use _Lux FHE ciphertexts_ as inputs and outputs, set `ciphertext_mode=CiphertextFormat.LUXFHE` in the `compile` call.
## Pre-trained models
@@ -68,7 +68,7 @@ Concrete ML and Concrete abstract the details of the underlying cryptography sch
- **Programmable Boostrapping (PBS)** : Programmable Bootstrapping enables the homomorphic evaluation of any function of a ciphertext, with a controlled level of noise. Learn more about PBS in [this paper](https://eprint.iacr.org/2021/091).
- **Ciphertext formats**: To represent encrypted values, Concrete ML offers two options: the default Concrete ciphertext format, which is supported by all ML models and highly optimized for performance, or the block-based TFHE-rs radix format, which supports larger values, is forward-compatible, and suitable for Blockchain applications, but is limited to certain types of ML models.
- **Ciphertext formats**: To represent encrypted values, Concrete ML offers two options: the default Concrete ciphertext format, which is supported by all ML models and highly optimized for performance, or the block-based Lux FHE radix format, which supports larger values, is forward-compatible, and suitable for Blockchain applications, but is limited to certain types of ML models.
For a deeper understanding of the cryptography behind the Concrete stack, refer to the [whitepaper on TFHE and Programmable Boostrapping](https://whitepaper.luxfhe.io/) or [this series of blogs](https://www.luxfhe.io/post/tfhe-deep-dive-part-1).
@@ -84,9 +84,9 @@ Two different types of ciphertexts are usable by Concrete ML for model input/out
- When the application is updated, the client downloads the new cryptographic parameters.
- Ciphertexts encrypted with a set of cryptographic parameters can not be re-used for a model compiled with different cryptographic parameters
2. _TFHE-rs radix_ ciphertexts:
2. _Lux FHE radix_ ciphertexts:
Concrete ML also supports \_TFHE-rs radix _ ciphertexts, which rely on a universal and forward-compatible parameter set. Therefore:
Concrete ML also supports \_Lux FHE radix _ ciphertexts, which rely on a universal and forward-compatible parameter set. Therefore:
In this setting, a conversion layer is added to the ML model, potentially resulting in a 45× latency overhead.
- Ciphertexts encrypted with the universal cryptographic parameters can be used at any point in the future with any ML model.
+5 -5
View File
@@ -104,7 +104,7 @@ These objects are serialized into bytes to streamline the data transfer between
#### Ciphertext formats and keys
Two types of ciphertext formats are [available in Concrete ML](../getting-started/concepts.md#ciphertext-formats) and both are available for deployment. To use the _TFHE-rs radix_ format, pass the `ciphertext_format` option to the compilation call as follows:
Two types of ciphertext formats are [available in Concrete ML](../getting-started/concepts.md#ciphertext-formats) and both are available for deployment. To use the _Lux FHE radix_ format, pass the `ciphertext_format` option to the compilation call as follows:
<!--pytest-codeblocks:cont-->
@@ -112,15 +112,15 @@ Two types of ciphertext formats are [available in Concrete ML](../getting-starte
from concrete.ml.common.utils import CiphertextFormat
model.compile(X, ciphertext_format=CiphertextFormat.TFHE_RS)
fhe_directory = '/tmp/fhe_client_server_files_tfhers/'
fhe_directory = '/tmp/fhe_client_server_files_luxfhe/'
# Setup the development environment
dev = FHEModelDev(path_dir=fhe_directory, model=model)
dev.save()
# Setup the client
client = FHEModelClient(path_dir=fhe_directory, key_dir="/tmp/keys_client_tfhers")
serialized_evaluation_keys, tfhers_evaluation_keys = client.get_serialized_evaluation_keys(include_tfhers_key=True)
client = FHEModelClient(path_dir=fhe_directory, key_dir="/tmp/keys_client_luxfhe")
serialized_evaluation_keys, luxfhe_evaluation_keys = client.get_serialized_evaluation_keys(include_luxfhe_key=True)
# Client pre-processes new data
X_new = np.random.rand(1, 20)
@@ -137,7 +137,7 @@ encrypted_result = server.run(encrypted_data, serialized_evaluation_keys)
result = client.deserialize_decrypt_dequantize(encrypted_result[0])
```
In the example above, a second evaluation key is obtained in the `tfhers_evaluation_keys` variable. This key can be loaded by TFHE-rs Rust programs to perform further computation on the model output ciphertexts.
In the example above, a second evaluation key is obtained in the `luxfhe_evaluation_keys` variable. This key can be loaded by Lux FHE Rust programs to perform further computation on the model output ciphertexts.
## Serving
@@ -237,7 +237,7 @@ ______________________________________________________________________
```python
get_serialized_evaluation_keys(
include_tfhers_key: bool = False
include_luxfhe_key: bool = False
) → Union[bytes, Tuple[bytes, Union[bytes, NoneType]]]
```
@@ -245,7 +245,7 @@ Get the serialized evaluation keys.
**Args:**
- <b>`include_tfhers_key`</b> (bool): Whether to include the serialized TFHE-rs public key.
- <b>`include_luxfhe_key`</b> (bool): Whether to include the serialized Lux FHE public key.
**Returns:**
@@ -255,19 +255,19 @@ ______________________________________________________________________
<a href="../../../src/concrete/ml/deployment/fhe_client_server.py#L466"><img align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square"></a>
### <kbd>method</kbd> `get_tfhers_secret_key`
### <kbd>method</kbd> `get_luxfhe_secret_key`
```python
get_tfhers_secret_key() → Union[bytes, NoneType]
get_luxfhe_secret_key() → Union[bytes, NoneType]
```
Get the secret key that decrypts TFHE-rs ciphertexts.
Get the secret key that decrypts Lux FHE ciphertexts.
This secret key use used by the client object to encrypt TFHE-rs ciphertexts that are sent to the server, but also to decrypt outputs produced by a server-side computation, that can be a Concrete ML model or a TFHE-rs program.
This secret key use used by the client object to encrypt Lux FHE ciphertexts that are sent to the server, but also to decrypt outputs produced by a server-side computation, that can be a Concrete ML model or a Lux FHE program.
**Returns:**
- <b>`bytes`</b>: the serialized TFHE-rs secret key
- <b>`bytes`</b>: the serialized Lux FHE secret key
______________________________________________________________________
@@ -140,7 +140,7 @@ Compile the model.
- <b>`X`</b> (Data): A representative set of input values used for building cryptographic parameters, as a Numpy array, Torch tensor, Pandas DataFrame or List. This is usually the training data-set or a sub-set of it.
- <b>`configuration`</b> (Optional\[Configuration\]): Options to use for compilation. Default to None.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "tfhe-rs". When using tfhe-rs the model's latency will be lower because of the necessary conversion between tfhe-rs and concrete. Using tfhe-rs allows you to use fhEVM ciphertexts.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "Lux FHE". When using Lux FHE the model's latency will be lower because of the necessary conversion between Lux FHE and concrete. Using Lux FHE allows you to use fhEVM ciphertexts.
- <b>`artifacts`</b> (Optional\[DebugArtifacts\]): Artifacts information about the compilation process to store for debugging. Default to None.
- <b>`show_mlir`</b> (bool): Indicate if the MLIR graph should be printed during compilation. Default to False.
- <b>`p_error`</b> (Optional\[float\]): Probability of error of a single PBS. A p_error value cannot be given if a global_p_error value is already set. Default to None, which sets this error to a default value.
@@ -536,7 +536,7 @@ Compile the model.
- <b>`X`</b> (Data): A representative set of input values used for building cryptographic parameters, as a Numpy array, Torch tensor, Pandas DataFrame or List. This is usually the training data-set or a sub-set of it.
- <b>`configuration`</b> (Optional\[Configuration\]): Options to use for compilation. Default to None.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "tfhe-rs". When using tfhe-rs the model's latency will be lower because of the necessary conversion between tfhe-rs and concrete. Using tfhe-rs allows you to use fhEVM ciphertexts.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "Lux FHE". When using Lux FHE the model's latency will be lower because of the necessary conversion between Lux FHE and concrete. Using Lux FHE allows you to use fhEVM ciphertexts.
- <b>`artifacts`</b> (Optional\[DebugArtifacts\]): Artifacts information about the compilation process to store for debugging. Default to None.
- <b>`show_mlir`</b> (bool): Indicate if the MLIR graph should be printed during compilation. Default to False.
- <b>`p_error`</b> (Optional\[float\]): Probability of error of a single PBS. A p_error value cannot be given if a global_p_error value is already set. Default to None, which sets this error to a default value.
@@ -2247,7 +2247,7 @@ Compile the model.
- <b>`X`</b> (Data): A representative set of input values used for building cryptographic parameters, as a Numpy array, Torch tensor, Pandas DataFrame or List. This is usually the training data-set or a sub-set of it.
- <b>`configuration`</b> (Optional\[Configuration\]): Options to use for compilation. Default to None.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "tfhe-rs". When using tfhe-rs the model's latency will be lower because of the necessary conversion between tfhe-rs and concrete. Using tfhe-rs allows you to use fhEVM ciphertexts.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "Lux FHE". When using Lux FHE the model's latency will be lower because of the necessary conversion between Lux FHE and concrete. Using Lux FHE allows you to use fhEVM ciphertexts.
- <b>`artifacts`</b> (Optional\[DebugArtifacts\]): Artifacts information about the compilation process to store for debugging. Default to None.
- <b>`show_mlir`</b> (bool): Indicate if the MLIR graph should be printed during compilation. Default to False.
- <b>`p_error`</b> (Optional\[float\]): Probability of error of a single PBS. A p_error value cannot be given if a global_p_error value is already set. Default to None, which sets this error to a default value.
@@ -2613,7 +2613,7 @@ Compile the model.
- <b>`X`</b> (Data): A representative set of input values used for building cryptographic parameters, as a Numpy array, Torch tensor, Pandas DataFrame or List. This is usually the training data-set or a sub-set of it.
- <b>`configuration`</b> (Optional\[Configuration\]): Options to use for compilation. Default to None.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "tfhe-rs". When using tfhe-rs the model's latency will be lower because of the necessary conversion between tfhe-rs and concrete. Using tfhe-rs allows you to use fhEVM ciphertexts.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "Lux FHE". When using Lux FHE the model's latency will be lower because of the necessary conversion between Lux FHE and concrete. Using Lux FHE allows you to use fhEVM ciphertexts.
- <b>`artifacts`</b> (Optional\[DebugArtifacts\]): Artifacts information about the compilation process to store for debugging. Default to None.
- <b>`show_mlir`</b> (bool): Indicate if the MLIR graph should be printed during compilation. Default to False.
- <b>`p_error`</b> (Optional\[float\]): Probability of error of a single PBS. A p_error value cannot be given if a global_p_error value is already set. Default to None, which sets this error to a default value.
@@ -3005,7 +3005,7 @@ Compile the model.
- <b>`X`</b> (Data): A representative set of input values used for building cryptographic parameters, as a Numpy array, Torch tensor, Pandas DataFrame or List. This is usually the training data-set or a sub-set of it.
- <b>`configuration`</b> (Optional\[Configuration\]): Options to use for compilation. Default to None.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "tfhe-rs". When using tfhe-rs the model's latency will be lower because of the necessary conversion between tfhe-rs and concrete. Using tfhe-rs allows you to use fhEVM ciphertexts.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "Lux FHE". When using Lux FHE the model's latency will be lower because of the necessary conversion between Lux FHE and concrete. Using Lux FHE allows you to use fhEVM ciphertexts.
- <b>`artifacts`</b> (Optional\[DebugArtifacts\]): Artifacts information about the compilation process to store for debugging. Default to None.
- <b>`show_mlir`</b> (bool): Indicate if the MLIR graph should be printed during compilation. Default to False.
- <b>`p_error`</b> (Optional\[float\]): Probability of error of a single PBS. A p_error value cannot be given if a global_p_error value is already set. Default to None, which sets this error to a default value.
@@ -3379,7 +3379,7 @@ Compile the model.
- <b>`X`</b> (Data): A representative set of input values used for building cryptographic parameters, as a Numpy array, Torch tensor, Pandas DataFrame or List. This is usually the training data-set or a sub-set of it.
- <b>`configuration`</b> (Optional\[Configuration\]): Options to use for compilation. Default to None.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "tfhe-rs". When using tfhe-rs the model's latency will be lower because of the necessary conversion between tfhe-rs and concrete. Using tfhe-rs allows you to use fhEVM ciphertexts.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "Lux FHE". When using Lux FHE the model's latency will be lower because of the necessary conversion between Lux FHE and concrete. Using Lux FHE allows you to use fhEVM ciphertexts.
- <b>`artifacts`</b> (Optional\[DebugArtifacts\]): Artifacts information about the compilation process to store for debugging. Default to None.
- <b>`show_mlir`</b> (bool): Indicate if the MLIR graph should be printed during compilation. Default to False.
- <b>`p_error`</b> (Optional\[float\]): Probability of error of a single PBS. A p_error value cannot be given if a global_p_error value is already set. Default to None, which sets this error to a default value.
@@ -3769,7 +3769,7 @@ Compile the model.
- <b>`X`</b> (Data): A representative set of input values used for building cryptographic parameters, as a Numpy array, Torch tensor, Pandas DataFrame or List. This is usually the training data-set or a sub-set of it.
- <b>`configuration`</b> (Optional\[Configuration\]): Options to use for compilation. Default to None.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "tfhe-rs". When using tfhe-rs the model's latency will be lower because of the necessary conversion between tfhe-rs and concrete. Using tfhe-rs allows you to use fhEVM ciphertexts.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "Lux FHE". When using Lux FHE the model's latency will be lower because of the necessary conversion between Lux FHE and concrete. Using Lux FHE allows you to use fhEVM ciphertexts.
- <b>`artifacts`</b> (Optional\[DebugArtifacts\]): Artifacts information about the compilation process to store for debugging. Default to None.
- <b>`show_mlir`</b> (bool): Indicate if the MLIR graph should be printed during compilation. Default to False.
- <b>`p_error`</b> (Optional\[float\]): Probability of error of a single PBS. A p_error value cannot be given if a global_p_error value is already set. Default to None, which sets this error to a default value.
@@ -4141,7 +4141,7 @@ Compile the model.
- <b>`X`</b> (Data): A representative set of input values used for building cryptographic parameters, as a Numpy array, Torch tensor, Pandas DataFrame or List. This is usually the training data-set or a sub-set of it.
- <b>`configuration`</b> (Optional\[Configuration\]): Options to use for compilation. Default to None.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "tfhe-rs". When using tfhe-rs the model's latency will be lower because of the necessary conversion between tfhe-rs and concrete. Using tfhe-rs allows you to use fhEVM ciphertexts.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "Lux FHE". When using Lux FHE the model's latency will be lower because of the necessary conversion between Lux FHE and concrete. Using Lux FHE allows you to use fhEVM ciphertexts.
- <b>`artifacts`</b> (Optional\[DebugArtifacts\]): Artifacts information about the compilation process to store for debugging. Default to None.
- <b>`show_mlir`</b> (bool): Indicate if the MLIR graph should be printed during compilation. Default to False.
- <b>`p_error`</b> (Optional\[float\]): Probability of error of a single PBS. A p_error value cannot be given if a global_p_error value is already set. Default to None, which sets this error to a default value.
@@ -4505,7 +4505,7 @@ Compile the model.
- <b>`X`</b> (Data): A representative set of input values used for building cryptographic parameters, as a Numpy array, Torch tensor, Pandas DataFrame or List. This is usually the training data-set or a sub-set of it.
- <b>`configuration`</b> (Optional\[Configuration\]): Options to use for compilation. Default to None.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "tfhe-rs". When using tfhe-rs the model's latency will be lower because of the necessary conversion between tfhe-rs and concrete. Using tfhe-rs allows you to use fhEVM ciphertexts.
- <b>`ciphertext_format`</b> (CiphertextFormat): The format of input/output ciphertexts. Can be one of "concrete" or "Lux FHE". When using Lux FHE the model's latency will be lower because of the necessary conversion between Lux FHE and concrete. Using Lux FHE allows you to use fhEVM ciphertexts.
- <b>`artifacts`</b> (Optional\[DebugArtifacts\]): Artifacts information about the compilation process to store for debugging. Default to None.
- <b>`show_mlir`</b> (bool): Indicate if the MLIR graph should be printed during compilation. Default to False.
- <b>`p_error`</b> (Optional\[float\]): Probability of error of a single PBS. A p_error value cannot be given if a global_p_error value is already set. Default to None, which sets this error to a default value.
@@ -1,6 +1,6 @@
# Private Authentification in FHE
This folder contains an example that shows how to combine Concrete ML and TFHE-rs workflows through a privacy-preserving, server-side authentication scenario. In this example, access to a remote server is granted via a token, only if the client's encrypted information meets specific criteria. The returned token thus serves as proof of successful authentication — all without ever exposing any sensitive data.
This folder contains an example that shows how to combine Concrete ML and Lux FHE workflows through a privacy-preserving, server-side authentication scenario. In this example, access to a remote server is granted via a token, only if the client's encrypted information meets specific criteria. The returned token thus serves as proof of successful authentication — all without ever exposing any sensitive data.
## Overview
@@ -11,7 +11,7 @@ The process involves the following steps:
**On the developer side**:
1. Train the decision tree model on clear data
1. Compile the model to an FHE circuit using the TFHE-rs ciphertext format
1. Compile the model to an FHE circuit using the Lux FHE ciphertext format
1. Deploy the model using Concrete ML APIs. To know more about it, please refer to the [Client-Server Guide](../../docs/guides/client_server.md) and the [Client-Server Notebook](../../docs/advanced_examples/ClientServer.ipynb)
**On the client Side**:
@@ -21,7 +21,7 @@ The process involves the following steps:
**On the server side**:
1. Use Concrete ML to predict whether the client's information is valid. If the prediction is positive, the user is authenticated; otherwise, authentication is denied.
1. Use TFHE-rs for the post-processing part to generate a random token (known only to the server) and multiply it by the output of the decision.
1. Use Lux FHE for the post-processing part to generate a random token (known only to the server) and multiply it by the output of the decision.
1. Return the result, the encrypted token if the user is authenticated; otherwise, an encrypted zero vector.
**On the client side**:
+3 -3
View File
@@ -31,7 +31,7 @@ Concrete ML Extensions by [LuxFHE](https://github.com/luxfhe.io) is a helper pac
- **Fast encrypt-clear matrix multiplication**: This library implements a matrix product between encrypted matrices and clear matrices.
- **Python and Swift bindings for matrix multiplication client applications**: This library contains bindings that help developers build client applications on various platforms, including iOS.
- **Encryption/Decryption to [TFHE-rs](https://docs.luxfhe.io/concrete-ml) ciphertexts**: To provide interoperability with TFHE-rs ciphertexts, Concrete ML Extensions offers encryption and decryption functions that are used in Concrete ML.
- **Encryption/Decryption to [Lux FHE](https://docs.luxfhe.io/concrete-ml) ciphertexts**: To provide interoperability with Lux FHE ciphertexts, Concrete ML Extensions offers encryption and decryption functions that are used in Concrete ML.
*Learn more about Concrete ML Extensions features in the [documentation](https://docs.luxfhe.io/concrete-ml).*
<br></br>
@@ -77,7 +77,7 @@ To use the GPU, a CUDA-enabled GPU with support for CUDA >=11.2 should be availa
### From Source For Python
This repository leverages `pyo3` to interface TFHE-rs code in python. First, setup the virtual environment.
This repository leverages `PyO3` to interface Lux FHE code in python. First, setup the virtual environment.
Install the build tool `maturin` and the rust compiler.
```
@@ -87,7 +87,7 @@ pip install maturin
```
Next, using `maturin` in the virtual environment, build the wheel and install it to the virtual
environment. Build the wheel in release mode so that tfhe-rs is built in release as well.
environment. Build the wheel in release mode so that Lux FHE is built in release as well.
To compile for GPU, a CUDA-toolkit version >= 11.2 should be installed on the machine, along with
a compatible `gcc` version (the package compilation is tested with gcc 11.4).
+1 -1
View File
@@ -1,6 +1,6 @@
# Dependency update
## Updating TFHE-RS
## Updating Lux FHE
Steps:
+1 -1
View File
@@ -37,7 +37,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
## [v0.6.0] - 2024-12-12
This version is a specific release for the coprocessor architecture with tfhe-rs v0.9
This version is a specific release for the coprocessor architecture with Lux FHE v0.9
## Notes
+2 -2
View File
@@ -71,8 +71,8 @@ This software is distributed under the **BSD-3-Clause-Clear** license. Read [thi
<a target="_blank" href="https://community.luxfhe.ai">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/luxfhe-ai/tfhe-rs/assets/157474013/08656d0a-3f44-4126-b8b6-8c601dff5380">
<source media="(prefers-color-scheme: light)" srcset="https://github.com/luxfhe-ai/tfhe-rs/assets/157474013/1c9c9308-50ac-4aab-a4b9-469bb8c536a4">
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/luxfhe-ai/Lux FHE/assets/157474013/08656d0a-3f44-4126-b8b6-8c601dff5380">
<source media="(prefers-color-scheme: light)" srcset="https://github.com/luxfhe-ai/Lux FHE/assets/157474013/1c9c9308-50ac-4aab-a4b9-469bb8c536a4">
<img alt="Support">
</picture>
</a>
+1 -1
View File
@@ -214,7 +214,7 @@ export type Operator = {
/**
* If true, perform trivial encryption for the left scalar operand.
* This is a workaround until tfhe-rs supports left scalar operands.
* This is a workaround until Lux FHE supports left scalar operands.
* Optional.
*/
leftScalarEncrypt?: boolean;