Information Security Basics

Fifty members want every pair of them to be able to communicate with encryption without the other members learning the contents. Which combination gives the number of keys needed with symmetric-key cryptography and with public-key cryptography (counting public and private keys together)?

  1. ASymmetric-key: 1225 keys; public-key: 100 keys
  2. BSymmetric-key: 2450 keys; public-key: 100 keys
  3. CSymmetric-key: 100 keys; public-key: 1225 keys
Show answer and explanation

Answer: A. Symmetric-key: 1225 keys; public-key: 100 keys

With symmetric-key cryptography each pair needs its own key, because if three or more people shared a key, other members could read the contents too. The number of pairs that can be chosen from n people is n(n−1)/2, so 50 people need 50 × 49 / 2 = 1225 keys. With public-key cryptography, if each person has one public key and one private key, anyone can encrypt to anyone else with the recipient's public key, so 2n = 2 × 50 = 100 keys are enough. As the number of people grows, the number of symmetric keys grows roughly with the square of the number of people, whereas public-key cryptography grows only in proportion to it. This is one reason public-key cryptography makes key management easier.

  • A. Correct. Symmetric-key needs 50 × 49 / 2 = 1225 keys, and public-key needs 2 × 50 = 100 keys.
  • B. 50 × 49 = 2450 counts the pair from A to B and the pair from B to A separately. The same two people need to share only one key.
  • C. This swaps the two counts. It is symmetric-key cryptography whose key count grows roughly with the square of the number of people.
Practice this topic Back to topic

Related calculators

Books on Information Security Basics Ad

As an Amazon Associate I earn from qualifying purchases.

More Information Security Basics questions

  1. When sending a large file encrypted to someone, which procedure describes the commonly used hybrid encryption scheme?
  2. Which statement correctly describes a property of hash functions used in cryptography (cryptographic hash functions)?
  3. For an ideal hash function with a 256-bit output, which combination gives the approximate number of computations needed for a brute-force attack in two cases: finding an input that produces a given hash value (a preimage attack), and finding any two different inputs that produce the same hash value (a collision attack)?
  4. When a web service stores users' passwords, it adds a random value that differs for each user (a salt) to the password before computing and storing the hash value. What is the main purpose of the salt?
  5. For storing passwords, it is recommended not to use a fast hash function such as SHA-256 directly but a scheme deliberately designed to take time to compute, such as bcrypt or Argon2. Why?