CS 70
Discrete Mathematics and Probability Theory
Fall 2011
Rao
Rough Outline Lecture 1
The reader shold be aware that thes notes have been subject to minimal if any editing and should not
be distributed.
This course is about formal analysis in the context of discrete math and probability and its applications in
computer science.
Today, we highlight some of the applications and hint at the mathematical ideas that we will use to derive
these applications.
Secret sharing, coding theory.
Consider the problem of shaing (parts of) a secret number with three people, where any two can figure out
the number, and any one person knows nothing about the number.
Let me describe a secret sharing scheme using a sequence of examples.
• Secret: 2. Shares: 2, 4,6.
• Secret: 3. Shares: 1000, 1003, 1006.
• Secret: 5. Shares: 41, 46,51.
This is an old “guess the pattern” problem, where the patterns consist of an arithmetic sequence: add the
secret number every time.
Now, guess the secret given the following shares.
• Shares: 2, *,6. What is the secret?
• Shares: *, 8, 12. What is the secret?
• Shares: *,8,*. What is the secret?
From even the first example above, where the secret is 2, it becomes clear that the order of the shares matter.
That is, the shares correspond to share 1, share 2, and share 3. With this, it is easy to see that the second
example’s secret is 4.
In the last example, with this scheme, one cannot determine the secret at all.
How can we generalize this scheme to share the secret among more people, have the minimum sized set of
knowing people be larger?
Viewing the shares as a set of ordered pairs, E.g;,
(
1
,
2
)
;
(
2
,
4
)
;
(
3
,
6
)
, and associate a graph or function
between share number and share value, one sees that the secret is encoded as the slope of a line. We have
the very familiar notion that
points determine a line
. Moreover, one point tells is nothing about the slope
of a line.
CS 70, Fall 2011, Rough Outline Lecture 1
1