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

I am developing a software in which I am using AES for encrypting messages shared in a group. The key is generated by one user, the admin of the group and needs to be shared with other members. How can I share this key with all other members of the group securely?

Are protocols like Needham-Schroeder, Diffie-Hellman applicable in my case? (I don't know much about cryptography)

PS: Can I encrypt the 'group key' generated by admin using AES, and save it on a server? The other users can request the server for the encrypted key and then decrypt it. The key used for encrypting and decrypting the 'group key' will be pre-shared (embedded in the software).

share|improve this question
If you embed the group key in the software, your problem is figuring out a way of keeping the software from anyone not in the group. DRM systems have been trying that for ages with little success to show for their efforts. In your case you'd have to authenticate the users. You are effectively re-implementing TLS. – rath May 18 '14 at 7:46
What other options do I have? – Vivek Kumar May 18 '14 at 8:45

The best way is to keep things simple. Once the key has been generated, keep it on the server and make sure only authenticated users can request the key from that location. Make all the clients request the key from the server.

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.