LogoLogo
WebsiteDocumentationGithubCommunity forum
2.3
2.3
  • What is Concrete?
  • Getting Started
    • Basics of FHE programs
    • Installation
    • Quick Start
    • Compatibility
    • Exactness
    • Performance
    • Terminology and Structure
  • Tutorials
    • Decorator
    • Progressbar
    • Formatting
    • Tagging
    • Extensions
    • Comparisons
    • Table Lookups
    • Rounding
    • Floating Points
    • Multi Precision
    • Multi Parameters
    • Simulation
    • Direct Circuits
  • Application Tutorials
    • Key Value Database
    • SHA-256
  • How To
    • Configure
    • Manage Keys
    • Deploy
    • Reuse Arguments
    • Debug
    • Call FHE circuits from other languages
  • Explanations
    • Frontend fusing
    • Compilation
      • Automatic Crypto Parameters choice
      • MLIR FHE Dialects
        • FHELinalg Dialect
        • FHE Dialect
        • TFHE Dialect
        • Concrete Dialect
        • Tracing Dialect
        • Runtime Dialect
        • SDFG Dialect
    • Security curves
  • Developer
    • Contribute
    • Project layout
    • Compiler backend
      • Adding a new backend
Powered by GitBook
On this page
  • Operation definition
  • Concrete.add_lwe_buffer (::mlir::concretelang::Concrete::AddLweBufferOp)
  • Concrete.add_lwe_tensor (::mlir::concretelang::Concrete::AddLweTensorOp)
  • Concrete.add_plaintext_lwe_buffer (::mlir::concretelang::Concrete::AddPlaintextLweBufferOp)
  • Concrete.add_plaintext_lwe_tensor (::mlir::concretelang::Concrete::AddPlaintextLweTensorOp)
  • Concrete.batched_add_lwe_buffer (::mlir::concretelang::Concrete::BatchedAddLweBufferOp)
  • Concrete.batched_add_lwe_tensor (::mlir::concretelang::Concrete::BatchedAddLweTensorOp)
  • Concrete.batched_add_plaintext_cst_lwe_buffer (::mlir::concretelang::Concrete::BatchedAddPlaintextCstLweBufferOp)
  • Concrete.batched_add_plaintext_cst_lwe_tensor (::mlir::concretelang::Concrete::BatchedAddPlaintextCstLweTensorOp)
  • Concrete.batched_add_plaintext_lwe_buffer (::mlir::concretelang::Concrete::BatchedAddPlaintextLweBufferOp)
  • Concrete.batched_add_plaintext_lwe_tensor (::mlir::concretelang::Concrete::BatchedAddPlaintextLweTensorOp)
  • Concrete.batched_bootstrap_lwe_buffer (::mlir::concretelang::Concrete::BatchedBootstrapLweBufferOp)
  • Concrete.batched_bootstrap_lwe_tensor (::mlir::concretelang::Concrete::BatchedBootstrapLweTensorOp)
  • Concrete.batched_keyswitch_lwe_buffer (::mlir::concretelang::Concrete::BatchedKeySwitchLweBufferOp)
  • Concrete.batched_keyswitch_lwe_tensor (::mlir::concretelang::Concrete::BatchedKeySwitchLweTensorOp)
  • Concrete.batched_mapped_bootstrap_lwe_buffer (::mlir::concretelang::Concrete::BatchedMappedBootstrapLweBufferOp)
  • Concrete.batched_mapped_bootstrap_lwe_tensor (::mlir::concretelang::Concrete::BatchedMappedBootstrapLweTensorOp)
  • Concrete.batched_mul_cleartext_cst_lwe_buffer (::mlir::concretelang::Concrete::BatchedMulCleartextCstLweBufferOp)
  • Concrete.batched_mul_cleartext_cst_lwe_tensor (::mlir::concretelang::Concrete::BatchedMulCleartextCstLweTensorOp)
  • Concrete.batched_mul_cleartext_lwe_buffer (::mlir::concretelang::Concrete::BatchedMulCleartextLweBufferOp)
  • Concrete.batched_mul_cleartext_lwe_tensor (::mlir::concretelang::Concrete::BatchedMulCleartextLweTensorOp)
  • Concrete.batched_negate_lwe_buffer (::mlir::concretelang::Concrete::BatchedNegateLweBufferOp)
  • Concrete.batched_negate_lwe_tensor (::mlir::concretelang::Concrete::BatchedNegateLweTensorOp)
  • Concrete.bootstrap_lwe_buffer (::mlir::concretelang::Concrete::BootstrapLweBufferOp)
  • Concrete.bootstrap_lwe_tensor (::mlir::concretelang::Concrete::BootstrapLweTensorOp)
  • Concrete.encode_expand_lut_for_bootstrap_buffer (::mlir::concretelang::Concrete::EncodeExpandLutForBootstrapBufferOp)
  • Concrete.encode_expand_lut_for_bootstrap_tensor (::mlir::concretelang::Concrete::EncodeExpandLutForBootstrapTensorOp)
  • Concrete.encode_lut_for_crt_woppbs_buffer (::mlir::concretelang::Concrete::EncodeLutForCrtWopPBSBufferOp)
  • Concrete.encode_lut_for_crt_woppbs_tensor (::mlir::concretelang::Concrete::EncodeLutForCrtWopPBSTensorOp)
  • Concrete.encode_plaintext_with_crt_buffer (::mlir::concretelang::Concrete::EncodePlaintextWithCrtBufferOp)
  • Concrete.encode_plaintext_with_crt_tensor (::mlir::concretelang::Concrete::EncodePlaintextWithCrtTensorOp)
  • Concrete.keyswitch_lwe_buffer (::mlir::concretelang::Concrete::KeySwitchLweBufferOp)
  • Concrete.keyswitch_lwe_tensor (::mlir::concretelang::Concrete::KeySwitchLweTensorOp)
  • Concrete.mul_cleartext_lwe_buffer (::mlir::concretelang::Concrete::MulCleartextLweBufferOp)
  • Concrete.mul_cleartext_lwe_tensor (::mlir::concretelang::Concrete::MulCleartextLweTensorOp)
  • Concrete.negate_lwe_buffer (::mlir::concretelang::Concrete::NegateLweBufferOp)
  • Concrete.negate_lwe_tensor (::mlir::concretelang::Concrete::NegateLweTensorOp)
  • Concrete.wop_pbs_crt_lwe_buffer (::mlir::concretelang::Concrete::WopPBSCRTLweBufferOp)
  • Concrete.wop_pbs_crt_lwe_tensor (::mlir::concretelang::Concrete::WopPBSCRTLweTensorOp)
  • Type definition
  • ContextType

Was this helpful?

Export as PDF
  1. Explanations
  2. Compilation
  3. MLIR FHE Dialects

Concrete Dialect

Low Level Fully Homomorphic Encryption dialect A dialect for representation of low level operation on fully homomorphic ciphertext.

Operation definition

Concrete.add_lwe_buffer (::mlir::concretelang::Concrete::AddLweBufferOp)

Returns the sum of 2 lwe ciphertexts

Operands:

Operand
Description

result

1D memref of 64-bit signless integer values

lhs

1D memref of 64-bit signless integer values

rhs

1D memref of 64-bit signless integer values

Concrete.add_lwe_tensor (::mlir::concretelang::Concrete::AddLweTensorOp)

Returns the sum of 2 lwe ciphertexts

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand
Description

lhs

1D tensor of 64-bit signless integer values

rhs

1D tensor of 64-bit signless integer values

Results:

Result
Description

result

1D tensor of 64-bit signless integer values

Concrete.add_plaintext_lwe_buffer (::mlir::concretelang::Concrete::AddPlaintextLweBufferOp)

Returns the sum of a clear integer and an lwe ciphertext

Operands:

Operand
Description

result

1D memref of 64-bit signless integer values

lhs

1D memref of 64-bit signless integer values

rhs

64-bit signless integer

Concrete.add_plaintext_lwe_tensor (::mlir::concretelang::Concrete::AddPlaintextLweTensorOp)

Returns the sum of a clear integer and an lwe ciphertext

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand
Description

lhs

1D tensor of 64-bit signless integer values

rhs

64-bit signless integer

Results:

Result
Description

result

1D tensor of 64-bit signless integer values

Concrete.batched_add_lwe_buffer (::mlir::concretelang::Concrete::BatchedAddLweBufferOp)

Batched version of AddLweBufferOp, which performs the same operation on multiple elements

Operands:

Operand
Description

result

2D memref of 64-bit signless integer values

lhs

2D memref of 64-bit signless integer values

rhs

2D memref of 64-bit signless integer values

Concrete.batched_add_lwe_tensor (::mlir::concretelang::Concrete::BatchedAddLweTensorOp)

Batched version of AddLweTensorOp, which performs the same operation on multiple elements

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand
Description

lhs

2D tensor of 64-bit signless integer values

rhs

2D tensor of 64-bit signless integer values

Results:

Result
Description

result

2D tensor of 64-bit signless integer values

Concrete.batched_add_plaintext_cst_lwe_buffer (::mlir::concretelang::Concrete::BatchedAddPlaintextCstLweBufferOp)

Batched version of AddPlaintextLweBufferOp, which performs the same operation on multiple elements

Operands:

Operand
Description

result

2D memref of 64-bit signless integer values

lhs

2D memref of 64-bit signless integer values

rhs

64-bit signless integer

Concrete.batched_add_plaintext_cst_lwe_tensor (::mlir::concretelang::Concrete::BatchedAddPlaintextCstLweTensorOp)

Batched version of AddPlaintextLweTensorOp, which performs the same operation on multiple elements

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand
Description

lhs

2D tensor of 64-bit signless integer values

rhs

64-bit signless integer

Results:

Result
Description

result

2D tensor of 64-bit signless integer values

Concrete.batched_add_plaintext_lwe_buffer (::mlir::concretelang::Concrete::BatchedAddPlaintextLweBufferOp)

Batched version of AddPlaintextLweBufferOp, which performs the same operation on multiple elements

Operands:

Operand
Description

result

2D memref of 64-bit signless integer values

lhs

2D memref of 64-bit signless integer values

rhs

1D memref of 64-bit signless integer values

Concrete.batched_add_plaintext_lwe_tensor (::mlir::concretelang::Concrete::BatchedAddPlaintextLweTensorOp)

Batched version of AddPlaintextLweTensorOp, which performs the same operation on multiple elements

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand
Description

lhs

2D tensor of 64-bit signless integer values

rhs

1D tensor of 64-bit signless integer values

Results:

Result
Description

result

2D tensor of 64-bit signless integer values

Concrete.batched_bootstrap_lwe_buffer (::mlir::concretelang::Concrete::BatchedBootstrapLweBufferOp)

Batched version of BootstrapLweOp, which performs the same operation on multiple elements

Attributes:

Attribute
MLIR Type
Description

inputLweDim

::mlir::IntegerAttr

32-bit signless integer attribute

polySize

::mlir::IntegerAttr

32-bit signless integer attribute

level

::mlir::IntegerAttr

32-bit signless integer attribute

baseLog

::mlir::IntegerAttr

32-bit signless integer attribute

glweDimension

::mlir::IntegerAttr

32-bit signless integer attribute

bskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

result

2D memref of 64-bit signless integer values

input_ciphertext

2D memref of 64-bit signless integer values

lookup_table

1D memref of 64-bit signless integer values

Concrete.batched_bootstrap_lwe_tensor (::mlir::concretelang::Concrete::BatchedBootstrapLweTensorOp)

Batched version of BootstrapLweOp, which performs the same operation on multiple elements

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

Attribute
MLIR Type
Description

inputLweDim

::mlir::IntegerAttr

32-bit signless integer attribute

polySize

::mlir::IntegerAttr

32-bit signless integer attribute

level

::mlir::IntegerAttr

32-bit signless integer attribute

baseLog

::mlir::IntegerAttr

32-bit signless integer attribute

glweDimension

::mlir::IntegerAttr

32-bit signless integer attribute

bskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

input_ciphertext

2D tensor of 64-bit signless integer values

lookup_table

1D tensor of 64-bit signless integer values

Results:

Result
Description

result

2D tensor of 64-bit signless integer values

Concrete.batched_keyswitch_lwe_buffer (::mlir::concretelang::Concrete::BatchedKeySwitchLweBufferOp)

Batched version of KeySwitchLweOp, which performs the same operation on multiple elements

Attributes:

Attribute
MLIR Type
Description

level

::mlir::IntegerAttr

32-bit signless integer attribute

baseLog

::mlir::IntegerAttr

32-bit signless integer attribute

lwe_dim_in

::mlir::IntegerAttr

32-bit signless integer attribute

lwe_dim_out

::mlir::IntegerAttr

32-bit signless integer attribute

kskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

result

2D memref of 64-bit signless integer values

ciphertext

2D memref of 64-bit signless integer values

Concrete.batched_keyswitch_lwe_tensor (::mlir::concretelang::Concrete::BatchedKeySwitchLweTensorOp)

Batched version of KeySwitchLweOp, which performs the same operation on multiple elements

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

Attribute
MLIR Type
Description

level

::mlir::IntegerAttr

32-bit signless integer attribute

baseLog

::mlir::IntegerAttr

32-bit signless integer attribute

lwe_dim_in

::mlir::IntegerAttr

32-bit signless integer attribute

lwe_dim_out

::mlir::IntegerAttr

32-bit signless integer attribute

kskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

ciphertext

2D tensor of 64-bit signless integer values

Results:

Result
Description

result

2D tensor of 64-bit signless integer values

Concrete.batched_mapped_bootstrap_lwe_buffer (::mlir::concretelang::Concrete::BatchedMappedBootstrapLweBufferOp)

Batched, mapped version of BootstrapLweOp, which performs the same operation on multiple elements

Attributes:

Attribute
MLIR Type
Description

inputLweDim

::mlir::IntegerAttr

32-bit signless integer attribute

polySize

::mlir::IntegerAttr

32-bit signless integer attribute

level

::mlir::IntegerAttr

32-bit signless integer attribute

baseLog

::mlir::IntegerAttr

32-bit signless integer attribute

glweDimension

::mlir::IntegerAttr

32-bit signless integer attribute

bskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

result

2D memref of 64-bit signless integer values

input_ciphertext

2D memref of 64-bit signless integer values

lookup_table_vector

2D memref of 64-bit signless integer values

Concrete.batched_mapped_bootstrap_lwe_tensor (::mlir::concretelang::Concrete::BatchedMappedBootstrapLweTensorOp)

Batched, mapped version of BootstrapLweOp, which performs the same operation on multiple elements

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

Attribute
MLIR Type
Description

inputLweDim

::mlir::IntegerAttr

32-bit signless integer attribute

polySize

::mlir::IntegerAttr

32-bit signless integer attribute

level

::mlir::IntegerAttr

32-bit signless integer attribute

baseLog

::mlir::IntegerAttr

32-bit signless integer attribute

glweDimension

::mlir::IntegerAttr

32-bit signless integer attribute

bskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

input_ciphertext

2D tensor of 64-bit signless integer values

lookup_table_vector

2D tensor of 64-bit signless integer values

Results:

Result
Description

result

2D tensor of 64-bit signless integer values

Concrete.batched_mul_cleartext_cst_lwe_buffer (::mlir::concretelang::Concrete::BatchedMulCleartextCstLweBufferOp)

Batched version of MulCleartextLweBufferOp, which performs the same operation on multiple elements

Operands:

Operand
Description

result

2D memref of 64-bit signless integer values

lhs

2D memref of 64-bit signless integer values

rhs

64-bit signless integer

Concrete.batched_mul_cleartext_cst_lwe_tensor (::mlir::concretelang::Concrete::BatchedMulCleartextCstLweTensorOp)

Batched version of MulCleartextLweTensorOp, which performs the same operation on multiple elements

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand
Description

lhs

2D tensor of 64-bit signless integer values

rhs

64-bit signless integer

Results:

Result
Description

result

2D tensor of 64-bit signless integer values

Concrete.batched_mul_cleartext_lwe_buffer (::mlir::concretelang::Concrete::BatchedMulCleartextLweBufferOp)

Batched version of MulCleartextLweBufferOp, which performs the same operation on multiple elements

Operands:

Operand
Description

result

2D memref of 64-bit signless integer values

lhs

2D memref of 64-bit signless integer values

rhs

1D memref of 64-bit signless integer values

Concrete.batched_mul_cleartext_lwe_tensor (::mlir::concretelang::Concrete::BatchedMulCleartextLweTensorOp)

Batched version of MulCleartextLweTensorOp, which performs the same operation on multiple elements

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand
Description

lhs

2D tensor of 64-bit signless integer values

rhs

1D tensor of 64-bit signless integer values

Results:

Result
Description

result

2D tensor of 64-bit signless integer values

Concrete.batched_negate_lwe_buffer (::mlir::concretelang::Concrete::BatchedNegateLweBufferOp)

Batched version of NegateLweBufferOp, which performs the same operation on multiple elements

Operands:

Operand
Description

result

2D memref of 64-bit signless integer values

ciphertext

2D memref of 64-bit signless integer values

Concrete.batched_negate_lwe_tensor (::mlir::concretelang::Concrete::BatchedNegateLweTensorOp)

Batched version of NegateLweTensorOp, which performs the same operation on multiple elements

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand
Description

ciphertext

2D tensor of 64-bit signless integer values

Results:

Result
Description

result

2D tensor of 64-bit signless integer values

Concrete.bootstrap_lwe_buffer (::mlir::concretelang::Concrete::BootstrapLweBufferOp)

Bootstraps a LWE ciphertext with a GLWE trivial encryption of the lookup table

Attributes:

Attribute
MLIR Type
Description

inputLweDim

::mlir::IntegerAttr

32-bit signless integer attribute

polySize

::mlir::IntegerAttr

32-bit signless integer attribute

level

::mlir::IntegerAttr

32-bit signless integer attribute

baseLog

::mlir::IntegerAttr

32-bit signless integer attribute

glweDimension

::mlir::IntegerAttr

32-bit signless integer attribute

bskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

result

1D memref of 64-bit signless integer values

input_ciphertext

1D memref of 64-bit signless integer values

lookup_table

1D memref of 64-bit signless integer values

Concrete.bootstrap_lwe_tensor (::mlir::concretelang::Concrete::BootstrapLweTensorOp)

Bootstraps an LWE ciphertext with a GLWE trivial encryption of the lookup table

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

Attribute
MLIR Type
Description

inputLweDim

::mlir::IntegerAttr

32-bit signless integer attribute

polySize

::mlir::IntegerAttr

32-bit signless integer attribute

level

::mlir::IntegerAttr

32-bit signless integer attribute

baseLog

::mlir::IntegerAttr

32-bit signless integer attribute

glweDimension

::mlir::IntegerAttr

32-bit signless integer attribute

bskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

input_ciphertext

1D tensor of 64-bit signless integer values

lookup_table

1D tensor of 64-bit signless integer values

Results:

Result
Description

result

1D tensor of 64-bit signless integer values

Concrete.encode_expand_lut_for_bootstrap_buffer (::mlir::concretelang::Concrete::EncodeExpandLutForBootstrapBufferOp)

Encode and expand a lookup table so that it can be used for a bootstrap

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

result

1D memref of 64-bit signless integer values

input_lookup_table

1D memref of 64-bit signless integer values

Concrete.encode_expand_lut_for_bootstrap_tensor (::mlir::concretelang::Concrete::EncodeExpandLutForBootstrapTensorOp)

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

Concrete.encode_lut_for_crt_woppbs_buffer (::mlir::concretelang::Concrete::EncodeLutForCrtWopPBSBufferOp)

Encode and expand a lookup table so that it can be used for a crt wop pbs

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

result

2D memref of 64-bit signless integer values

input_lookup_table

1D memref of 64-bit signless integer values

Concrete.encode_lut_for_crt_woppbs_tensor (::mlir::concretelang::Concrete::EncodeLutForCrtWopPBSTensorOp)

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

Concrete.encode_plaintext_with_crt_buffer (::mlir::concretelang::Concrete::EncodePlaintextWithCrtBufferOp)

Encodes a plaintext by decomposing it on a crt basis

Attributes:

Attribute
MLIR Type
Description

mods

::mlir::ArrayAttr

64-bit integer array attribute

modsProd

::mlir::IntegerAttr

64-bit signless integer attribute

Operands:

Operand
Description

result

1D memref of 64-bit signless integer values

input

64-bit signless integer

Concrete.encode_plaintext_with_crt_tensor (::mlir::concretelang::Concrete::EncodePlaintextWithCrtTensorOp)

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

Concrete.keyswitch_lwe_buffer (::mlir::concretelang::Concrete::KeySwitchLweBufferOp)

Performs a keyswitching operation on an LWE ciphertext

Attributes:

Attribute
MLIR Type
Description

level

::mlir::IntegerAttr

32-bit signless integer attribute

baseLog

::mlir::IntegerAttr

32-bit signless integer attribute

lwe_dim_in

::mlir::IntegerAttr

32-bit signless integer attribute

lwe_dim_out

::mlir::IntegerAttr

32-bit signless integer attribute

kskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

result

1D memref of 64-bit signless integer values

ciphertext

1D memref of 64-bit signless integer values

Concrete.keyswitch_lwe_tensor (::mlir::concretelang::Concrete::KeySwitchLweTensorOp)

Performs a keyswitching operation on an LWE ciphertext

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

Attribute
MLIR Type
Description

level

::mlir::IntegerAttr

32-bit signless integer attribute

baseLog

::mlir::IntegerAttr

32-bit signless integer attribute

lwe_dim_in

::mlir::IntegerAttr

32-bit signless integer attribute

lwe_dim_out

::mlir::IntegerAttr

32-bit signless integer attribute

kskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

ciphertext

1D tensor of 64-bit signless integer values

Results:

Result
Description

result

1D tensor of 64-bit signless integer values

Concrete.mul_cleartext_lwe_buffer (::mlir::concretelang::Concrete::MulCleartextLweBufferOp)

Returns the product of a clear integer and a lwe ciphertext

Operands:

Operand
Description

result

1D memref of 64-bit signless integer values

lhs

1D memref of 64-bit signless integer values

rhs

64-bit signless integer

Concrete.mul_cleartext_lwe_tensor (::mlir::concretelang::Concrete::MulCleartextLweTensorOp)

Returns the product of a clear integer and a lwe ciphertext

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand
Description

lhs

1D tensor of 64-bit signless integer values

rhs

64-bit signless integer

Results:

Result
Description

result

1D tensor of 64-bit signless integer values

Concrete.negate_lwe_buffer (::mlir::concretelang::Concrete::NegateLweBufferOp)

Negates an lwe ciphertext

Operands:

Operand
Description

result

1D memref of 64-bit signless integer values

ciphertext

1D memref of 64-bit signless integer values

Concrete.negate_lwe_tensor (::mlir::concretelang::Concrete::NegateLweTensorOp)

Negates an lwe ciphertext

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

Operand
Description

ciphertext

1D tensor of 64-bit signless integer values

Results:

Result
Description

result

1D tensor of 64-bit signless integer values

Concrete.wop_pbs_crt_lwe_buffer (::mlir::concretelang::Concrete::WopPBSCRTLweBufferOp)

Attributes:

Attribute
MLIR Type
Description

bootstrapLevel

::mlir::IntegerAttr

32-bit signless integer attribute

bootstrapBaseLog

::mlir::IntegerAttr

32-bit signless integer attribute

keyswitchLevel

::mlir::IntegerAttr

32-bit signless integer attribute

keyswitchBaseLog

::mlir::IntegerAttr

32-bit signless integer attribute

packingKeySwitchInputLweDimension

::mlir::IntegerAttr

32-bit signless integer attribute

packingKeySwitchoutputPolynomialSize

::mlir::IntegerAttr

32-bit signless integer attribute

packingKeySwitchLevel

::mlir::IntegerAttr

32-bit signless integer attribute

packingKeySwitchBaseLog

::mlir::IntegerAttr

32-bit signless integer attribute

circuitBootstrapLevel

::mlir::IntegerAttr

32-bit signless integer attribute

circuitBootstrapBaseLog

::mlir::IntegerAttr

32-bit signless integer attribute

crtDecomposition

::mlir::ArrayAttr

64-bit integer array attribute

kskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

bskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

pkskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

result

2D memref of 64-bit signless integer values

ciphertext

2D memref of 64-bit signless integer values

lookup_table

2D memref of 64-bit signless integer values

Concrete.wop_pbs_crt_lwe_tensor (::mlir::concretelang::Concrete::WopPBSCRTLweTensorOp)

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

Attribute
MLIR Type
Description

bootstrapLevel

::mlir::IntegerAttr

32-bit signless integer attribute

bootstrapBaseLog

::mlir::IntegerAttr

32-bit signless integer attribute

keyswitchLevel

::mlir::IntegerAttr

32-bit signless integer attribute

keyswitchBaseLog

::mlir::IntegerAttr

32-bit signless integer attribute

packingKeySwitchInputLweDimension

::mlir::IntegerAttr

32-bit signless integer attribute

packingKeySwitchoutputPolynomialSize

::mlir::IntegerAttr

32-bit signless integer attribute

packingKeySwitchLevel

::mlir::IntegerAttr

32-bit signless integer attribute

packingKeySwitchBaseLog

::mlir::IntegerAttr

32-bit signless integer attribute

circuitBootstrapLevel

::mlir::IntegerAttr

32-bit signless integer attribute

circuitBootstrapBaseLog

::mlir::IntegerAttr

32-bit signless integer attribute

crtDecomposition

::mlir::ArrayAttr

64-bit integer array attribute

kskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

bskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

pkskIndex

::mlir::IntegerAttr

32-bit signless integer attribute

Operands:

Operand
Description

ciphertext

2D tensor of 64-bit signless integer values

lookupTable

2D tensor of 64-bit signless integer values

Results:

Result
Description

result

2D tensor of 64-bit signless integer values

Type definition

ContextType

A runtime context

Syntax: !Concrete.context

An abstract runtime context to pass contextual value, like public keys, ...

PreviousTFHE DialectNextTracing Dialect

Last updated 1 year ago

Was this helpful?