Git Product home page Git Product logo

Comments (1)

sarojaduality avatar sarojaduality commented on May 27, 2024

The protocol for BFV threshold noise flooding is as follows:
Let our current RNS basis for decryption be Q=q_0 * q_1 * ... * q_k. Add two more 60-bit primes p_0 and p_1. The extended basis is QP = q_0 * p_1 * p_2 * ...q_1 * q_k.

As the input, we get c1 mod QP. We first generate a random uniform ring element b w.r.t. to mod Qprime = QP/q_0. Then we do exact RNS basis extension from Qprime to QP.

Then we do flooding c1 * s_i + b mod QP.

Each party sends the results, and the fuser adds them up mod QP. Finally, we do BFV rounding and output the decryption result.

Possible optimizations for future:

  1. In BFV, right before BFV rounding before decryption, we modswitch from QP to q_0.
  2. Modswitch to 3 moduli, i.e., QP = q_0 * p_0 * p_1 before generating/adding the random elements.
  3. Do modswitch by each party from QP to q_0 before sending the partial decryption results to the fuser.
  4. Change c1 * s_i to COEFFICIENT representation after the product. Do all other operations in COEFFICIENT representation.

For BGV threshold noise flooding, the protocol is exactly the same, except we use b' = tb for flooding instead of b.

from openfhe-development.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.