# The Bootstrapping Algorithm of TFHE

**URL:** <https://openfhe.discourse.group/t/the-bootstrapping-algorithm-of-tfhe/1289>\
**Category:** Library Questions\
**Created:** [May 23, 2024, 7:33am UTC](https://openfhe.discourse.group/t/the-bootstrapping-algorithm-of-tfhe/1289 "2024-05-23T07:33:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![gogo9th](https://avatars.discourse-cdn.com/v4/letter/g/ccd318/32.png) [@gogo9th](https://openfhe.discourse.group/u/gogo9th)\
**Post date:** [May 23, 2024, 7:33am UTC](https://openfhe.discourse.group/t/the-bootstrapping-algorithm-of-tfhe/1289/1 "2024-05-23T07:33:14Z")

</div>

Hi,

I wonder if this paper’s LWE bootstrapping has been applied to OpenFHE’s TFHE bootstrapping:

> **[Amortized Functional Bootstrapping in less than 7ms, with $\\tilde{O}(1)$...](https://eprint.iacr.org/2023/910)**
>
> Amortized bootstrapping offers a way to refresh multiple ciphertexts of a fully homomorphic encryption scheme in parallel more efficiently than refreshing a single ciphertext at a time. Micciancio and Sorrell (ICALP 2018) first proposed the technique...

> **[GitHub - wyunhao/FHEBootstrap](https://github.com/wyunhao/FHEBootstrap)**
>
> Contribute to wyunhao/FHEBootstrap development by creating an account on GitHub.

I was to manually port this algorithm into our application, but someone noted that his algorithm might have already been migrated into OpenFHE. Does anybody know about this?

However, while this paper’s technique is great for expediting batch bootstrapping (more than 30000 ciphertexts), I think the latency of bootstrapping smaller numbers of ciphertexts might be slow.

---

<div class="post-metadata">

**Author:** ![andreea.alexandru](https://yyz1.discourse-cdn.com/flex031/user_avatar/openfhe.discourse.group/andreea.alexandru/32/378_2.png) [@andreea.alexandru](https://openfhe.discourse.group/u/andreea.alexandru)\
**Post date:** [May 23, 2024, 6:26pm UTC](https://openfhe.discourse.group/t/the-bootstrapping-algorithm-of-tfhe/1289/2 "2024-05-23T18:26:09Z")

</div>

Hi, we tested a prototype implementation of the amortized functional bootstrapping method in an experimental branch. This will be integrated in the main branch of OpenFHE at some point in the future, but not at the moment, and we do not currently provide support for this method.

Indeed, this method is advantageous when you want to bootstrap a large number of ciphertexts (close to 32,768) at the same time. If your application deals with significantly fewer ciphertexts, then the already implemented bootstrapping methods in OpenFHE are faster.
