Concrete: TFHE Compiler that converts python programs into FHE equivalent
OTHER License
Bot releases are hidden (Show)
Concrete v2.6 introduces support of faster operators (approximate rounding, ternary operator, relu and sign), compression features, extended support of function composition, and as well bug fixes.
Full Changelog: https://github.com/zama-ai/concrete/compare/v2.5.1...v2.6.0-rc2
Published by umut-sahin 9 months ago
return x, y, z
)linalg.generic
in the MANP analysis by @youben11 in https://github.com/zama-ai/concrete/pull/571
concrete-protocol
in compiler and client/server lib by @aPere3 in https://github.com/zama-ai/concrete/pull/493
Full Changelog: https://github.com/zama-ai/concrete/compare/v2.4.0...v2.5.0
Published by youben11 about 1 year ago
Full Changelog: https://github.com/zama-ai/concrete/compare/v2.3.0...v2.4.0
Published by youben11 about 1 year ago
feat(frontend-python): Introduce fhe.hint to allows the end user to specify the operation bit width by @umut-sahin in https://github.com/zama-ai/concrete/pull/542
feat(frontend-python): Improve performance on comparison operators by using multi-precision by @umut-sahin in https://github.com/zama-ai/concrete/pull/549
docs(frontend-python): Improve comparisons tutorial by @umut-sahin in https://github.com/zama-ai/concrete/pull/556
feat(compiler): Add to the compiler feedback the estimated memory footprint per location by @youben11 in https://github.com/zama-ai/concrete/pull/538
feat(compiler): Expose more compilation options to the python bindings by @youben11 in https://github.com/zama-ai/concrete/pull/552
feat(optimizer): Improve optimization of levelled only circuit by removing the power of two constraint on lwe size by @rudy-6-4 in https://github.com/zama-ai/concrete/pull/541
fix(compiler): Fixing the lowering of fhe.zero to tfhe with crt encoding by @youben11 in https://github.com/zama-ai/concrete/pull/548
fix(optimizer): Fixing woppbs cost model by @rudy-6-4 in https://github.com/zama-ai/concrete/pull/540
fix(compiler): Disable high error warning when an explicit global_p_error is set by @rudy-6-4 in https://github.com/zama-ai/concrete/pull/511
fix(compiler): do not optimize llvm twice by @rudy-6-4 in https://github.com/zama-ai/concrete/pull/502
feat(compiler): Allow arbitrary integer bit width of the apply lookup table operator by @aPere3 in https://github.com/zama-ai/concrete/pull/554
Full Changelog: https://github.com/zama-ai/concrete/compare/v2.2.0...v2.3.0
Published by BourgerieQuentin about 1 year ago
Full Changelog: https://github.com/zama-ai/concrete/compare/v2.1.0...v2.2.0
Published by youben11 about 1 year ago
Concrete v2.1.0 brings some important fixes, along with a couple of features improving its usability
Full Changelog: https://github.com/zama-ai/concrete/compare/v2.0.0...v2.1.0
Published by BourgerieQuentin about 1 year ago
Concrete v2.0.0 brings significant enhancements and new features, along with a few minor yet essential changes
⚠️ BREAKING ⚠️ to upgrade from concrete-python v1 to v2 please see the Upgrading notes.
You can read more about it in the release blog post
Published by youben11 over 1 year ago
First public release of Concrete TFHE Compiler.
⚠️ BREAKING ⚠️
All versions prior to v1 refers to the Rust implementation of TFHE, now available in TFHE-rs.
For users of concrete-numpy
see the Upgrading notes to see how you should update your code to make it work with concrete-python
.
Docker Image: zamafhe/concrete-python:v1.0.0
PyPI Package: https://pypi.org/project/concrete-python/1.0.0/
(compared to concrete-numpy v0.11.1)
concrete.numpy
namespace is renamed to concrete.fhe
concrete.onnx
namespace is moved to concrete.fhe
simulate
method.dataflow_parallelize=True
configuration option on Linux.Published by tmontaigu about 2 years ago
Published by tmontaigu about 2 years ago
_parallelized
function of ServerKey
)_parallelized
function of ServerKey
)Ciphertext
struct into two structs RadixCiphertext
and CrtCiphertex
.RadixClientKey
and CrtClientKey
(The more general ClientKey
still exist)Published by tmontaigu about 2 years ago
Published by tmontaigu about 2 years ago
Replaced fftw with concrete-fft
Updated concrete-boolean dependency to 0.2.0
Updated concrete-shortint dependency to 0.1.0
Updated concrete-integer dependency to 0.1.0
Published by agnesLeroy over 2 years ago
serde
becomes an optional dependencycleartext_vector_encoding_unchecked
name is fixed (the vector
word was missing in the name)fuse_sub_lwe_ciphertext
, discard_sub_lwe_ciphertext
, fuse_add_lwe_ciphertext_vector
, discard_add_lwe_ciphertext_vector
, fuse_sub_lwe_ciphertext_plaintext
, discard_sub_lwe_ciphertext_plaintext
, fuse_sub_lwe_ciphertext_vector
, discard_sub_lwe_ciphertext_vector
engines in CoreEngine
CoreEngine
CoreEngine
CoreEngine
GlweCiphertextTrivialEncryptionEngine
and GlweCiphertextTrivialDecryptionEngine
traits and their implementation in CoreEngine
GlweCiphertextVectorTrivialEncryptionEngine
and GlweCiphertextVectorTrivialDecryptionEngine
traits and their implementation in CoreEngine
LweCiphertextTrivialEncryptionEngine
and LweCiphertextTrivialDecryptionEnginetraits and their implementation in
CoreEngine`LweCiphertextVectorTrivialEncryptionEngine
and LweCiphertextVectorTrivialDecryptionEnginetraits and their implementation in
CoreEngine`CoreEngine
CoreEngine
bincode
is removedconcrete-core
operators is added. This fixture allows to sample and test any implementation of an engine trait.CoreEngine
implementation of the LweCiphertextDiscardingDecryptionEngine
contained a bug. The decryption was added to the output, while it is supposed to be a discarding operation.Published by agnesLeroy over 2 years ago
estimate_modulus_switching_noise_with_binary_key
: the formula was outputting a variance scaled on the ciphertext modulus after the modulus switch, but for consistency between formulas it was changed to return a variance scaled on the ciphertext modulus before the modulus switching.Published by agnesLeroy over 2 years ago
serde
becomes an optional dependencyPolynomialSizeLog
, LutCountLog
and ModulusSwitchOffset
addedPublished by aPere3 over 2 years ago
concrete-core
. This new API allows different backends (which use different hardwares or acceleration libraries) to collaborate in the same code-base. The concrete scheme was completely specified in a specification
module, using an collection of traits. A backend implementing a part of this specification was added in the backends
module, under the name of core
.concrete-core
supports now more sizes for polynomials. The following sizes are now supported: 128, 256, 512, 1024, 2048, 4096, 8192 and 16384.core
backend now exposes functions to retrieve values from a cleartext or a plaintext, or their vector counterparts (these values may be of arbitrary type)CoreEngine
levelCargo.toml
(#84)Check our community update about the release here.
Published by aPere3 over 2 years ago
Cargo.toml
(#84)Published by aPere3 over 2 years ago
concrete-core
architecture (#70)Cargo.toml
(#84)Published by aPere3 almost 3 years ago
LWEBSK
now implements Serialize
and Deserialize
.Cargo.toml
(#84)concrete-core
, concrete-npe
, concrete-npe
(#84)Published by damienligier about 3 years ago
Add a new crate implementing homomorphic logic gates was added to the ecosystem.
Algorithms come from TFHE's gate bootstrapping. There are two different types of keys: ClientKey
which is a private key and ServerKey
which is a public key used for computing homomorphic algorithms on a server. The ClientKey
is used to encrypt and decrypt bits. It is possible to compute AND, OR, NAND, XOR, XNOR, NOR, NOT and MUX gates.