Lesson B: Information Hiding
This lesson adapted from Computer Science Unplugged (c) 1998, by Bell, Witten, and Fellows. See http://unplugged.canterbury.ac.nz/ for copyright restrictions.

Motivation:

You've probably heard about some of the issues of privacy on the internet, especially related to financial transactions. Indeed, it is often important for computer users to share information with other people, yet still maintain a significant level of privacy. This activity demonstrates that information can be shared without being revealed.

Materials:

  1. A pen and paper or calculator for simple addition.
  2. Business cards with salaries, one per student.

Lesson Plan:

  1. Explain and discuss: grownups are notoriously sensitive about letting other people know how much money they make. Do you have any information you don't want anyone else to know?
  2. If the students suggest an interesting type of sensitive information, use it. Otherwise (or in addition) hand out the business card and explain that the class will be able to find the average salary of everyone in the room, but no one will know anyone elses salary. Each student's data will be secret, yet we can obtain useful information from the class!
  3. Ask for suggestions about how this might be done, or even whether it can be done. You may need to show the youngest children how we usually find an average.
  4. Choose one person to start the process. That person is to select a random number (say between 0 and 500, larger for salaries) and write it down. Then he/she should add to that number the salary found on the business card (or whatever data you're trying to average). Finally he/she whispers the sum to the next person.
  5. Each child in succession adds their salary to the total which is making its way around the room.
  6. After every student has contributed his/her number, the sum is passed back to the first person, who subtracts the original number from the sum. Then, to get the average, the first person divides by the total number of students, and reports the result.
  7. Re-emphasize what has happened. We know the average, but no one knows anyone else's number!!

  8. Discussion: Suppose students A, B, C, and D contribute their numbers in that order. Could A and C get together to determine B's number? Could A and D get together to figure out B's number? If not, what can A and D determine?

Conclusion:

The census bureau uses this technique for some of its financial reporting. Ask the class if they can think of anywhere else this might be useful (the kids might just find it fun to spend a few minutes talking about what kind of data is secret).

Extensions:

Have students figure out what they can do if someone in the group lies when reporting their total. Can they think of a way to recover the correct sum without revealing who lied (as long as the liar is willing to admit in secret that they lied, and by how much)?

Skills:

  • Addition of any type of number
  • Division by whole numbers

This lesson adapted from Computer Science Unplugged (c) 1998, by Bell, Witten, and Fellows. See http://unplugged.canterbury.ac.nz/ for copyright restrictions.