Shamir Secret Shares and Kryptology
In 1979, Adi Shamir (the ‘S” in RSA) published a classic paper in the Communications of the ACM [1]:
While a fairly old method, it is now being used to split up encryption keys, so let’s have a look at a basic implementation.
Byzantine Fault Tolerance
We need to start building systems which are fault-tolerant, and where we assume that sometimes our systems give us errors, or can be faulty, or that they have been taken over by a malicious agent. This will give us Byzantine Fault Tolerance (BFT) in our processing and decision-making. For example, let’s say we are processing a transaction, and have four checkers for the validity of the transaction. If we had one checker, then it may have an error or could be compromised by a hacker. But if we have four, then if three of the checkers were good, we would have an election, and take the majority vote. A checker which loses these elections may then be faulty or is compromised.
A perfect way of keeping things secure and creating resilience is to use Shamir Secret Sharing (SSS), and where we can distribute a secret, and then allow any n-from-m to recover the secret. In this way, Bob…