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
- Lane
Count - 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.
- Swap
Rows - A trait that allows data types to swap_rows. E.g.
Batched - TryFrom
Plaintext - This trait specifies one may attempt to convert a plaintext into this type.
- TryInto
Plaintext - This trait denotes one may attempt to turn this type into a plaintext.
- Type
Name - A trait the gives a name an version to a given type
- Type
Name Instance - A trait the gives a name an version to a given type