Module types

Source
Expand description

This module contains types used when writing and compiling FHE and ZKP programs.

Modules§

bfv
This module contains build-in types you can use as inputs and outputs from FHE programs using the BFV scheme.
intern
This module contains implementation details used to support Sunscreen’s domain specific language under the #[fhe_program] macro.
zkp
Contains types used in creating zero-knowledge proof R1CS circuits.

Structs§

Cipher
Declares a type T as being encrypted in an fhe_program.
Type
A type which represents the fully qualified name and version of a datatype.
Version
SemVer version as defined by https://semver.org.

Traits§

BfvType
Denotes the given type is valid under the BFV scheme.
FheType
Denotes the given rust type is an encoding in an FHE scheme
LaneCount
On Batched types, returns the number of Batched lanes.
NumCiphertexts
Declare how many ciphertexts an FheType decomposes into. The runtime needs this to correctly bundle return values from an Fhe Program.
SwapRows
A trait that allows data types to swap_rows. E.g. Batched
TryFromPlaintext
This trait specifies one may attempt to convert a plaintext into this type.
TryIntoPlaintext
This trait denotes one may attempt to turn this type into a plaintext.
TypeName
A trait the gives a name an version to a given type
TypeNameInstance
A trait the gives a name an version to a given type