Skip to main content

The DESILO FHE Library

Welcome to the DESILO FHE library!

The DESILO FHE library is a homomorphic encryption library that is fast and intuitive. It delivers state-of-the-art performance, maximum accuracy, and versatile usability. Designed to be accessible and efficient for everyone, from beginners unfamiliar with homomorphic encryption to experts developing advanced algorithms.

Built on C++ and CUDA, the DESILO FHE library is optimized for both CPUs and NVIDIA GPUs. It includes a Python wrapper for easy use and seamless integration into existing AI workflows. Additionally, it supports CPU parallelization for environments without GPU access.

Currently, the DESILO FHE library supports real and complex number operations based on the RNS-CKKS scheme, with plans to expand to various integer-based schemes in the future. It provides a powerful solution adaptable to diverse environments and requirements.

Documentation

Please refer to the official documentation for detailed installation instructions, examples, and documentation.

Quickstart

Encrypt / Decrypt

Encryption and decryption can be done with a secret key. You can encrypt and decrypt data as shown below. Note that CKKS is a real-number-based scheme, so a very small error is introduced during encryption and decryption.

from desilofhe import Engine

engine = Engine()

secret_key = engine.create_secret_key()

data = [1, 2, 3]
encrypted = engine.encrypt(data, secret_key)
decrypted = engine.decrypt(encrypted, secret_key)

print(decrypted[:3]) # [1. 2. 3.]

Encryption can also be done with a public key, which is genereated from a secret key.

from desilofhe import Engine

engine = Engine()

secret_key = engine.create_secret_key()
public_key = engine.create_public_key(secret_key)

data = [1, 2, 3]
encrypted = engine.encrypt(data, public_key)
decrypted = engine.decrypt(encrypted, secret_key)

print(decrypted[:3]) # [1. 2. 3.]

Add / Subtract

To add or subtract ciphertext, no additional keys are required beyond the public and secret keys. You can encrypt data separately and then perform addition and subtraction as follows:

from desilofhe import Engine

engine = Engine()

secret_key = engine.create_secret_key()

data1 = [1, 2, 3]
encrypted1 = engine.encrypt(data1, secret_key)

data2 = [4, 5, 6]
encrypted2 = engine.encrypt(data2, secret_key)

added = engine.add(encrypted1, encrypted2)
subtracted = engine.subtract(encrypted1, encrypted2)

decrypted1 = engine.decrypt(added, secret_key)
decrypted2 = engine.decrypt(subtracted, secret_key)

print(decrypted1[:3], decrypted2[:3]) # [5. 7. 9.] [-3. -3. -3.]

Multiply

To multiply ciphertexts, a special key called the relinearization key is required due to the nature of homomorphic encryption. You can encrypt data and perform multiplication as shown below. Note that ciphertexts in homomorphic encryption have a maximum multiplication depth, which will decrease after multiplication.

from desilofhe import Engine

engine = Engine()

secret_key = engine.create_secret_key()
relinearization_key = engine.create_relinearization_key(secret_key)

data1 = [1, 2, 3]
encrypted1 = engine.encrypt(data1, secret_key)

data2 = [4, 5, 6]
encrypted2 = engine.encrypt(data2, secret_key)

multiplied = engine.multiply(encrypted1, encrypted2, relinearization_key)

decrypted = engine.decrypt(multiplied, secret_key)

print(decrypted[:3]) # [~4 ~10 ~18]
print(encrypted1.level, encrypted2.level, multiplied.level) # 7 7 6

Contact

If you have any questions, please contact us at library@desilo.ai.

Metadata

Release files for desilofhe 1.17.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for desilofhe 1.17.0
File Actions
desilofhe-1.17.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for desilofhe-1.17.0-cp314-cp314-musllinux_1_2_x86_64.whl
desilofhe-1.17.0-cp314-cp314-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ x86-64 Details for desilofhe-1.17.0-cp314-cp314-manylinux_2_34_x86_64.whl
desilofhe-1.17.0-cp314-cp314-macosx_11_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 11.0+ x86-64 Details for desilofhe-1.17.0-cp314-cp314-macosx_11_0_x86_64.whl
desilofhe-1.17.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for desilofhe-1.17.0-cp314-cp314-macosx_11_0_arm64.whl
desilofhe-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for desilofhe-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl
desilofhe-1.17.0-cp313-cp313-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ x86-64 Details for desilofhe-1.17.0-cp313-cp313-manylinux_2_34_x86_64.whl
desilofhe-1.17.0-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details for desilofhe-1.17.0-cp313-cp313-macosx_11_0_x86_64.whl
desilofhe-1.17.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for desilofhe-1.17.0-cp313-cp313-macosx_11_0_arm64.whl
desilofhe-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for desilofhe-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl
desilofhe-1.17.0-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details for desilofhe-1.17.0-cp312-cp312-manylinux_2_34_x86_64.whl
desilofhe-1.17.0-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details for desilofhe-1.17.0-cp312-cp312-macosx_11_0_x86_64.whl
desilofhe-1.17.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for desilofhe-1.17.0-cp312-cp312-macosx_11_0_arm64.whl
desilofhe-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for desilofhe-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl
desilofhe-1.17.0-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details for desilofhe-1.17.0-cp311-cp311-manylinux_2_34_x86_64.whl
desilofhe-1.17.0-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details for desilofhe-1.17.0-cp311-cp311-macosx_11_0_x86_64.whl
desilofhe-1.17.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for desilofhe-1.17.0-cp311-cp311-macosx_11_0_arm64.whl
desilofhe-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for desilofhe-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl
desilofhe-1.17.0-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details for desilofhe-1.17.0-cp310-cp310-manylinux_2_34_x86_64.whl
desilofhe-1.17.0-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details for desilofhe-1.17.0-cp310-cp310-macosx_11_0_x86_64.whl
desilofhe-1.17.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for desilofhe-1.17.0-cp310-cp310-macosx_11_0_arm64.whl

Total release size: 23.9 MB

Release files / desilofhe-1.17.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL desilofhe-1.17.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6c97a17faeaff1148340e273bff3ee03b257462d3dde7b8324430af0d8c474b5
BLAKE2b-256 checksum
How to use checksums
b342ecf3f669455e31285ab19c7470760a65eeacf7041a11f98693c38d504999
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp314-cp314-manylinux_2_34_x86_64.whl

Download URL desilofhe-1.17.0-cp314-cp314-manylinux_2_34_x86_64.whl
Size 1.0 MB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
6db9fb719fa52e9558e7d9e7549194e2b2d78a3632c00102a8528b5f835d2f2e
BLAKE2b-256 checksum
How to use checksums
df66db831bcd79918c1ef1e92f2be092a77d1d5c06ec3ea49db2bcac7289bb1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp314-cp314-macosx_11_0_x86_64.whl

Download URL desilofhe-1.17.0-cp314-cp314-macosx_11_0_x86_64.whl
Size 851.4 kB
Tags CPython 3.14 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
ff2baac32ce4868fdc4c9ad205528823ab03536daec56df7af221a5dd06dfd82
BLAKE2b-256 checksum
How to use checksums
41a0ae7216b3fe00efdd898271088f9e62f84a55586aa0eadb936204fac5edf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL desilofhe-1.17.0-cp314-cp314-macosx_11_0_arm64.whl
Size 772.6 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a4ed8762c0837c04d777230dee9e39d4e477e305fc5ea566063f4c4560867ac4
BLAKE2b-256 checksum
How to use checksums
e4279f84f0a3454c3d21c9cad069d1579d43f6b612a45a1a95ddc9e874bb39e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL desilofhe-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
bb07b3fd429a06369191d4b13e68f43c81c39a5b177ad667c00147bc5cfedb4d
BLAKE2b-256 checksum
How to use checksums
203689de3b2846c877eebf02744e563050863266787d711326ef80f7f0b8a6d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp313-cp313-manylinux_2_34_x86_64.whl

Download URL desilofhe-1.17.0-cp313-cp313-manylinux_2_34_x86_64.whl
Size 1.0 MB
Tags CPython 3.13 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
21ad1f145ea4e3bd1f400c95cdf1c29cd9bde939b174d77e689af021e5d34b66
BLAKE2b-256 checksum
How to use checksums
41e747091e79836398c906b3bd496e4fae2fa168c456e5e2804443aa4c31fc10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp313-cp313-macosx_11_0_x86_64.whl

Download URL desilofhe-1.17.0-cp313-cp313-macosx_11_0_x86_64.whl
Size 851.2 kB
Tags CPython 3.13 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
067414e799ae44af8a6f8adb8bda281416900255018582b45d246f9e2e325da9
BLAKE2b-256 checksum
How to use checksums
aea795e34fc4518c82299fa3ae90021d0c11c10a9d02d9ac10b077be64b9c600
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL desilofhe-1.17.0-cp313-cp313-macosx_11_0_arm64.whl
Size 772.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a8a930f05c8ae7c7131ced3123f9f0f8a572d6887edcaf17784dc130a1c90185
BLAKE2b-256 checksum
How to use checksums
a7257c49e8170dbb7565657c133c7db97589256c08b16d174cf31316dcf7b839
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL desilofhe-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
786e2e712f435e12d78f71a4964addb4fbfcdb751ce6ba7a211694090d96d8bf
BLAKE2b-256 checksum
How to use checksums
d0cd913734631271d3db51588d598f9d15ea32345b3b179fc0ab5f692b4f284b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL desilofhe-1.17.0-cp312-cp312-manylinux_2_34_x86_64.whl
Size 1.0 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
843fc957aad77103f7a8ed71571266effefe03d66804ef3825c65c9d454edc5a
BLAKE2b-256 checksum
How to use checksums
ba09eac02eda5b81cbd36e91f26b67f707fa0fc6b1a86d114b51a0fb4a24ec34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp312-cp312-macosx_11_0_x86_64.whl

Download URL desilofhe-1.17.0-cp312-cp312-macosx_11_0_x86_64.whl
Size 850.6 kB
Tags CPython 3.12 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
4eb49ed86df0883b6cc6c8eaf7b2ea8b4717d14f6be9ab944b96333a117e20c7
BLAKE2b-256 checksum
How to use checksums
ee0bb51c8ceacea68c04c850186df8c74c8962858da3fb875473d5b739828684
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL desilofhe-1.17.0-cp312-cp312-macosx_11_0_arm64.whl
Size 771.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b6fb672813d715eaba476d05caccc6fde77b1e0cba6a955fc9af761273699492
BLAKE2b-256 checksum
How to use checksums
26138e81489d5205f581092288fb33f7a6eaf870da9e5bc49e0d646e4383aff4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL desilofhe-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a0067dc3ecd18506aaaa1e4c89798c7094be2ce69582fe8e8d2e6f362a3377b3
BLAKE2b-256 checksum
How to use checksums
a4544c04ae8500ee7040921f36c0bee55b11754128b90d2e54b87b3f94d0211b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL desilofhe-1.17.0-cp311-cp311-manylinux_2_34_x86_64.whl
Size 1.0 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
7e4070820b6dc78bcca09ac7fbf7186ebdb8f6b80ddb5c301e26b90a263efd80
BLAKE2b-256 checksum
How to use checksums
5e540ca8445d7d5667c25986a699076da8c434d87b4b888a70313e9278658779
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp311-cp311-macosx_11_0_x86_64.whl

Download URL desilofhe-1.17.0-cp311-cp311-macosx_11_0_x86_64.whl
Size 849.7 kB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
0a3083d808bf663d58a23062f0f8d3d25b108599588519604357959acbe59064
BLAKE2b-256 checksum
How to use checksums
85b2838f1764be5d9a2dd067a2a0b4690385c62eeb68910c389a49aa40a36cad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL desilofhe-1.17.0-cp311-cp311-macosx_11_0_arm64.whl
Size 769.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2fac422fb3852556f43a530bb04820191d46380c33c7878f7d44c59f58c7c55b
BLAKE2b-256 checksum
How to use checksums
86d907900f63bd71a55ec275a0425553249675dd10cc29a54c18261da0f106ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL desilofhe-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5d3770dd88b7b71f85ab80da037f8dd3dea2f49bf2ecdba5d1e0cea0a8ab16ef
BLAKE2b-256 checksum
How to use checksums
57c58d3ca6186f6d027999710cac28a9d08f0dd2676ee473ec54dfdffe0f046c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL desilofhe-1.17.0-cp310-cp310-manylinux_2_34_x86_64.whl
Size 1.0 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
2cb3749dfeec17e22a3f3b81d03c9a0bc9495bc29c75d55b159fae11508643a4
BLAKE2b-256 checksum
How to use checksums
eabf48058956997b2e7cff4b3bb03ff9e6b6c51996c4ce99046377a6aa5f9f38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp310-cp310-macosx_11_0_x86_64.whl

Download URL desilofhe-1.17.0-cp310-cp310-macosx_11_0_x86_64.whl
Size 847.4 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
993446b43b93ef5200b67581af0865fde6d838ab0ccad6358c202809be2b637f
BLAKE2b-256 checksum
How to use checksums
d09b5914248808e1251bb842b94a7c21d88d054d0a97c0a01f38dbedb8d9bac1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / desilofhe-1.17.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL desilofhe-1.17.0-cp310-cp310-macosx_11_0_arm64.whl
Size 768.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b328bd10f80157440b1cb99515f7ef5649846ecf9ba4a06be50a482de7b8b681
BLAKE2b-256 checksum
How to use checksums
d842f22034286218a1b3e466292ed807c3c42fce15af4f054938b36bec46ff7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Security for desilofhe 1.17.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page