305
Chapter 8
Secret Sharing Operations

Secret Sharing

Secret sharing allows a system to require a certain number of shares to retrieve a
secret. The process encrypts information and then creates a number of shares of the
encrypted information. The information can be recovered by collecting a declared
number (called the threshold) of shares. Note that the threshold must be less than or
equal to the total number of shares.
Typically, the secret is a key used for encrypting sensitive data. For example, you
might protect an RC2 key with a secret-sharing algorithm, creating four shares, and
set the threshold to two. Then any two of the four shares can reconstruct the RC2 key.

Generating Shares

Crypto-C offers the Bloom-Shamir secret sharing method. For this implementation,
the minimum total number of shares is two and the maximum is 255; the threshold
must be less than or equal to the total number of shares. The 255 limit is not part of the
Bloom-Shamir algorithm, but a constraint of the Crypto-C implementation. See Step 4
for details.
The following example will encrypt 16 bytes (for example, an RC2 key), splitting the
secret into four shares, and set the threshold to two.