tontine-java is an API and application implementing
Shamir's Secret Sharing scheme. This scheme allows for information
(the secret) to be split into multiple pieces
(keys), such
that some number of these pieces can be brought together to
form the original
information. Typically, these keys are distributed to users
after creation.
Each key in this implementation is slightly over twice as large as the
original secret. The slight increase over 2x size is due to an
entropy-preserving technique. The keys should pass the same tests
for randomness that the generator used
(java.security.SecureRandom) does.
The API is
com.buttsoft.crypto.SecretShare
The test application is
com.buttsoft.apps.tontine.Tontine.
tontine-java may be useful in applications for sharing "emergency" passwords among employees or in distributed file sharing applications.