Concept

Shamir’s Secret Sharing more than one party to recover it again.
The famous crypto expert Adi Shamir created this al Rivest-Shamir-Adleman (RSA) algorithm widely used in the Internet today.

Motivation

If you compare this algorithm with most oftther cryptographic algorith public-key cryptosystems, where you need one key to encrypt and another one to decrypt the message.

Secret Sharing is about creating many keys,has to be defined during key generation.

Here are some “real-world” examples:

  • Four-eyes principle: if you have 10 administrators, but you want them to do certain tasks only in the present of another one, you could set the threshold to 2
  • Tethered spies: the NSA wants to have access to all mobile devices (again), but with this algorithm they would need another party to get access, e.g. a court or the manufacturer
  • Joint bank account: maybe a company has a bank account owned by 4 people. It can give full access to it if three of them agree using their key
  • Will: giving all family members and a lawyer a key can protect a will. No one can read the will without enough others and the lawyer

Implementation

We created an open-source implementation of this algorithm in PHP. It is under a very open MIT license.