TFHE-rs
WebsiteLibrariesProduct & ServicesDevelopersSupport
0.1
0.1
  • What is TFHE-rs?
  • Getting Started
    • Installation
    • Quick Start
    • Supported Operations
    • Benchmarks
    • Security and Cryptography
  • Boolean
    • Tutorial
    • Operations
    • Cryptographic Parameters
    • Serialization/Deserialization
  • Shortint
    • Tutorial
    • Operations
    • Cryptographic Parameters
    • Serialization/Deserialization
  • C API
    • Tutorial
  • JS on WASM API
    • Tutorial
  • Low-Level Core Cryptography
    • Quick Start
    • Tutorial
  • Developers
    • Contributing
  • API references
    • docs.rs
Powered by GitBook

Libraries

  • TFHE-rs
  • Concrete
  • Concrete ML
  • fhEVM

Developers

  • Blog
  • Documentation
  • Github
  • FHE resources

Company

  • About
  • Introduction to FHE
  • Media
  • Careers
On this page
  • Boolean
  • ShortInt

Was this helpful?

Export as PDF
  1. Getting Started

Supported Operations

PreviousQuick StartNextBenchmarks

Last updated 2 years ago

Was this helpful?

Boolean

The list of supported operations by the homomorphic Booleans is:

Operation Name
type

not

Unary

and

Binary

or

Binary

xor

Binary

nor

Binary

xnor

Binary

cmux

Ternary

A walk-through using homomorphic Booleans can be found .

ShortInt

In TFHE-rs, shortint represents short unsigned integers encoded over a maximum of 8 bits. A complete homomorphic arithmetic is provided, along with the possibility to compute univariate and bi-variate functions. Some operations are only available for integers up to 4 bits. More technical details can be found .

The list of supported operations is:

Operation name
Type

Negation

Unary

Addition

Binary

Subtraction

Binary

Multiplication

Binary

Division*

Binary

Modular reduction

Binary

Comparisons

Binary

Left/Right Shift

Binary

And

Binary

Or

Binary

Xor

Binary

Exact Function Evaluation

Unary/Binary

* The division operation implements a subtlety: since data is encrypted, it might be possible to compute a division by 0. In this case, the division is tweaked so that dividing by 0 returns 0.

A walk-through example can be found , and more examples and explanations can be found .

here
here
here
here