Interface SecretSplitter

  • All Known Implementing Classes:
    ShamirSecretSplitter

    public interface SecretSplitter
    Secret sharing (also called secret splitting) refers to methods for distributing a secret among a group. In this process, no individual holds any intelligible information about the secret. However, when a sufficient number of individuals combine their 'shares', the secret can be reconstructed.
    • Method Detail

      • split

        SplitSecret split​(int m,
                          int n)
        Creates secret shares. The secret will be divided into shares, where the secret has a length of L bytes.
        Parameters:
        m - A threshold number of shares
        n - Total number of shares
        Returns:
        the n generated secret shares, each L bytes long, any m of which recover the secret.
      • splitAround

        SplitSecret splitAround​(SecretShare s,
                                int m,
                                int n)
                         throws java.io.IOException
        Creates secret shares from a given secret share. The secret will be divided into shares, where the secret has a length of L bytes.
        Parameters:
        m - A threshold number of shares
        n - Total number of shares
        Returns:
        the n generated secret shares, each L bytes long, any m of which recover the secret. The first of them is s.
        Throws:
        java.io.IOException
      • resplit

        SplitSecret resplit​(byte[] secret,
                            int m,
                            int n)
        Creates secret shares from a given secret. The secret will be divided into shares, where the secret has a length of L bytes.
        Parameters:
        m - A threshold number of shares
        n - Total number of shares
        Returns:
        the n generated secret shares, each L bytes long, any m of which recover the secret.