public key crypto for all ages: the story of kid krypto...
TRANSCRIPT
Public Key Crypto for all Ages: The Story of Kid Krypto and Polly Cracker
Prof Michael Ralph Fellows
Charles Darwin University, Australia
A talk to Vijyoshi Camp 2012
Indian Institute of Science, Bangalore
December 2012
Parameterized Complexity,
Rod Downey and Mike Fellows
Springer Publisher, 1999
Festschrift, presented at Dagstuhl
June 2012
Goals
(1) Crash course in algorithms and computational
complexity
(2) Basic ideas of modern cryptography
(3) Some of my adventures when sharing these
ideas with 9-year-olds
…with some added advanced commentary
„If you‟re going to teach, you should either teach
graduate school or 4th grade.”
-Kurt Vonnegut
Famous American writer
• Model problem for NC, problems solvable in
poly(log n) time on a polynomial number of
processors
• Lower bound of log n depth because
log2 n! ~ n log n
Sorting nets: advanced
commentary
Sorting nets: advanced
commentary
! Many problems have been shown to be
“inherently” sequential: parallel algorithms are
of no use (modulo a plausible but untouchable
conjecture)
2-coloring: advanced
commentary O(n2)
Other O(n2) algorithms—school multiplication
6012782
4213612
’5’6 4
etc
---insertion sort
• These are models for the complexity class P:
problems solvable by a polynomial-time
algorithm.
• System of linear equations O(n3)
Why efficient algorithms matter
The number 1 lesson
of this crash course
Challenge: Give me a really terrible
algorithm for SORTING
CHECKING A PROPOSED
3-COLORING SOLUTION
IS O(n2)
Model for the complexity class NP
3-coloring advanced
commentary
P = NP
?
IWOCA 2009
The “classical” P vs NP
framework is one-dimensional
n = input size
poly(n) 2 poly(n)
vs
“good”
P
positive toolkit of how to
design P-time algorithms
“bad”
NP, etc.
negative toolkit of
NP-hardness, etc.
Unfortunately, almost everything turns out to be NP-hard.
The parameterized framework is
two-dimensional n = input size
k = a relevant secondary measurement
f(k)nc n g(k) vs
“good”
FPT
“bad”
W-hard, etc.
Complexity frameworks
are driven by contrasting
function classes.
n = 50 n = 100 n = 150
k = 2 625 2,50 5,625
k = 3 15,625 125,000 421,875
k = 5 390,625 6,250,000 31,640,625
k = 10 1.9 x 1012 9.8 x 1014 3.7 x 1016
k = 20 1.8 x 1026 9.5 x 1031 2.1 x 1035
The Ratio n k+1 for Various Values of n and k 2 k n
Frameworks in pictures
The classical P vs NP framework
k
nc
n Intrinsic Combinatorial explosion: Most problems are NP-hard or worse.
The parameterized framework
FPT
Try to confine the explosion to the parameter.
3-SAT Input E = (a + b + c‟ ) (a‟ + c + d)
(b‟ + c‟ + d‟) (a + b‟ + d)
Question Does there exist a truth assignment to the
Boolean variables making E true?
VERTEX COVER
Input
and k = 6
Question Can we choose k vertices to cover all
edges?
a b c d + - + - + - + -
GE
kE = (2 X # clauses) + ( # variables) = 12
3SAT
Input E = (a + b + c‟ ) (a‟ + c + d)
(b‟ + c‟ + d‟) (a + b‟ + d)
PERFECT CODE
Ice Cream Stands No one gets
confused!
PERFECT CODE
Ice Cream Stands No one gets
confused!
1 4
5 0
3 -1
0 3 2 3 1 7
4 0
2 1 1 5
-1 4
2 3
3 3
4
0 1
1
Private key is
the perfect
code
Public
key
0
4
Message = 13
Step 1: sprinkle numbers
around that add up to 11
(privately)
Step 2: compute local sums
(privately)
Step 3: send the public key
labeled with the local sums
a b c d
h i j k
e f
g
(a + e + g + h) (c + f + k + i) = ac + af + ak + ai
+ ec + …
1 POLLY CRACKER