Take the 2-minute tour ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

Quoting part of my homework/assignment:

How many keys are required for secure communication among 1000 person if:

  1. Symmetric key encryption algorithm is used?
  2. Asymmetric key encryption algorithm is used?

My guess:

For symmetric they each need to maintain and transfer their own key, so probably $1000 \times 1000$, and for asymmetric maybe just $2000$, each having one public one private.

Is that correct?

share|improve this question
The answer depends on the security requirements, it could be just 1 symmetric key if everyone is supposed to read the messages of everyone else (group key) –  Richie Frame May 8 at 19:24
Its secure communication. –  Prakash Wadhwani May 8 at 19:31
Its secure communication. That was rather obvious. The question is: “What exactly are the security requirements which are expected in this secure communication?” Which somewhat asks for a protocol description… in case your homework/assignment provides that. –  e-sushi May 8 at 20:20
Nope, the question is here as it is. Doesn't provide anything else. But its assumed logically on such questions that the parties involved would be able to communicate secretly from one another. –  Prakash Wadhwani May 9 at 2:21
Do they really need a symmetric key to communicate with themselves? –  mikeazo May 9 at 12:25

1 Answer 1

For a homework question you are probably correct. If the keys are distributed in a secure way that should be the minimum amount of keys for persons to communicate without them being able to read each others messages, if those messages can be intercepted.

Practical protocols could use more or less static keys, it all depends on the requirements, attack vectors etc..

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.