How Shamir's Secret Sharing Works
https://ente.com/blog/how-shamirs-secret-sharing-works/- They could no longer read your data
- Additional redundancy (as you only need 2 to be available)
- Compared to other secure storage apps which rely on a master password, which if you forget, you are screwed, you could still use all the usual account recovery methods.
https://packages.debian.org/trixie/ssss is a nice and rather straightforward implementation.
https://bs.parity.io/ -- http://passguardian.com/ -- https://iancoleman.io/shamir/
https://www.cloudflare.com/learning/dns/dnssec/root-signing-...
but you can also just use Reed-Solomon and split the payload, the difference with Shamir is that you lose information-theoretic security (you lose it the moment you use encryption anyway) and the payload also needs to undergo an all-or-nothing-transform (AONT).
AONT transforms the entire payload into an encrypted blob which also serves as its own key, a withheld piece is a de facto encryption key. this is required because Reed-Solomon can have pathological cases where pieces leak information.
> Reed-Solomon is an Erasure code
which shares the same math as Shamir > Those leakage models are gnarly.
AONT solves that by making any leak other than the totality meaninglessYes, you can just GF(256), but if you're worried I'd also just use a prime field instead.
Vibe-coded a little playground where you can generate secrets, see the polynomial, combine the secrets, and in general, play around:
Your environment is unlikely to have all of that already, so you'll need to figure out equivalents for all those. But I think you're going to need a local service running as root and it's going to need to be able to tell the difference between distinct human users, if you want secure. Just typos is way easier.
https://github.com/Argonne-National-Laboratory/Pam-2man-Auth