An algorithmic view of Computer Science

Post on 13-Dec-2014

600 views 0 download

description

This is a three part talk, where I give some historical context to computer science, then do a pitch for the field (from the point of view of prospective students), and then I talk about my three different research threads (proof complexity of linear algebra, 0-1 combinatorial matrices, string algorithms), and finish with a talk about security - where I mostly do consulting work.

Transcript of An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

1/42

An Algorithmic View of Computer Science

Michael Soltys

msoltys@gmail.com

@MichaelMSoltys

McMaster University, Canada

November 1, 2013

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

2/42

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

3/42

Outline

1 Why Study Computer Science?HistoryExciting fieldLots of Jobs

2 My ResearchLinear Algebra0-1 MatricesStrings

3 SecurityCryptographyApplications

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

4/42

Prehistory

Engraved ocher plaqueBlombos Cave, South Africa

77,000–75,000 years old

Ishango bone

Congo, 25,000–20,000 years old leg

bone from a baboon; 3 rows of tally

marks, to add or multiply (?)

Reindeer antler with tally marksLa Madeleine, France

17,000–11,500 years old

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

6/42

Today

We use computers to:

1 Solve problems (computer shortest path from A to B)

2 Managing information (Cloud, Search Engine, eHealth)

3 Create smart products (iPhone, iPad, embedded systems)

4 Explore our world (Google maps, Yelp)

5 Connect (Date, Facebook, Twitter, Wordpress)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

6/42

Today

We use computers to:

1 Solve problems (computer shortest path from A to B)

2 Managing information (Cloud, Search Engine, eHealth)

3 Create smart products (iPhone, iPad, embedded systems)

4 Explore our world (Google maps, Yelp)

5 Connect (Date, Facebook, Twitter, Wordpress)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

6/42

Today

We use computers to:

1 Solve problems (computer shortest path from A to B)

2 Managing information (Cloud, Search Engine, eHealth)

3 Create smart products (iPhone, iPad, embedded systems)

4 Explore our world (Google maps, Yelp)

5 Connect (Date, Facebook, Twitter, Wordpress)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

6/42

Today

We use computers to:

1 Solve problems (computer shortest path from A to B)

2 Managing information (Cloud, Search Engine, eHealth)

3 Create smart products (iPhone, iPad, embedded systems)

4 Explore our world (Google maps, Yelp)

5 Connect (Date, Facebook, Twitter, Wordpress)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

6/42

Today

We use computers to:

1 Solve problems (computer shortest path from A to B)

2 Managing information (Cloud, Search Engine, eHealth)

3 Create smart products (iPhone, iPad, embedded systems)

4 Explore our world (Google maps, Yelp)

5 Connect (Date, Facebook, Twitter, Wordpress)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

7/42

Young Field

Fundamental problems still unsolved

1 Engineering: How to write correct programs?

2 Science: Why are some problems computationallydifficult?

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

7/42

Young Field

Fundamental problems still unsolved

1 Engineering: How to write correct programs?

2 Science: Why are some problems computationallydifficult?

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

8/42

A vast multi-disciplinary field

1 Mathematics, Engineering, and Science

2 Linguistics: Context-Free Grammars, Wordnet

3 Psychology: Human-Computer Interaction, Web Design

4 Sociology: Crowd mining

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

8/42

A vast multi-disciplinary field

1 Mathematics, Engineering, and Science

2 Linguistics: Context-Free Grammars, Wordnet

3 Psychology: Human-Computer Interaction, Web Design

4 Sociology: Crowd mining

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

8/42

A vast multi-disciplinary field

1 Mathematics, Engineering, and Science

2 Linguistics: Context-Free Grammars, Wordnet

3 Psychology: Human-Computer Interaction, Web Design

4 Sociology: Crowd mining

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

8/42

A vast multi-disciplinary field

1 Mathematics, Engineering, and Science

2 Linguistics: Context-Free Grammars, Wordnet

3 Psychology: Human-Computer Interaction, Web Design

4 Sociology: Crowd mining

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

9/42

Sociology of CS

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

10/42

Excellent Job Outlook

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

11/42

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

12/42

Job Outlook Numbers1

Area Employment Change Median2010 2020 2010–20 % Salary

Engineering jobs 11 $83,340

Computing jobs 22 $73,710

Software Developers 913,100 1,184,000 270,900 30 $90,530Comp. Programmers 363,100 406,800 43,700 12 $71,380

Security & Networks 302,300 368,000 65,700 22 $75,660

Comp. Syst. Analyst 544,400 664,800 120,400 22 $75,660

Syst. Admin. 347,200 443,800 96,600 28 $69,160

Database Admin. 110,800 144,700 33,900 31 $73,490

Employers favor graduates who can communicate![Barrett 2013]

1United States Department of Labor Occupational Outlook Handbook,2012-13 Edition, http://www.bls.gov/oco/

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

13/42

My Research

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

14/42

P vs NP

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

14/42

P vs NP

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

14/42

P vs NP

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

15/42

• Perhaps there is a better way of doing this than “BruteForce”?This is the P vs NP problem[Cook]

• This problem is very difficult.

• A related problem isthe NP vs co-NP question, which can be restated as follows:

Is there a formal proof system where every truestatement has a short proof?

An answer to this questions would have very interestingimplications for Logic & Epistemology

• Cook’s program for the NP vs co-NP is a systematic studyof “reverse mathematics”

• My contribution is the “mapping out” of Linear Algebra[Cook Soltys 2004]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

15/42

• Perhaps there is a better way of doing this than “BruteForce”?This is the P vs NP problem[Cook]

• This problem is very difficult.

• A related problem isthe NP vs co-NP question, which can be restated as follows:

Is there a formal proof system where every truestatement has a short proof?

An answer to this questions would have very interestingimplications for Logic & Epistemology

• Cook’s program for the NP vs co-NP is a systematic studyof “reverse mathematics”

• My contribution is the “mapping out” of Linear Algebra[Cook Soltys 2004]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

15/42

• Perhaps there is a better way of doing this than “BruteForce”?This is the P vs NP problem[Cook]

• This problem is very difficult.

• A related problem isthe NP vs co-NP question, which can be restated as follows:

Is there a formal proof system where every truestatement has a short proof?

An answer to this questions would have very interestingimplications for Logic & Epistemology

• Cook’s program for the NP vs co-NP is a systematic studyof “reverse mathematics”

• My contribution is the “mapping out” of Linear Algebra[Cook Soltys 2004]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

15/42

• Perhaps there is a better way of doing this than “BruteForce”?This is the P vs NP problem[Cook]

• This problem is very difficult.

• A related problem isthe NP vs co-NP question, which can be restated as follows:

Is there a formal proof system where every truestatement has a short proof?

An answer to this questions would have very interestingimplications for Logic & Epistemology

• Cook’s program for the NP vs co-NP is a systematic studyof “reverse mathematics”

• My contribution is the “mapping out” of Linear Algebra[Cook Soltys 2004]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

15/42

• Perhaps there is a better way of doing this than “BruteForce”?This is the P vs NP problem[Cook]

• This problem is very difficult.

• A related problem isthe NP vs co-NP question, which can be restated as follows:

Is there a formal proof system where every truestatement has a short proof?

An answer to this questions would have very interestingimplications for Logic & Epistemology

• Cook’s program for the NP vs co-NP is a systematic studyof “reverse mathematics”

• My contribution is the “mapping out” of Linear Algebra[Cook Soltys 2004]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

16/42

Statistical Archeology

• Sequence dating: Flinders Petrie, 1899

• 900 pre-dynastic Egyptian graves containing 800representatives of pottery

• The “graves-versus-varieties” matrix contains vast amountof information, such as sequential ordering [Kendall 1969]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

16/42

Statistical Archeology

• Sequence dating: Flinders Petrie, 1899

• 900 pre-dynastic Egyptian graves containing 800representatives of pottery

• The “graves-versus-varieties” matrix contains vast amountof information, such as sequential ordering [Kendall 1969]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

16/42

Statistical Archeology

• Sequence dating: Flinders Petrie, 1899

• 900 pre-dynastic Egyptian graves containing 800representatives of pottery

• The “graves-versus-varieties” matrix contains vast amountof information, such as sequential ordering [Kendall 1969]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

17/42

Paleogenomics

DNA sequence organization of ancient living organisms usingsimilarities and differences between chromosomes of extantorganisms [Chauve et al 2008]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

18/42

Consecutive-1 Property: C1P

Consider a slight relaxation, (k, δ)-C1P: each row has at most kblocks of 1s and the gap between any two blocks is at most δ.So (1, 0)-C1P is C1P, and deciding if an A has (k , δ)-C1P is:

• polytime for (1, 0)

• NP-hard for every k ≥ 2, δ ≥ 1 except (2, 1)

What about (2, 1)? [Patterson 2012]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

19/42

Konig’s Min-Max

0

1 0 1 1

1 0

1

00

0

1

1 0

00

[Fernandez Soltys 2013]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

20/42

Smart bacteria

Ehrenfeucht-Mycielski Sequence

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010 1

[Herman Soltys 2009]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

20/42

Smart bacteria

Ehrenfeucht-Mycielski Sequence

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010 1

[Herman Soltys 2009]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

20/42

Smart bacteria

Ehrenfeucht-Mycielski Sequence

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010 1

[Herman Soltys 2009]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

20/42

Smart bacteria

Ehrenfeucht-Mycielski Sequence

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010 1

[Herman Soltys 2009]

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

21/42

Do the shuffle

• w is the shuffle of u, v : w = u � v

• w = 0110110011101000u = 01101110v = 10101000w = 0110110011101000

• w is a shuffle of u and v provided:u = x1x2 · · · xkv = y1y2 · · · ykand w obtained by “interleaving” w = x1y1x2y2 · · · xkyk .

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

21/42

Do the shuffle

• w is the shuffle of u, v : w = u � v

• w = 0110110011101000u = 01101110v = 10101000w = 0110110011101000

• w is a shuffle of u and v provided:u = x1x2 · · · xkv = y1y2 · · · ykand w obtained by “interleaving” w = x1y1x2y2 · · · xkyk .

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

21/42

Do the shuffle

• w is the shuffle of u, v : w = u � v

• w = 0110110011101000u = 01101110v = 10101000w = 0110110011101000

• w is a shuffle of u and v provided:u = x1x2 · · · xkv = y1y2 · · · ykand w obtained by “interleaving” w = x1y1x2y2 · · · xkyk .

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

22/42

Square Shuffle

w is a square provided it is equal to a shuffle of a u with itself,i.e., ∃u s.t. w = u � uThe string w = 0110110011101000 is a square:

w = 0110110011101000

andu = 01101100 = 01101100

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

23/42

Result

given an alphabet Σ, |Σ| ≥ 7,Square = {w : ∃u(w = u � u)}is NP-complete.What we leave open:

• What about |Σ| = 2 (for |Σ| = 1, Square is just the setof even length strings)

• What about if |Σ| =∞ but each symbol cannot occurmore often than, say, 6 times (if each symbol occurs atmost 4 times, Square can be reduced to 2-Sat – seeP. Austrin Stack Exchange post)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

24/42

Bipartite graph

w = (c1x3c2)2(c1x2c2)2(c1xc2)2 is a square:w = u � u where u = c1xxxc2xc2c1xc1xc2.Bipartite graph G associated with particular solutionw = u � u:

We also have w = v � v with v = c1x3c2c1x2c2c1xc2

which would have its associated bipartite graph

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

25/42

Nesting

G has the “non-nesting” property: if G contains an edge fromwk to w` and an edge from wp to wq, then it is not the casethat k < p < q < `Claim: There is a complete bipartite graph G of degree one(i.e., a perfect matching) on the symbols of w which isnon-nesting, iff w can be expressed as a square shuffle.

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

26/42

• Formal languages• Ginsburg & Spanier in ’65

• Modelling sequential execution of concurrent processes• Riddle (’73 & ’79), Shaw (’78), Hoare

• Shuffle on its own• Mansfield (’82 & ’83; polytime dynamic prog. alg. for

w = u1 � u2 � · · · � uk for constant k; when k varies,NP-complete)

• Warmuth & Haussler (’84; show w = u � u � · · · � uNP-complete by reduction from 3-Partition)

• More complexity• Buss & Yianilos (’98; “Monge condition”)• Erickson (2010; how hard is ∃u,w = u � u?); as

mentioned, Austrin gives polytime algorithm when eachsymbol occurs at most 4 times. Problem of the year onStack Exchange.

• Soltys (2012; shuffle in AC1 but not AC0.)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

27/42

PDA

A queue automaton is a PDA but with a queue instead of astack.

Reads the input w fromleft to right.

Queue is initially emptyand supports theoperations push-bottomand pop-top.

Automaton accepts if itsqueue is empty after thelast symbol of w hasbeen read.

w

Pop

Push

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

28/42

w = 0110110011101000

andu = 01101100 = 01101100

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε 0110110011101000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

0 110110011101000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

01 10110011101000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

011 0110011101000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

11 110011101000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

1 10011101000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε 0011101000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

0 011101000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε 11101000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

1 1101000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε 101000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

1 01000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

10 1000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

0 000

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε 00

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

0 0

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε ε accepted

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

30/42

Reduction

The many-one reduction to Square constructs a string wS

over the alphabet

Σ = {a1, a2, b, e0, e, c1, c2, x , y},

such that wS is a square iff S is a “yes” instance of3-Partition.The string wS consists of three parts:

wS := 〈loaderS〉〈distributorS〉〈verifierS〉.

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

31/42

Security

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

32/42

Enigma machine

http://enigmaco.de/enigma/enigma.html

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

33/42

Uses of Crypto

WEP, WPA/WPA2 SSL/SSH

PGP/GPG

RSA Encryption 128 bytes:

BE 89 0E A1 AD FA 7D 58 6A A1 6A E4

3B ED 75 E4 3E F2 19 F7 F3 0F FA D9

EF 62 10 52 7B FC DD 94 96 A8 35 6B

1B 50 60 2E 2E 79 AC 7C 2E A3 81 DE

8D 37 F9 EE 6E 4F 82 C7 E4 12 04 55

AF 57 69 94 8C EF 2E 50 7A 6D 53 0F

5B 5F 62 58 5E CF F2 DF F4 4D CE 71

B6 82 D7 86 E5 4F 77 E4 91 AA E4 BD

5A 65 AA 9E 20 4F 38 5E B4 8B E0 36

45 80 A8 D5 24 5C 46 9D F1 80 C0 6B

62 A5 1F 26 5E AE 17 47

DRMFairPlay

MD5

5c3079df8a48623f5aa10f0181a7ab03

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

34/42

Cryptography is the art of computing & communicating in thepresence of an adversarycryptography = κρυπτo (hidden or secret) + γραφη (writing)Three broad applications:

• encryption

• authentication

• integrity checking

Not all security is an application of crypto, e.g., Firewalls.

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

35/42

• Noisy channel

• Obfuscation

• Password login

• Client-server secure communication

• Non-repudiation

• Electronic voting

• Digital cash

• Secure storage on insecure media

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

36/42

Fundamental THEOREM of cryptography

The following are all equivalent:

• Secure shared-private-key cryptosystems exist.

• Secure signature schemes exist.

• Pseudo-random number generators exist.

• One-way functions exist.

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

37/42

Fundamental TENET of cryptography

Lots of smart people have been trying to figure out howto break X ,

but so far they have not been able to come up with anythingyet.

Therefore X is “secure” . . .

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

38/42

Fundamental ASSUMPTION of cryptography

Everybody knows how it works, i.e., the algorithm is publicknowledge.

The secret is the “key”.

In principle it can always be broken; but in practice it is toomuch work for the “bad guy.”

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

39/42

Amazing free tools:

GnuPG (http://www.gnupg.org)

OpenSSL (http://www.openssl.org)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

40/42

In practice Crypto not the problem

• We know how to do crypto scientifically→ and it is a huge help

• But, in practice most security problems due to buggy code→ writing software that is not buggy is the problem ofCS/SE

• Challenge 1: build secure systems with insecurecomponents→ similar to building reliable systems with unreliablecomponents

• Challenge 2: the art of making the right trade-offs tosatisfy contradictory objectives (e.g., security & speed)

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

42/42

Thank You!Questions?