I'd like to encrypt e-mail messages so that multiple physically separated keys are needed to decrypt them.

For example, I'd like to have three private keys stored on different media, as in:

  • key A on a harddrive,
  • key B on thumbdrive 1, and
  • key C on thumbdrive 2.

I'd like to have the messages encrypted successively to all 3 keys, so that I have to decrypt with all 3 to recover the plaintext.

Will Thunderbird work easily for this? What is a good cryptomail client?


Note: This answer was posted before the question was migrated from Cryptography Stack Exchange. As such, it only addresses the purely cryptographic aspects of the question.

What you could do is set up a single public/private key pair using e.g. RSA or (EC)DSA, and have your e-mail program store the public key and encrypt your messages using it.

You can then store the private key in a file successively encrypted using three other (public/private or symmetric) keys, and store those other keys in different locations. Thus, in order to decrypt the messages, you'd first need to decrypt the private key, which would require all the other keys.

Alternatively, you could split the private key file into multiple shares using e.g. Shamir's secret sharing, and store the shares in separate locations. One advantage of this method is that you could set up the secret sharing scheme to only require some predefined fraction of the shares in order to reconstruct the key. For example, you could generate four shares such that any three of them would be enough for reconstructing the key; that way, you could still decrypt the messages even if you lost one share.

As for recommending a good e-mail client for encrypted messages, I'm afraid I can't help you much there. In any case, it's really off topic for Cryptography Stack Exchange; you may get better answers to that part of your question at Super User or at Information Security Stack Exchange.

Your Answer

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