From 80bfb4feccc80b2736d506861d9acc58a9b1d572 Mon Sep 17 00:00:00 2001 From: Guspan Tanadi <36249910+guspan-tanadi@users.noreply.github.com> Date: Fri, 21 Mar 2025 21:36:59 +0700 Subject: [PATCH] docs: heading hint note --- CONTRIBUTING.md | 18 ++++++++++-------- README.md | 1 + tfhe/docs/configuration/parallelized_pbs.md | 2 +- .../docs/fhe-computation/compute/parameters.md | 2 +- .../fine-grained-apis/integer/operations.md | 2 +- .../fine-grained-apis/shortint/README.md | 4 ++-- 6 files changed, 16 insertions(+), 13 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fad813790..92731e06b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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 diff --git a/README.md b/README.md index 68e079122..d9bdda034 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/tfhe/docs/configuration/parallelized_pbs.md b/tfhe/docs/configuration/parallelized_pbs.md index 669908587..e41cadbbd 100644 --- a/tfhe/docs/configuration/parallelized_pbs.md +++ b/tfhe/docs/configuration/parallelized_pbs.md @@ -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 diff --git a/tfhe/docs/fhe-computation/compute/parameters.md b/tfhe/docs/fhe-computation/compute/parameters.md index 427a08b3d..3fee9da0f 100644 --- a/tfhe/docs/fhe-computation/compute/parameters.md +++ b/tfhe/docs/fhe-computation/compute/parameters.md @@ -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: diff --git a/tfhe/docs/references/fine-grained-apis/integer/operations.md b/tfhe/docs/references/fine-grained-apis/integer/operations.md index a97dc867d..d60b90f78 100644 --- a/tfhe/docs/references/fine-grained-apis/integer/operations.md +++ b/tfhe/docs/references/fine-grained-apis/integer/operations.md @@ -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. diff --git a/tfhe/docs/references/fine-grained-apis/shortint/README.md b/tfhe/docs/references/fine-grained-apis/shortint/README.md index d81e91cfd..f024c7b3b 100644 --- a/tfhe/docs/references/fine-grained-apis/shortint/README.md +++ b/tfhe/docs/references/fine-grained-apis/shortint/README.md @@ -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.