sss-vlang v0.0.1
Shamir's Secret Sharing algorithm is a mechanism for split
ting a secret S into n shares, of which k are required to recover the secret via a combine
function. This library is a translation of sssa-go, which has been externally verified as being a well-designed implementation of the algorithm. This V version improves slightly on the Go version by handling (not ignoring) function errors.
One use case for SSS is to provide N people with keys to allow N-k of them to collaborate to produce a key that can, e.g., decrypt a digital resource. For example, 10 employees might be given keys, with any 5 being required to collude to generate a secret to open a KeePass DB that contains credentials for a server hosting master admin account.
The library has extensive unit tests and good coverage. The project includes two tools: sssc
, which is a command line split and combine tool; and sssg
, a GUI version.
The algorithm is stable. The library API at this point is mostly stable, and should not change much. sssc
is complete, and I expect changes to include only feature additions. sssg
is very definitely a WIP, as I figure out the gui
package.
Performance of this library is not very good; it runs far slower than the almost Go library it was cloned from; I have not yet tried to optimize it, since performance is irrelevant for the use I have in mind. However, I suspect there is low hanging fruit here, and I'll get to it sooner or later.