SecretSharing
A secret sharing sheme.
Value parameters
- random
-
the secure random source
- secretBytes
-
the actual secret
- shares
-
the number of shares
- threshold
-
the number of shares required for the recovery of the secret bytes
Attributes
- Constructor
-
Creates a new SecretSharing sheme with shares, threshold, secretBytes and a secure random source.
- Graph
-
- Supertypes
Members list
Type members
Classlikes
A mere data holder for recording the certification (both falsification and verification) results of a sharepoint partition.
A mere data holder for recording the certification (both falsification and verification) results of a sharepoint partition.
Value parameters
- falsified
-
the number of falsified slice combinations with a sharepoint count below the threshold
- verified
-
the number of verified slice combinations with a sharepoint count equal or above the threshold
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Value members
Constructors
Creates a new SecretSharing sheme with 6 shares, threshold == 3, the given secretBytes and a default secure random source.
Creates a new SecretSharing sheme with 6 shares, threshold == 3, the given secretBytes and a default secure random source.
Value parameters
- secretBytes
-
the actual secret
Attributes
Creates a new SecretSharing sheme with shares, threshold, secretBytes and a default secure random source.
Creates a new SecretSharing sheme with shares, threshold, secretBytes and a default secure random source.
Value parameters
- secretBytes
-
the actual secret
- shares
-
the number of shares
- threshold
-
the number of shares required for the recovery of the secret bytes
Attributes
Creates a new SecretSharing sheme with shares, threshold, secretBytes and a default secure random source. This is convenient when calling from Java.
Creates a new SecretSharing sheme with shares, threshold, secretBytes and a default secure random source. This is convenient when calling from Java.
Value parameters
- secretBytes
-
the actual secret
- shares
-
the number of shares
- threshold
-
the number of shares required for the recovery of the secret bytes
Attributes
Creates a new SecretSharing sheme with shares, threshold, password and a default secure random source.
Creates a new SecretSharing sheme with shares, threshold, password and a default secure random source.
Value parameters
- password
-
the actual secret, will be encoded with UTF-8
- shares
-
the number of shares
- threshold
-
the number of shares required for the recovery of the secret bytes
Attributes
Concrete methods
Certifies a given sharepoint partition by falsifying all slice combinations with a sharepoint count below the threshold and vice versa by verifying all valid slice combinations with a sharepoint count equal or above the threshold. This is a potentially very expensive calculation (both time and memory at present) since all combinations from 'n choose 1' up to 'n choose n' must be considered whereby n is given by the number of slices within the partition
Certifies a given sharepoint partition by falsifying all slice combinations with a sharepoint count below the threshold and vice versa by verifying all valid slice combinations with a sharepoint count equal or above the threshold. This is a potentially very expensive calculation (both time and memory at present) since all combinations from 'n choose 1' up to 'n choose n' must be considered whereby n is given by the number of slices within the partition
Value parameters
- partition
-
the given sharepoint partition
Attributes
- Returns
-
the result of the certification if successful
Calculates a batch of coefficients needed for the polynomial in the canonical form.
Calculates a batch of coefficients needed for the polynomial in the canonical form.
Attributes
- Returns
-
the random coefficients
Chooses a random polynomial with the given degrre in the canonical form.
Chooses a random polynomial with the given degrre in the canonical form.
Value parameters
- degree
-
the degree of the polynomial
Attributes
- Returns
-
the random polynomial
Calculates a random prime p with the property s < p.
Calculates a random prime p with the property s < p.
Attributes
- Returns
-
a random prime
Computes the required number of random and distinct shares.
Computes the required number of random and distinct shares.
Attributes
- Returns
-
the shares
Partitions the shares according to the given sizes and converts the different slices containing the shares into a JSON array containing the slices as JSON objects.
Partitions the shares according to the given sizes and converts the different slices containing the shares into a JSON array containing the slices as JSON objects.
Value parameters
- sizes
-
denotes a partition
Attributes
- Returns
-
the JSON array of slices containing the shares
a convenience method. Demands that the desired partition is to be certified before saving, see savePartition.
a convenience method. Demands that the desired partition is to be certified before saving, see savePartition.
Value parameters
- path
-
the path to the partition file
- sizes
-
denotes the partition
Attributes
- Returns
-
the certification result indicating the number of verified and falsified slice combinations
Saves the desired partition. The partition can optionally be certified by verifying all slice combinations containing share points equal or above the threshold and by falsifying all other (invalid) slice combinations.
Saves the desired partition. The partition can optionally be certified by verifying all slice combinations containing share points equal or above the threshold and by falsifying all other (invalid) slice combinations.
Value parameters
- certified
-
indicates if the partition is to be certified
- path
-
the path to the partition file
- sizes
-
denotes the partition
Attributes
- Returns
-
the optional certification result indicating the number of verified and falsified slice combinations
A convenience method. Saves the partition in the order as given by the sizes.
A convenience method. Saves the partition in the order as given by the sizes.
Value parameters
- path
-
the path to the partition file
- sizes
-
denotes the partition
Attributes
Partitions the share points into disjunct sequences according to the given sizes.
Partitions the share points into disjunct sequences according to the given sizes.
Value parameters
- sizes
-
denotes the sizes of the desired share point sequences
Attributes
- Returns
-
a list of share point sequences
Translates the given shares into JSON.
Translates the given shares into JSON.
Value parameters
- ps
-
the shares
Attributes
- Returns
-
the JSON containing the shares
Gives a textual representation of this particular secret sharing sheme.
Gives a textual representation of this particular secret sharing sheme.
Attributes
- Returns
-
the textual representation
- Definition Classes
-
Any
Verifies that all valid combinations of shares recover the secret bytes. That is all combinations of shares with a sharepoint count that equals the threshold will be considered.
Verifies that all valid combinations of shares recover the secret bytes. That is all combinations of shares with a sharepoint count that equals the threshold will be considered.
Attributes
- Returns
-
indicates the outcome of all possible and valid cross checks
Inherited methods
Returns the present tracer for this object.
Returns the present tracer for this object.
Attributes
- Returns
-
the current tracer, by default the NullTracer
- Inherited from:
- Tracing
Custom control structure for tracing of embraced code blocks.
Custom control structure for tracing of embraced code blocks.
Type parameters
- T
-
the actual type of the embraced code block
Value parameters
- block
-
the embraced code block
- callee
-
the call site
- method
-
denotes the method signature
- resultType
-
denotes the return type
Attributes
- Returns
-
returns whatever block returns
- Inherited from:
- Tracing
Concrete fields
Ensures that all combinations of shares below the threshold have failed to produce the secret. This is backed by a potentially very expensive operation.
Ensures that all combinations of shares below the threshold have failed to produce the secret. This is backed by a potentially very expensive operation.
Attributes
The partition id
The partition id
Attributes
An alias for threshold
An alias for threshold
Attributes
An alias for shares
An alias for shares
Attributes
A random polynomial in the canonical form used to compute the shares
A random polynomial in the canonical form used to compute the shares
Attributes
The prime modulus
The prime modulus
Attributes
Used to compute a LazyList of random BigInt numbers
Used to compute a LazyList of random BigInt numbers
Attributes
The secret encoded as non-negative BigInt
The secret encoded as non-negative BigInt
Attributes
The actual shares
The actual shares
Attributes
All shares converted into a JSON object
All shares converted into a JSON object
Attributes
Indicates if cross checks with all possible combinations of shares with a sharepoint count that equals the threshold have successfully produced the secret. This is backed by a potentially very expensive operation.
Indicates if cross checks with all possible combinations of shares with a sharepoint count that equals the threshold have successfully produced the secret. This is backed by a potentially very expensive operation.