1
$\begingroup$

Suppose I have some data that has been encrypted with a known, secure algorithm and a key k. I want to distribute "pieces" of the key to n of my colleagues, and only be able to access the data when all keys are used.

I create a one time pad and XOR the key, then give that OTP to colleague 1, and reapeat this for each colleague. I have a couple questions about this:

  • Once the key has been encrypted, does it matter which piece was originally the key, or are all pieces now equal?
  • Suppose my colleagues all meet without me, for a total of n-1 keys, is there anything they can do with the collective data?
  • Could creating so many one time pads somehow create a vulnerability, or does the strength of an OTP hold with each subsequent piece created?
$\endgroup$
2
$\begingroup$

Since you mention one time pads, I'll deal with one time pad (OTP) secret splitting rather than more complex schemes. In this case, you don't fragment the key into pieces, you create additional keys exactly the same length and then chuck the original key away. The only way to recreate the original key is to XOR all of the generated keys back together. There is a good tutorial here. You should be able to fathom the method from this extract:-

opt

Taking these bullets one at a time:-

  1. All the new keys are equally important. You cannot reassemble the original key without all of the new keys. One missing key will give you nothing.
  2. Further to point 1, no there isn't anything that they can do. Each original key character still has a certainty of 1/256 if you've used bytes. Clearly if the key was only one byte long this would afford no security against a brute force attack. So use a long key, or a key derivation function, but that draws away from the spiritual purity of the OTP.
  3. You would probably use one single one time pad to spilt the original key. You wouldn't be creating additional keys. If your OTP generator equipment produces true randomness, the existence of additional OTPs will not create any mathematical vulnerabilities. You do of course need to keep the many new keys safe as they are all required. That might be an issue in itself. There are more complex key splitting techniques that don't require a OTP and can split a secret that then only require a subset of the keys to recombine the original. You might consider this more secure in some circumstances (if some agents were to be eliminated by the enemy).
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.