# Operations

Last updated

Last updated

The `TFHE`

library defines the following operations with FHE ciphertexts:

name | function name | symbol | type |
---|---|---|---|

Random encrypted integers that are generated fully on-chain. Currently, implemented as a mockup by using a PRNG in the plain. Not for use in production!NOTE 1:

Overloaded operators `+`

, `-`

, `*`

, `&`

, ... on encrypted integers are supported (using for). As of now, overloaded operators will call the versions without an overflow check.

More information about the supported operations can be found in the function specifications page or in the TFHE-rs docs.

If you find yourself in search of a missing feature, we encourage you to consult our roadmap for upcoming developments. Alternatively, don't hesitate to reach out to us on Discord or visit our community forum.

Add

`TFHE.add`

`+`

Binary

Sub

`TFHE.sub`

`-`

Binary

Mul

`TFHE.mul`

`*`

Binary

Div (plaintext divisor)

`TFHE.div`

Binary

Rem (plaintext divisor)

`TFHE.rem`

Binary

BitAnd

`TFHE.and`

`&`

Binary

BitOr

`TFHE.or`

`|`

Binary

BitXor

`TFHE.xor`

`^`

Binary

Shift Right

`TFHE.shr`

Binary

Shift Left

`TFHE.shl`

Binary

Equal

`TFHE.eq`

Binary

Not equal

`TFHE.ne`

Binary

Greater than or equal

`TFHE.ge`

Binary

Greater than

`TFHE.gt`

Binary

Less than or equal

`TFHE.le`

Binary

Less than

`TFHE.lt`

Binary

Min

`TFHE.min`

Binary

Max

`TFHE.max`

Binary

Neg

`TFHE.neg`

`-`

Unary

Not

`TFHE.not`

`~`

Unary

Cmux

`TFHE.cmux`

Ternary

Decrypt

`TFHE.decrypt()`

Decryption

Reencrypt

`TFHE.reencrypt()`

Reencryption

Optimistic Require

`TFHE.optReq()`

Decryption

Random unsigned int (mockup)

`TFHE.randEuintX()`

Random