I want to backup many secrets using a secret sharing scheme, to make sure my family can access those secrets in case of my death. I need a way to keep adding secrets (without distributing new shares).

I can encrypt all the data with a symmetric cipher and then distribute that passphrase, but then I have two options, but then to add new secrets I need to have a copy of the key (adding an attack vector I don't like).

Is there any way to use a secret sharing scheme keeping a public key to encrypt more data (using that key), while sharing the private key?

2 Answers 2


Your approach seems backwards. I would think you would encrypt everything using your public key, keeping your private key private. You would ensure a copy of your private key is stored somewhere your family will find it when needed, with instructions on how to decrypt the various encrypted secrets.

I would print the passphrase and private key retrieval information on paper, and store that securely with other important documents that will be examined after my death. Anything online is fraught.


I'm not entirely sure why you are worried about protecting an AES key, since an attacker who observes you using that key can probably also see your secrets. But I will continue, assuming symmetric cryptography is not an option.

What you are describing aligns perfectly with a use case for public key cryptography. Each family member that you trust generates a keypair and shares the public key with you. You then use all of their public keys to encrypt your secrets.

I don't think "sharing" and "private key" should be in the same sentence, even in this case. So ideally, they would generate their own keypair and you would never have access to it.

However, I imagine many family members would not be comfortable using PGP or the like, so there definitely could be usability issues with this method.

There are tools out there specifically meant for sharing passwords or other simple text secrets among a team. For example, there is the Unix pass tool that uses GPG and Git to share and store passwords among multiple users, who can be added or removed over time. There are many different frontends for this tool out there, some likely a bit more user friendly.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .