Skip to content

Questions about using the Shamir secret sharing protocol #91

Closed

Description

@sda427
  1. Does MPyC support direct input secret sharing? Our own program has already generated secret shares through shamir protocol, and we want to use MPyC for subsequent secure multi-party computation based on shamir protocol, which does not seem to be described in the documentation.
  2. Does MPyC support the definition of a variable length data structure in ciphertext?

Activity

  1. lschoe commented on May 20, 2024

    @lschoe
    Owner

    The answer to your first question is "yes". For example, if you have say three parties holding secret shares of a secure integer, you can assign these shares locally, for each party, and then they can continue to do secure computation with the resulting secure integer.

    Party 0 executes a = secint(secint.field(12723956914977493523)) in its program.
    Party 1 executes a = secint(secint.field(7001169756245412185)) in its program.
    Party 2 executes a = secint(secint.field(1278382597513330847)) in its program.

    Then if they run print(await mpc.output(a)) they should all see 23434 being printed.

    About your second question, not sure what it is about?

  2. sda427 commented on May 21, 2024

    @sda427
    Author

    Thank you very much for your answer.

    The second question is about secure types. When I use secint.array to define a secure array, is there a way to define a variable-length array without specifying the array length? For example, T = secint.array().

  3. lschoe commented on May 21, 2024

    @lschoe
    Owner

    Well, no, Numpy arrays are not variable length. And all entries of a Numpy array are of the same type. This allows for efficient processing, in a vectorized manner. Using lists you can have variable length and elements of mixed type, but that usually incurs some extra costs.

  4. Repository owner locked and limited conversation to collaborators on May 22, 2024
  5. converted this issue into a discussion #92 on May 22, 2024
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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions