mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-08 03:25:05 -05:00
737 lines
17 KiB
Markdown
737 lines
17 KiB
Markdown
<!-- Autogenerated by mlir-tblgen; don't manually edit -->
|
|
# '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)
|
|
|
|
Batched version of AddGLWEIntOp
|
|
|
|
|
|
Traits: AlwaysSpeculatableImplTrait
|
|
|
|
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
|
|
|
|
Effects: MemoryEffects::Effect{}
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `ciphertext` | A GLWE ciphertext
|
|
| `plaintexts` | 1D tensor of integer values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of A GLWE ciphertext values
|
|
|
|
### `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 |
|
|
| :-----: | ----------- |
|
|
| `ciphertexts` | 1D tensor of A GLWE ciphertext values
|
|
| `plaintext` | integer
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of A GLWE ciphertext values
|
|
|
|
### `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 |
|
|
| :-----: | ----------- |
|
|
| `ciphertexts` | 1D tensor of A GLWE ciphertext values
|
|
| `plaintexts` | 1D tensor of integer values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of A GLWE ciphertext values
|
|
|
|
### `TFHE.batched_add_glwe` (::mlir::concretelang::TFHE::ABatchedAddGLWEOp)
|
|
|
|
Batched version of AddGLWEOp
|
|
|
|
|
|
Traits: AlwaysSpeculatableImplTrait
|
|
|
|
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
|
|
|
|
Effects: MemoryEffects::Effect{}
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `ciphertexts_a` | 1D tensor of A GLWE ciphertext values
|
|
| `ciphertexts_b` | 1D tensor of A GLWE ciphertext values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of A GLWE ciphertext values
|
|
|
|
### `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` | A GLWE ciphertext
|
|
| `b` | integer
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
«unnamed» | A GLWE ciphertext
|
|
|
|
### `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` | A GLWE ciphertext
|
|
| `b` | A GLWE ciphertext
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
«unnamed» | A GLWE ciphertext
|
|
|
|
### `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 |
|
|
| :-------: | :-------: | ----------- |
|
|
| `key` | ::mlir::concretelang::TFHE::GLWEBootstrapKeyAttr | An attribute representing bootstrap key.
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `ciphertexts` | 1D tensor of A GLWE ciphertext values
|
|
| `lookup_table` | 1D tensor of 64-bit signless integer values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of A GLWE ciphertext values
|
|
|
|
### `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 |
|
|
| :-------: | :-------: | ----------- |
|
|
| `key` | ::mlir::concretelang::TFHE::GLWEKeyswitchKeyAttr | An attribute representing keyswitch key.
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `ciphertexts` | 1D tensor of A GLWE ciphertext values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of A GLWE ciphertext values
|
|
|
|
### `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 |
|
|
| :-------: | :-------: | ----------- |
|
|
| `key` | ::mlir::concretelang::TFHE::GLWEBootstrapKeyAttr | An attribute representing bootstrap key.
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `ciphertexts` | 1D tensor of A GLWE ciphertext values
|
|
| `lookup_table` | 2D tensor of 64-bit signless integer values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of A GLWE ciphertext values
|
|
|
|
### `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 |
|
|
| :-----: | ----------- |
|
|
| `ciphertext` | A GLWE ciphertext
|
|
| `cleartexts` | 1D tensor of integer values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of A GLWE ciphertext values
|
|
|
|
### `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 |
|
|
| :-----: | ----------- |
|
|
| `ciphertexts` | 1D tensor of A GLWE ciphertext values
|
|
| `cleartext` | integer
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of A GLWE ciphertext values
|
|
|
|
### `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 |
|
|
| :-----: | ----------- |
|
|
| `ciphertexts` | 1D tensor of A GLWE ciphertext values
|
|
| `cleartexts` | 1D tensor of integer values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of A GLWE ciphertext values
|
|
|
|
### `TFHE.batched_neg_glwe` (::mlir::concretelang::TFHE::BatchedNegGLWEOp)
|
|
|
|
Batched version of NegGLWEOp
|
|
|
|
|
|
Traits: AlwaysSpeculatableImplTrait
|
|
|
|
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
|
|
|
|
Effects: MemoryEffects::Effect{}
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `ciphertexts` | 1D tensor of A GLWE ciphertext values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of A GLWE ciphertext values
|
|
|
|
### `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 |
|
|
| :-------: | :-------: | ----------- |
|
|
| `key` | ::mlir::concretelang::TFHE::GLWEBootstrapKeyAttr | An attribute representing bootstrap key.
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `ciphertext` | A GLWE ciphertext
|
|
| `lookup_table` | 1D tensor of 64-bit signless integer values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | A GLWE ciphertext
|
|
|
|
### `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 |
|
|
| :-------: | :-------: | ----------- |
|
|
| `polySize` | ::mlir::IntegerAttr | 32-bit signless integer attribute
|
|
| `outputBits` | ::mlir::IntegerAttr | 32-bit signless integer attribute
|
|
| `isSigned` | ::mlir::BoolAttr | bool attribute
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `input_lookup_table` | 1D tensor of 64-bit signless integer values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of 64-bit signless integer values
|
|
|
|
### `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 |
|
|
| :-------: | :-------: | ----------- |
|
|
| `crtDecomposition` | ::mlir::ArrayAttr | 64-bit integer array attribute
|
|
| `crtBits` | ::mlir::ArrayAttr | 64-bit integer array attribute
|
|
| `modulusProduct` | ::mlir::IntegerAttr | 32-bit signless integer attribute
|
|
| `isSigned` | ::mlir::BoolAttr | bool attribute
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `input_lookup_table` | 1D tensor of 64-bit signless integer values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 2D tensor of 64-bit signless integer values
|
|
|
|
### `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 |
|
|
| :-------: | :-------: | ----------- |
|
|
| `mods` | ::mlir::ArrayAttr | 64-bit integer array attribute
|
|
| `modsProd` | ::mlir::IntegerAttr | 64-bit signless integer attribute
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `input` | 64-bit signless integer
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | 1D tensor of 64-bit signless integer values
|
|
|
|
### `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 |
|
|
| :-------: | :-------: | ----------- |
|
|
| `key` | ::mlir::concretelang::TFHE::GLWEKeyswitchKeyAttr | An attribute representing keyswitch key.
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `ciphertext` | A GLWE ciphertext
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` | A GLWE ciphertext
|
|
|
|
### `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` | A GLWE ciphertext
|
|
| `b` | integer
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
«unnamed» | A GLWE ciphertext
|
|
|
|
### `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` | A GLWE ciphertext
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
«unnamed» | A GLWE ciphertext
|
|
|
|
### `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 |
|
|
| :-----: | ----------- |
|
|
| `a` | integer
|
|
| `b` | A GLWE ciphertext
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
«unnamed» | A GLWE ciphertext
|
|
|
|
### `TFHE.wop_pbs_glwe` (::mlir::concretelang::TFHE::WopPBSGLWEOp)
|
|
|
|
|
|
|
|
|
|
Traits: AlwaysSpeculatableImplTrait
|
|
|
|
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
|
|
|
|
Effects: MemoryEffects::Effect{}
|
|
|
|
#### Attributes:
|
|
|
|
| Attribute | MLIR Type | Description |
|
|
| :-------: | :-------: | ----------- |
|
|
| `ksk` | ::mlir::concretelang::TFHE::GLWEKeyswitchKeyAttr | An attribute representing keyswitch key.
|
|
| `bsk` | ::mlir::concretelang::TFHE::GLWEBootstrapKeyAttr | An attribute representing bootstrap key.
|
|
| `pksk` | ::mlir::concretelang::TFHE::GLWEPackingKeyswitchKeyAttr | An attribute representing Wop Pbs key.
|
|
| `crtDecomposition` | ::mlir::ArrayAttr | 64-bit integer array attribute
|
|
| `cbsLevels` | ::mlir::IntegerAttr | 32-bit signless integer attribute
|
|
| `cbsBaseLog` | ::mlir::IntegerAttr | 32-bit signless integer attribute
|
|
|
|
#### Operands:
|
|
|
|
| Operand | Description |
|
|
| :-----: | ----------- |
|
|
| `ciphertexts` |
|
|
| `lookupTable` | 2D tensor of 64-bit signless integer values
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `result` |
|
|
|
|
### `TFHE.zero` (::mlir::concretelang::TFHE::ZeroGLWEOp)
|
|
|
|
Returns a trivial encryption of 0
|
|
|
|
|
|
Traits: AlwaysSpeculatableImplTrait
|
|
|
|
Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)
|
|
|
|
Effects: MemoryEffects::Effect{}
|
|
|
|
#### Results:
|
|
|
|
| Result | Description |
|
|
| :----: | ----------- |
|
|
| `out` | A GLWE ciphertext
|
|
|
|
### `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 |
|
|
| :----: | ----------- |
|
|
| `tensor` |
|
|
|
|
## Attribute definition
|
|
|
|
### GLWEBootstrapKeyAttr
|
|
|
|
An attribute representing bootstrap key.
|
|
|
|
Syntax:
|
|
|
|
```
|
|
#TFHE.bsk<
|
|
mlir::concretelang::TFHE::GLWESecretKey, # inputKey
|
|
mlir::concretelang::TFHE::GLWESecretKey, # outputKey
|
|
int, # polySize
|
|
int, # glweDim
|
|
int, # levels
|
|
int, # baseLog
|
|
int # index
|
|
>
|
|
```
|
|
|
|
|
|
#### Parameters:
|
|
|
|
| Parameter | C++ type | Description |
|
|
| :-------: | :-------: | ----------- |
|
|
| inputKey | `mlir::concretelang::TFHE::GLWESecretKey` | |
|
|
| outputKey | `mlir::concretelang::TFHE::GLWESecretKey` | |
|
|
| polySize | `int` | |
|
|
| glweDim | `int` | |
|
|
| levels | `int` | |
|
|
| baseLog | `int` | |
|
|
| index | `int` | |
|
|
|
|
### GLWEKeyswitchKeyAttr
|
|
|
|
An attribute representing keyswitch key.
|
|
|
|
Syntax:
|
|
|
|
```
|
|
#TFHE.ksk<
|
|
mlir::concretelang::TFHE::GLWESecretKey, # inputKey
|
|
mlir::concretelang::TFHE::GLWESecretKey, # outputKey
|
|
int, # levels
|
|
int, # baseLog
|
|
int # index
|
|
>
|
|
```
|
|
|
|
|
|
#### Parameters:
|
|
|
|
| Parameter | C++ type | Description |
|
|
| :-------: | :-------: | ----------- |
|
|
| inputKey | `mlir::concretelang::TFHE::GLWESecretKey` | |
|
|
| outputKey | `mlir::concretelang::TFHE::GLWESecretKey` | |
|
|
| levels | `int` | |
|
|
| baseLog | `int` | |
|
|
| index | `int` | |
|
|
|
|
### GLWEPackingKeyswitchKeyAttr
|
|
|
|
An attribute representing Wop Pbs key.
|
|
|
|
Syntax:
|
|
|
|
```
|
|
#TFHE.pksk<
|
|
mlir::concretelang::TFHE::GLWESecretKey, # inputKey
|
|
mlir::concretelang::TFHE::GLWESecretKey, # outputKey
|
|
int, # outputPolySize
|
|
int, # inputLweDim
|
|
int, # glweDim
|
|
int, # levels
|
|
int, # baseLog
|
|
int # index
|
|
>
|
|
```
|
|
|
|
|
|
#### Parameters:
|
|
|
|
| Parameter | C++ type | Description |
|
|
| :-------: | :-------: | ----------- |
|
|
| inputKey | `mlir::concretelang::TFHE::GLWESecretKey` | |
|
|
| outputKey | `mlir::concretelang::TFHE::GLWESecretKey` | |
|
|
| outputPolySize | `int` | |
|
|
| inputLweDim | `int` | |
|
|
| glweDim | `int` | |
|
|
| levels | `int` | |
|
|
| baseLog | `int` | |
|
|
| index | `int` | |
|
|
|
|
## Type definition
|
|
|
|
### GLWECipherTextType
|
|
|
|
A GLWE ciphertext
|
|
|
|
An GLWE cipher text
|
|
#### Parameters:
|
|
|
|
| Parameter | C++ type | Description |
|
|
| :-------: | :-------: | ----------- |
|
|
| key | `mlir::concretelang::TFHE::GLWESecretKey` | |
|
|
|