Tontine is a secret-sharing implementation, which uses a modified version of Shamir's secret sharing scheme. Secret sharing allows N people to share data (the "secret"), such that any k of them can reconstruct it by combining their keys. Currently, tontine uses polynomials over the finite field GF(28).
Tontine is written in C++, and uses the STL. While it was written using g++, it should work under most C++ compilers, with a few changes to the Makefile.
^ TOPTontine was written with the following goals in mind:
You shouldn't. Not yet, anyway. Tontine is severely alpha software. Feel free to use it, but don't depend on it.
^ TOPThe latest version (v0.3) is available here.
Version 0.1 is available here. Version 0.1 requires gmp-2.0.2 to compile. It also relies on /dev/random.
^ TOPA tontine is an annuity shared by subscribers to a loan. The shares increase as subscribers die, until the last survivor gets all, or until a specified date when the survivors share the proceeds. Tontines were originated by Lorenzo Tonti of Naples, in France in the 1650s. It occured to me that secret sharing might have applications in this area. Also, I liked the name.
^ TOP
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.