×

Homomorphic evaluation including key switching, modulus switching, and dynamic noise management

  • US 10,057,057 B2
  • Filed: 10/17/2016
  • Issued: 08/21/2018
  • Est. Priority Date: 02/17/2012
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method, comprising:

  • performing at a computer system homomorphic evaluation of a function on one or more input ciphertexts, where the one or more input ciphertexts were encrypted using a public key of an encryption scheme that also comprises a plurality of secret keys and a plurality of moduli, where the moduli are integers, where the function comprises one or more homomorphic operations, and where performing the homomorphic evaluation comprises performing each of the one or more homomorphic operations for the function, and where performing each of the one or more homomorphic operations comprises;

    selecting one or more ciphertexts and determining an estimate of noise in the selected one or more ciphertexts;

    for each one of the selected one or more ciphertexts, in response to a determination the noise magnitude meets at least one criterion, performing a modulus switching operation on the ciphertext to convert the ciphertext from one of the plurality of secret keys and a first modulus into a second ciphertext with respect to a same secret key but a second modulus, and updating the noise estimate following the modulus switching operation;

    performing the homomorphic operation for the function on the selected one or more ciphertexts;

    computing the noise estimate for the result of the homomorphic operation from the noise estimate of the selected one or more ciphertexts;

    determining based on the noise estimate whether to perform a modulus switching operation for the result of the homomorphic operation, and performing one of the following based on the determination;

    in response to a determination the modulus switching should be performed, performing the modulus switching operation on the result of the homomorphic operation and resetting the noise estimate to a base estimate;

    orin response to a determination the modulus switching operation should not be performed, continuing processing with the result without performing the modulus switching operation.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×