is_cuda
DecryptedShare.is_cuda
- Is
True if the decrypted share is stored on the GPU, False otherwise.
from desilofhe import Engine
message = [1, 2, 3]
gpu_engine = Engine(use_multiparty=True, mode="gpu")
gpu_secret_key_1 = gpu_engine.create_secret_key()
gpu_secret_key_2 = gpu_engine.create_secret_key()
gpu_public_key_a = gpu_engine.create_public_key_a()
gpu_public_key_b1 = gpu_engine.create_public_key_b(
gpu_secret_key_1, gpu_public_key_a
)
gpu_public_key_b2 = gpu_engine.create_public_key_b(
gpu_secret_key_2, gpu_public_key_a
)
gpu_public_key = gpu_engine.create_multiparty_public_key(
[gpu_public_key_b1, gpu_public_key_b2], gpu_public_key_a
)
gpu_ciphertext = gpu_engine.encrypt(message, gpu_public_key)
gpu_decrypted_share = gpu_engine.individual_decrypt(
gpu_ciphertext, gpu_secret_key_1
)
assert gpu_decrypted_share.is_cuda
cpu_engine = Engine(use_multiparty=True, mode="cpu")
cpu_secret_key_1 = cpu_engine.create_secret_key()
cpu_secret_key_2 = cpu_engine.create_secret_key()
cpu_public_key_a = cpu_engine.create_public_key_a()
cpu_public_key_b1 = cpu_engine.create_public_key_b(
cpu_secret_key_1, cpu_public_key_a
)
cpu_public_key_b2 = cpu_engine.create_public_key_b(
cpu_secret_key_2, cpu_public_key_a
)
cpu_public_key = cpu_engine.create_multiparty_public_key(
[cpu_public_key_b1, cpu_public_key_b2], cpu_public_key_a
)
cpu_ciphertext = cpu_engine.encrypt(message, cpu_public_key)
cpu_decrypted_share = cpu_engine.individual_decrypt(
cpu_ciphertext, cpu_secret_key_1
)
assert not cpu_decrypted_share.is_cuda