Skip to content

Overflow detected in decrypted number #110

Description

@XieFuran

I have an algorithm that iteratively performs multiple homomorphic multiplications and needs to decrypt once in each iteration. Although the calculation is small, an error will be reported: Overflow detected in decrypted number.

I wrote a test code to describe the problem as below.

from phe import paillier
import random
public_key, private_key = paillier.generate_paillier_keypair(n_length=1024)
x = random.random()
y = random.random()
E_x = public_key.encrypt(x)
iter_k = 100
for i in range(iter_k):
    print("iterations:",i)
    E_x = y*E_x
    private_key.decrypt(E_x)
print(private_key.decrypt(E_x))

I know that increasing the value of n_length can alleviate the problem, but this reduces efficiency and does not eliminate the problem. So, what should I do, thank you.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions