mirror of
https://github.com/zama-ai/tfhe-rs.git
synced 2026-01-08 06:13:58 -05:00
docs: heading hint note
This commit is contained in:
committed by
Arthur Meyre
parent
780ec9c3ca
commit
80bfb4fecc
@@ -102,8 +102,7 @@ For example, if you made changes in `tfhe/src/integer/*`, you can test them with
|
||||
## 4. Committing
|
||||
|
||||
**TFHE-rs** follows the conventional commit specification to maintain a consistent commit history, essential for Semantic Versioning ([semver.org](https://semver.org/)).
|
||||
Commit messages are automatically checked in CI and will be rejected if they do not comply, so make sure that you follow the commit conventions detailed on [this page]
|
||||
(https://www.conventionalcommits.org/en/v1.0.0/).
|
||||
Commit messages are automatically checked in CI and will be rejected if they do not comply, so make sure that you follow the commit conventions detailed on [this page](https://www.conventionalcommits.org/en/v1.0.0/).
|
||||
|
||||
## 5. Rebasing
|
||||
|
||||
@@ -145,12 +144,15 @@ sequenceDiagram
|
||||
Reviewer -->> GitHub: Merge if pipeline green
|
||||
```
|
||||
|
||||
> [!Note]
|
||||
>Useful details:
|
||||
>* pipeline is triggered by humans
|
||||
>* review team is located in Paris timezone, pipeline launch will most likely happen during office hours
|
||||
>* direct changes to CI related files are not allowed for external contributors
|
||||
>* run `make pcc` to fix any build errors before pushing commits
|
||||
{% hint style="info" %}
|
||||
|
||||
## Useful details:
|
||||
|
||||
- pipeline is triggered by humans
|
||||
- review team is located in Paris timezone, pipeline launch will most likely happen during office hours
|
||||
- direct changes to CI related files are not allowed for external contributors
|
||||
- run `make pcc` to fix any build errors before pushing commits
|
||||
{% endhint %}
|
||||
|
||||
## 8. Data versioning
|
||||
|
||||
|
||||
@@ -206,6 +206,7 @@ If you want to work within the IND-CPA security model, which is less strict than
|
||||
The default parameters used in the High-Level API with the GPU backend are chosen considering the IND-CPA security model, and are selected with a bootstrapping failure probability fixed at $p_{error} \le 2^{-64}$. In particular, it is assumed that the results of decrypted computations are not shared by the secret key owner with any third parties, as such an action can lead to leakage of the secret encryption key. If you are designing an application where decryptions must be shared, you will need to craft custom encryption parameters which are chosen in consideration of the IND-CPA^D security model [2].
|
||||
|
||||
[1] Bernard, Olivier, et al. "Drifting Towards Better Error Probabilities in Fully Homomorphic Encryption Schemes". https://eprint.iacr.org/2024/1718.pdf
|
||||
|
||||
[2] Li, Baiyu, et al. "Securing approximate homomorphic encryption using differential privacy." Annual International Cryptology Conference. Cham: Springer Nature Switzerland, 2022. https://eprint.iacr.org/2022/816.pdf
|
||||
|
||||
#### Side-channel attacks
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Parallelized PBS
|
||||
|
||||
This document describes the implementation and benefits of parallelized [Programmable Bootstrapping](../getting_started/security_and_cryptography.md) (PBS) in **TFHE-rs**, including code examples for using multi-bit PBS parameters and ensuring deterministic execution.
|
||||
This document describes the implementation and benefits of parallelized [Programmable Bootstrapping](../getting_started/security_and_cryptography.md#programmable-bootstrapping-pbs) (PBS) in **TFHE-rs**, including code examples for using multi-bit PBS parameters and ensuring deterministic execution.
|
||||
|
||||
## Parallelized Programmable Bootstrapping
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ All parameter sets provide at least 128-bits of security according to the [Latti
|
||||
|
||||
## Default parameters
|
||||
Currently, the default parameters use blocks that contain 2 bits of message and 2 bits of carry - a tweaked uniform (TUniform, defined [here](../../getting_started/security_and_cryptography.md#noise)) noise distribution, and have a bootstrapping failure probability $$p_{error} \le 2^{-128}$$.
|
||||
These are particularly suitable for applications that need to be secure in the IND-CPA^D model (see [here](../../getting_started/security_and_cryptography.md) for more details).
|
||||
These are particularly suitable for applications that need to be secure in the IND-CPA^D model (see [here](../../getting_started/security_and_cryptography.md#security) for more details).
|
||||
The GPU backend still uses an error probability smaller than $$2^{-64}$$ by default. Those will be updated soon.
|
||||
|
||||
When using the high-level API of **TFHE-rs**, you can create a key pair using the default recommended set of parameters. For example:
|
||||
|
||||
@@ -11,7 +11,7 @@ In `integer`, the encrypted data is split amongst many ciphertexts encrypted wit
|
||||
This crate implements two ways to represent an integer:
|
||||
|
||||
* the Radix representation
|
||||
* the CRT (Chinese Reminder Theorem) representation
|
||||
* the CRT (Chinese Remainder Theorem) representation
|
||||
|
||||
### Radix-based integers.
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Tutorial
|
||||
|
||||
`tfhe::shortint` is dedicated to the manipulation of small unsigned integers that fit in a single [LWE ciphertext](../../../getting_started/security_and_cryptography.md). The actual size depends on the chosen parameters, but is always smaller than 8 bits. For example, with the `PARAM_MESSAGE_2_CARRY_2_KS_PBS` parameters, you can encode messages of 2 bits inside a `shortint`.
|
||||
`tfhe::shortint` is dedicated to the manipulation of small unsigned integers that fit in a single [LWE ciphertext](../../../getting_started/security_and_cryptography.md#lwe-ciphertexts). The actual size depends on the chosen parameters, but is always smaller than 8 bits. For example, with the `PARAM_MESSAGE_2_CARRY_2_KS_PBS` parameters, you can encode messages of 2 bits inside a `shortint`.
|
||||
|
||||
The [integer](../integer/README.md) and [high-level](../quick_start.md) API leverage shortints to allow homomorphic computations over larger integers.
|
||||
The [integer](../integer/README.md) and [high-level](../quick_start.md#high-level-api) API leverage shortints to allow homomorphic computations over larger integers.
|
||||
|
||||
The steps to homomorphically evaluate a `shortint` circuit are described below.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user