Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there any way to share an encrypted file with a group? In the other words, can I encrypt a file with a public key so that each person in a group decrypt it with his/her private key?

Is there any way that I have a public key and some different private key for it?

I want to find a way to encrypt a file with a public key, and then produce some private keys from this public key, so that whenever I wanted to share that file with some person, I gave him/her a private key from this set to decrypt my file.

share|improve this question

Yes, you encrypt the file with a symmetric key, then encrypt that symmetric key with each of the recipients public keys. gpg can do this by adding multiple --recipient options.

share|improve this answer

This exists. It is called Broadcast Encryption . Latest research even allows for Traitor tracing , meaning that even if two people give a part of their secret keys to form a "pirate decryptor", there is an algorithm which will find one of the users that colluded. It is used in practice for pay tv for example.

A trivial an non-efficient way to do Broadcast Encryption is as @John Meacham said to encrypt your file under some symmetric key and to send an encryption of the symmetric key to each user.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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