In the context of fully homomorphic encryption, what is the difference between bootstrapping and recryption, since both offer the same result which is trying to eliminate/decrease the noise budget.
Description of bootstrapping:
In certain homomorphic encryption schemes, arithmetic oper- ations on ciphertext can be performed using basic gates (AND, OR, NOT, etc) but arbitrary operations could reduce the available noise budget. Bootstrapping is a technique to remove noise by passing a ciphertext and encrypted private key into a circuit that represents the decryption algorithm of a FHE scheme. This results in a new ciphertext that corresponds to the original ciphertext but with no noise. In the TFHE library, after every gate-by-gate operation, bootstrap- ping is applied on the resultant ciphertext and hence any number of arbitrary operations can be performed.
Description of Re-encryption:
Recryption is a technique to re-generate the noise budget of a ci- phertext that was depleted by arbitrary computations. Recryption boosts bounded- depth homomorphism to unbounded-depth homomorphism. This implies that the noisy ciphertext can be converted into a noise-free ciphertext (of the same plaintext) without the secret key. Libraries that do not have recryption functionality implemented, provide no means of converting a noisy ciphertext to a noise-free ciphertext. They therefore limit the number of arbitrary computa- tions on a ciphertext.