TFHE Dialect
High Level Fully Homomorphic Encryption dialect A dialect for representation of high level operation on fully homomorphic ciphertext.
Operation definition
TFHE.batched_add_glwe_cst_int
(::mlir::concretelang::TFHE::ABatchedAddGLWECstIntOp)
TFHE.batched_add_glwe_cst_int
(::mlir::concretelang::TFHE::ABatchedAddGLWECstIntOp)Batched version of AddGLWEIntOp
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| A GLWE ciphertext |
| 1D tensor of integer values |
Results:
Result | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
TFHE.batched_add_glwe_int_cst
(::mlir::concretelang::TFHE::ABatchedAddGLWEIntCstOp)
TFHE.batched_add_glwe_int_cst
(::mlir::concretelang::TFHE::ABatchedAddGLWEIntCstOp)Batched version of AddGLWEIntOp
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
| integer |
Results:
Result | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
TFHE.batched_add_glwe_int
(::mlir::concretelang::TFHE::ABatchedAddGLWEIntOp)
TFHE.batched_add_glwe_int
(::mlir::concretelang::TFHE::ABatchedAddGLWEIntOp)Batched version of AddGLWEIntOp
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
| 1D tensor of integer values |
Results:
Result | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
TFHE.batched_add_glwe
(::mlir::concretelang::TFHE::ABatchedAddGLWEOp)
TFHE.batched_add_glwe
(::mlir::concretelang::TFHE::ABatchedAddGLWEOp)Batched version of AddGLWEOp
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
| 1D tensor of A GLWE ciphertext values |
Results:
Result | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
TFHE.add_glwe_int
(::mlir::concretelang::TFHE::AddGLWEIntOp)
TFHE.add_glwe_int
(::mlir::concretelang::TFHE::AddGLWEIntOp)Returns the sum of a clear integer and an lwe ciphertext
Traits: AlwaysSpeculatableImplTrait
Interfaces: BatchableOpInterface, ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| A GLWE ciphertext |
| integer |
Results:
Result | Description |
---|---|
«unnamed» | A GLWE ciphertext |
TFHE.add_glwe
(::mlir::concretelang::TFHE::AddGLWEOp)
TFHE.add_glwe
(::mlir::concretelang::TFHE::AddGLWEOp)Returns the sum of two lwe ciphertexts
Traits: AlwaysSpeculatableImplTrait
Interfaces: BatchableOpInterface, ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| A GLWE ciphertext |
| A GLWE ciphertext |
Results:
Result | Description |
---|---|
«unnamed» | A GLWE ciphertext |
TFHE.batched_bootstrap_glwe
(::mlir::concretelang::TFHE::BatchedBootstrapGLWEOp)
TFHE.batched_bootstrap_glwe
(::mlir::concretelang::TFHE::BatchedBootstrapGLWEOp)Batched version of KeySwitchGLWEOp
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
| ::mlir::concretelang::TFHE::GLWEBootstrapKeyAttr | An attribute representing bootstrap key. |
Operands:
Operand | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
| 1D tensor of 64-bit signless integer values |
Results:
Result | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
TFHE.batched_keyswitch_glwe
(::mlir::concretelang::TFHE::BatchedKeySwitchGLWEOp)
TFHE.batched_keyswitch_glwe
(::mlir::concretelang::TFHE::BatchedKeySwitchGLWEOp)Batched version of KeySwitchGLWEOp
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
| ::mlir::concretelang::TFHE::GLWEKeyswitchKeyAttr | An attribute representing keyswitch key. |
Operands:
Operand | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
Results:
Result | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
TFHE.batched_mapped_bootstrap_glwe
(::mlir::concretelang::TFHE::BatchedMappedBootstrapGLWEOp)
TFHE.batched_mapped_bootstrap_glwe
(::mlir::concretelang::TFHE::BatchedMappedBootstrapGLWEOp)Batched version of KeySwitchGLWEOp which also batches the lookup table
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
| ::mlir::concretelang::TFHE::GLWEBootstrapKeyAttr | An attribute representing bootstrap key. |
Operands:
Operand | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
| 2D tensor of 64-bit signless integer values |
Results:
Result | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
TFHE.batched_mul_glwe_cst_int
(::mlir::concretelang::TFHE::BatchedMulGLWECstIntOp)
TFHE.batched_mul_glwe_cst_int
(::mlir::concretelang::TFHE::BatchedMulGLWECstIntOp)Batched version of MulGLWEIntOp
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| A GLWE ciphertext |
| 1D tensor of integer values |
Results:
Result | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
TFHE.batched_mul_glwe_int_cst
(::mlir::concretelang::TFHE::BatchedMulGLWEIntCstOp)
TFHE.batched_mul_glwe_int_cst
(::mlir::concretelang::TFHE::BatchedMulGLWEIntCstOp)Batched version of MulGLWEIntOp
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
| integer |
Results:
Result | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
TFHE.batched_mul_glwe_int
(::mlir::concretelang::TFHE::BatchedMulGLWEIntOp)
TFHE.batched_mul_glwe_int
(::mlir::concretelang::TFHE::BatchedMulGLWEIntOp)Batched version of MulGLWEIntOp
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
| 1D tensor of integer values |
Results:
Result | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
TFHE.batched_neg_glwe
(::mlir::concretelang::TFHE::BatchedNegGLWEOp)
TFHE.batched_neg_glwe
(::mlir::concretelang::TFHE::BatchedNegGLWEOp)Batched version of NegGLWEOp
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
Results:
Result | Description |
---|---|
| 1D tensor of A GLWE ciphertext values |
TFHE.bootstrap_glwe
(::mlir::concretelang::TFHE::BootstrapGLWEOp)
TFHE.bootstrap_glwe
(::mlir::concretelang::TFHE::BootstrapGLWEOp)Programmable bootstraping of a GLWE ciphertext with a lookup table
Traits: AlwaysSpeculatableImplTrait
Interfaces: BatchableOpInterface, ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
| ::mlir::concretelang::TFHE::GLWEBootstrapKeyAttr | An attribute representing bootstrap key. |
Operands:
Operand | Description |
---|---|
| A GLWE ciphertext |
| 1D tensor of 64-bit signless integer values |
Results:
Result | Description |
---|---|
| A GLWE ciphertext |
TFHE.encode_expand_lut_for_bootstrap
(::mlir::concretelang::TFHE::EncodeExpandLutForBootstrapOp)
TFHE.encode_expand_lut_for_bootstrap
(::mlir::concretelang::TFHE::EncodeExpandLutForBootstrapOp)Encode and expand a lookup table so that it can be used for a bootstrap.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
| ::mlir::IntegerAttr | 32-bit signless integer attribute |
| ::mlir::IntegerAttr | 32-bit signless integer attribute |
| ::mlir::BoolAttr | bool attribute |
Operands:
Operand | Description |
---|---|
| 1D tensor of 64-bit signless integer values |
Results:
Result | Description |
---|---|
| 1D tensor of 64-bit signless integer values |
TFHE.encode_lut_for_crt_woppbs
(::mlir::concretelang::TFHE::EncodeLutForCrtWopPBSOp)
TFHE.encode_lut_for_crt_woppbs
(::mlir::concretelang::TFHE::EncodeLutForCrtWopPBSOp)Encode and expand a lookup table so that it can be used for a wop pbs.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
| ::mlir::ArrayAttr | 64-bit integer array attribute |
| ::mlir::ArrayAttr | 64-bit integer array attribute |
| ::mlir::IntegerAttr | 32-bit signless integer attribute |
| ::mlir::BoolAttr | bool attribute |
Operands:
Operand | Description |
---|---|
| 1D tensor of 64-bit signless integer values |
Results:
Result | Description |
---|---|
| 2D tensor of 64-bit signless integer values |
TFHE.encode_plaintext_with_crt
(::mlir::concretelang::TFHE::EncodePlaintextWithCrtOp)
TFHE.encode_plaintext_with_crt
(::mlir::concretelang::TFHE::EncodePlaintextWithCrtOp)Encodes a plaintext by decomposing it on a crt basis.
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
| ::mlir::ArrayAttr | 64-bit integer array attribute |
| ::mlir::IntegerAttr | 64-bit signless integer attribute |
Operands:
Operand | Description |
---|---|
| 64-bit signless integer |
Results:
Result | Description |
---|---|
| 1D tensor of 64-bit signless integer values |
TFHE.keyswitch_glwe
(::mlir::concretelang::TFHE::KeySwitchGLWEOp)
TFHE.keyswitch_glwe
(::mlir::concretelang::TFHE::KeySwitchGLWEOp)Change the encryption parameters of a glwe ciphertext by applying a keyswitch
Traits: AlwaysSpeculatableImplTrait
Interfaces: BatchableOpInterface, ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
| ::mlir::concretelang::TFHE::GLWEKeyswitchKeyAttr | An attribute representing keyswitch key. |
Operands:
Operand | Description |
---|---|
| A GLWE ciphertext |
Results:
Result | Description |
---|---|
| A GLWE ciphertext |
TFHE.mul_glwe_int
(::mlir::concretelang::TFHE::MulGLWEIntOp)
TFHE.mul_glwe_int
(::mlir::concretelang::TFHE::MulGLWEIntOp)Returns the product of a clear integer and an lwe ciphertext
Traits: AlwaysSpeculatableImplTrait
Interfaces: BatchableOpInterface, ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| A GLWE ciphertext |
| integer |
Results:
Result | Description |
---|---|
«unnamed» | A GLWE ciphertext |
TFHE.neg_glwe
(::mlir::concretelang::TFHE::NegGLWEOp)
TFHE.neg_glwe
(::mlir::concretelang::TFHE::NegGLWEOp)Negates a glwe ciphertext
Traits: AlwaysSpeculatableImplTrait
Interfaces: BatchableOpInterface, ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| A GLWE ciphertext |
Results:
Result | Description |
---|---|
«unnamed» | A GLWE ciphertext |
TFHE.sub_int_glwe
(::mlir::concretelang::TFHE::SubGLWEIntOp)
TFHE.sub_int_glwe
(::mlir::concretelang::TFHE::SubGLWEIntOp)Substracts an integer and a GLWE ciphertext
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Operands:
Operand | Description |
---|---|
| integer |
| A GLWE ciphertext |
Results:
Result | Description |
---|---|
«unnamed» | A GLWE ciphertext |
TFHE.wop_pbs_glwe
(::mlir::concretelang::TFHE::WopPBSGLWEOp)
TFHE.wop_pbs_glwe
(::mlir::concretelang::TFHE::WopPBSGLWEOp)Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
| ::mlir::concretelang::TFHE::GLWEKeyswitchKeyAttr | An attribute representing keyswitch key. |
| ::mlir::concretelang::TFHE::GLWEBootstrapKeyAttr | An attribute representing bootstrap key. |
| ::mlir::concretelang::TFHE::GLWEPackingKeyswitchKeyAttr | An attribute representing Wop Pbs key. |
| ::mlir::ArrayAttr | 64-bit integer array attribute |
| ::mlir::IntegerAttr | 32-bit signless integer attribute |
| ::mlir::IntegerAttr | 32-bit signless integer attribute |
Operands:
Operand | Description |
---|---|
| |
| 2D tensor of 64-bit signless integer values |
Results:
Result | Description |
---|---|
|
TFHE.zero
(::mlir::concretelang::TFHE::ZeroGLWEOp)
TFHE.zero
(::mlir::concretelang::TFHE::ZeroGLWEOp)Returns a trivial encryption of 0
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Results:
Result | Description |
---|---|
| A GLWE ciphertext |
TFHE.zero_tensor
(::mlir::concretelang::TFHE::ZeroTensorGLWEOp)
TFHE.zero_tensor
(::mlir::concretelang::TFHE::ZeroTensorGLWEOp)Returns a tensor containing trivial encryptions of 0
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{}
Results:
Result | Description |
---|---|
|
Attribute definition
GLWEBootstrapKeyAttr
An attribute representing bootstrap key.
Syntax:
Parameters:
Parameter | C++ type | Description |
---|---|---|
inputKey |
| |
outputKey |
| |
polySize |
| |
glweDim |
| |
levels |
| |
baseLog |
| |
index |
|
GLWEKeyswitchKeyAttr
An attribute representing keyswitch key.
Syntax:
Parameters:
Parameter | C++ type | Description |
---|---|---|
inputKey |
| |
outputKey |
| |
levels |
| |
baseLog |
| |
index |
|
GLWEPackingKeyswitchKeyAttr
An attribute representing Wop Pbs key.
Syntax:
Parameters:
Parameter | C++ type | Description |
---|---|---|
inputKey |
| |
outputKey |
| |
outputPolySize |
| |
innerLweDim |
| |
glweDim |
| |
levels |
| |
baseLog |
| |
index |
|
Type definition
GLWECipherTextType
A GLWE ciphertext
An GLWE cipher text
Parameters:
Parameter | C++ type | Description |
---|---|---|
key |
|
Last updated