Welcome to OpenFHE - Python’s documentation!
OpenFHE - Python
Fully Homomorphic Encryption (FHE) is a powerful cryptographic primitive that enables performing computations over encrypted data without having access to the secret key. OpenFHE is an open-source FHE library that includes efficient implementations of all common FHE schemes: BFV, BGV, CKKS, DM and CGGI.
openfhe-python is a Python library built as a wrapper for the main capabilities of OpenFHE C++ library. It provides a more user-friendly interface for Python developers,
while keeping the efficiency of C++ FHE operations.
API Reference:
- CryptoContext
- CryptoParams
- Ciphertext
CiphertextCiphertext.Clone()Ciphertext.GetCryptoContext()Ciphertext.GetElements()Ciphertext.GetElementsMutable()Ciphertext.GetEncodingType()Ciphertext.GetLevel()Ciphertext.GetNoiseScaleDeg()Ciphertext.GetSlots()Ciphertext.RemoveElement()Ciphertext.SetElements()Ciphertext.SetElementsMove()Ciphertext.SetLevel()Ciphertext.SetNoiseScaleDeg()Ciphertext.SetSlots()
- Plaintext
PlaintextPlaintext.Decode()Plaintext.Encode()Plaintext.GetCKKSPackedValue()Plaintext.GetCoefPackedValue()Plaintext.GetFormattedValues()Plaintext.GetLength()Plaintext.GetLevel()Plaintext.GetLogError()Plaintext.GetLogPrecision()Plaintext.GetNoiseScaleDeg()Plaintext.GetPackedValue()Plaintext.GetRealPackedValue()Plaintext.GetScalingFactor()Plaintext.GetSchemeID()Plaintext.GetSlots()Plaintext.GetStringValue()Plaintext.HighBound()Plaintext.IsEncoded()Plaintext.LowBound()Plaintext.SetFormat()Plaintext.SetIntVectorValue()Plaintext.SetLength()Plaintext.SetLevel()Plaintext.SetNoiseScaleDeg()Plaintext.SetScalingFactor()Plaintext.SetSlots()Plaintext.SetStringValue()
- Public Key
- Private Key
- KeyPair
- PKE enums
- BinFHEContext
BinFHEContextBinFHEContext.BTKeyGen()BinFHEContext.Bootstrap()BinFHEContext.ClearBTKeys()BinFHEContext.Decrypt()BinFHEContext.Encrypt()BinFHEContext.EvalBinGate()BinFHEContext.EvalConstant()BinFHEContext.EvalDecomp()BinFHEContext.EvalFloor()BinFHEContext.EvalFunc()BinFHEContext.EvalNOT()BinFHEContext.EvalSign()BinFHEContext.GenerateBinFHEContext()BinFHEContext.GenerateLUTviaFunction()BinFHEContext.GetBeta()BinFHEContext.GetBinFHEScheme()BinFHEContext.GetLWEScheme()BinFHEContext.GetMaxPlaintextSpace()BinFHEContext.GetParams()BinFHEContext.GetPublicKey()BinFHEContext.GetRefreshKey()BinFHEContext.GetSwitchKey()BinFHEContext.Getn()BinFHEContext.Getq()BinFHEContext.KeyGen()BinFHEContext.KeyGenN()BinFHEContext.KeyGenPair()BinFHEContext.LoadBinary()BinFHEContext.LoadJSON()BinFHEContext.LoadPortableBinary()BinFHEContext.SaveBinary()BinFHEContext.SaveJSON()BinFHEContext.SavePortableBinary()BinFHEContext.SerializedObjectName()BinFHEContext.SerializedVersion()
- LWECiphertext
- LWEPrivateKey
- BinFHE enums