An algorithmic view of Computer Science

878 views

Published on

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.

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
878
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

An algorithmic view of Computer Science

  1. 1. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs An Algorithmic View of Computer Science Michael Soltys My Research Linear Algebra 0-1 Matrices Strings msoltys@gmail.com @MichaelMSoltys Security Cryptography Applications McMaster University, Canada November 1, 2013 1/42
  2. 2. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 2/42
  3. 3. An Algorithmic View of Computer Science Outline Michael Soltys 1 Why Study Computer Science? Why Study Computer Science? History Exciting field Lots of Jobs History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 2 My Research Linear Algebra 0-1 Matrices Strings 3 Security Cryptography Applications 3/42
  4. 4. An Algorithmic View of Computer Science Prehistory Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Engraved ocher plaque Blombos 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 marks La Madeleine, France 17,000–11,500 years old 4/42
  5. 5. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 5/42 1930s: Math models of computation (Turing machine)
  6. 6. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 5/42 1930s: Math models of computation (Turing machine) 2 1940s: First electronic computers (ENIAC)
  7. 7. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 5/42 1930s: Math models of computation (Turing machine) 2 1940s: First electronic computers (ENIAC) 3 1950s: First programming languages (Fortran and Lisp)
  8. 8. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 5/42 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
  9. 9. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 5/42 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 and Commodore PET)
  10. 10. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings 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 and Commodore PET) 6 1980s: Computers with a mouse and a graphical user interface (Apple Macintosh, Microsoft Windows) Security Cryptography Applications 5/42
  11. 11. An Algorithmic View of Computer Science History Michael Soltys 1 History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings 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 and Commodore PET) 6 1980s: Computers with a mouse and a graphical user interface (Apple Macintosh, Microsoft Windows) 7 Why Study Computer Science? 1990s: World Wide Web (web browsers and search engines) Security Cryptography Applications 5/42
  12. 12. An Algorithmic View of Computer Science History Michael Soltys 1 My Research Linear Algebra 0-1 Matrices Strings 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 and Commodore PET) 6 1980s: Computers with a mouse and a graphical user interface (Apple Macintosh, Microsoft Windows) 1990s: World Wide Web (web browsers and search engines) 8 History Exciting field Lots of Jobs 1930s: Math models of computation (Turing machine) 7 Why Study Computer Science? 2000s: Social media and smart phones (Facebook and Apple iPhone) Security Cryptography Applications 5/42
  13. 13. An Algorithmic View of Computer Science Today Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6/42 We use computers to: 1 Solve problems (computer shortest path from A to B)
  14. 14. An Algorithmic View of Computer Science Today Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs We use computers to: 1 Solve problems (computer shortest path from A to B) 2 Managing information (Cloud, Search Engine, eHealth) My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6/42
  15. 15. An Algorithmic View of Computer Science Today Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs 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) My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6/42
  16. 16. An Algorithmic View of Computer Science Today Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs 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) My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6/42
  17. 17. An Algorithmic View of Computer Science Today Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs 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) My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6/42
  18. 18. An Algorithmic View of Computer Science Young Field Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs Fundamental problems still unsolved My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 7/42 1 Engineering: How to write correct programs?
  19. 19. An Algorithmic View of Computer Science Young Field Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs Fundamental problems still unsolved My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 7/42 1 Engineering: How to write correct programs? 2 Science: Why are some problems computationally difficult?
  20. 20. An Algorithmic View of Computer Science A vast multi-disciplinary field Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 8/42 1 Mathematics, Engineering, and Science
  21. 21. An Algorithmic View of Computer Science A vast multi-disciplinary field Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 8/42 1 Mathematics, Engineering, and Science 2 Linguistics: Context-Free Grammars, Wordnet
  22. 22. An Algorithmic View of Computer Science A vast multi-disciplinary field Michael Soltys Why Study Computer Science? 1 Mathematics, Engineering, and Science History Exciting field Lots of Jobs 2 Linguistics: Context-Free Grammars, Wordnet My Research 3 Psychology: Human-Computer Interaction, Web Design Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 8/42
  23. 23. An Algorithmic View of Computer Science A vast multi-disciplinary field Michael Soltys Why Study Computer Science? 1 Mathematics, Engineering, and Science History Exciting field Lots of Jobs 2 Linguistics: Context-Free Grammars, Wordnet My Research 3 Psychology: Human-Computer Interaction, Web Design Linear Algebra 0-1 Matrices Strings 4 Sociology: Crowd mining Security Cryptography Applications 8/42
  24. 24. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 9/42 Sociology of CS
  25. 25. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 10/42 Excellent Job Outlook
  26. 26. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 11/42
  27. 27. An Algorithmic View of Computer Science Job Outlook Numbers1 Michael Soltys Area Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Employment 2010 2020 Change 2010–20 % Median Salary 11 22 $83,340 $73,710 30 12 22 22 28 31 $90,530 $71,380 $75,660 $75,660 $69,160 $73,490 Engineering jobs Computing jobs Software Developers Comp. Programmers Security & Networks Comp. Syst. Analyst Syst. Admin. Database Admin. 913,100 363,100 302,300 544,400 347,200 110,800 1,184,000 406,800 368,000 664,800 443,800 144,700 270,900 43,700 65,700 120,400 96,600 33,900 Employers favor graduates who can communicate! [Barrett 2013] 1 12/42 United States Department of Labor Occupational Outlook Handbook, 2012-13 Edition, http://www.bls.gov/oco/
  28. 28. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 13/42 My Research
  29. 29. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 14/42 P vs NP
  30. 30. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 14/42 P vs NP
  31. 31. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 14/42 P vs NP
  32. 32. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? 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 “Brute Force”? This is the P vs NP problem [Cook]
  33. 33. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? 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 “Brute Force”? This is the P vs NP problem [Cook] • This problem is very difficult.
  34. 34. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings • Perhaps there is a better way of doing this than “Brute Force”? This is the P vs NP problem [Cook] • This problem is very difficult. • A related problem is the NP vs co-NP question, which can be restated as follows: Is there a formal proof system where every true statement has a short proof? Security Cryptography Applications 15/42 An answer to this questions would have very interesting implications for Logic & Epistemology
  35. 35. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings • Perhaps there is a better way of doing this than “Brute Force”? This is the P vs NP problem [Cook] • This problem is very difficult. • A related problem is the NP vs co-NP question, which can be restated as follows: Is there a formal proof system where every true statement has a short proof? Security Cryptography Applications An answer to this questions would have very interesting implications for Logic & Epistemology • Cook’s program for the NP vs co-NP is a systematic study of “reverse mathematics” 15/42
  36. 36. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings • Perhaps there is a better way of doing this than “Brute Force”? This is the P vs NP problem [Cook] • This problem is very difficult. • A related problem is the NP vs co-NP question, which can be restated as follows: Is there a formal proof system where every true statement has a short proof? Security Cryptography Applications An answer to this questions would have very interesting implications for Logic & Epistemology • Cook’s program for the NP vs co-NP is a systematic study of “reverse mathematics” • My contribution is the “mapping out” of Linear Algebra [Cook Soltys 2004] 15/42
  37. 37. An Algorithmic View of Computer Science Statistical Archeology Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 16/42 • Sequence dating: Flinders Petrie, 1899
  38. 38. An Algorithmic View of Computer Science Statistical Archeology Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications • Sequence dating: Flinders Petrie, 1899 • 900 pre-dynastic Egyptian graves containing 800 representatives of pottery 16/42
  39. 39. An Algorithmic View of Computer Science Statistical Archeology Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications • Sequence dating: Flinders Petrie, 1899 • 900 pre-dynastic Egyptian graves containing 800 representatives of pottery • The “graves-versus-varieties” matrix contains vast amount of information, such as sequential ordering [Kendall 1969] 16/42
  40. 40. An Algorithmic View of Computer Science Paleogenomics Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications DNA sequence organization of ancient living organisms using similarities and differences between chromosomes of extant organisms [Chauve et al 2008] 17/42
  41. 41. An Algorithmic View of Computer Science Consecutive-1 Property: C1P Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Consider a slight relaxation, (k, δ)-C1P: each row has at most k blocks 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] 18/42
  42. 42. An Algorithmic View of Computer Science K¨nig’s Min-Max o Michael Soltys Why Study Computer Science? 1 0 1 1 History Exciting field Lots of Jobs 0 0 1 0 0 1 1 0 0 1 0 0 My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications [Fernandez Soltys 2013] 19/42
  43. 43. An Algorithmic View of Computer Science Smart bacteria Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Ehrenfeucht-Mycielski Sequence • 011010101010111010011111001100011010101010 Linear Algebra 0-1 Matrices Strings Security Cryptography Applications [Herman Soltys 2009] 20/42
  44. 44. An Algorithmic View of Computer Science Smart bacteria Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Ehrenfeucht-Mycielski Sequence • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 Security Cryptography Applications [Herman Soltys 2009] 20/42
  45. 45. An Algorithmic View of Computer Science Smart bacteria Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Ehrenfeucht-Mycielski Sequence • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 Cryptography Applications [Herman Soltys 2009] 20/42
  46. 46. An Algorithmic View of Computer Science Smart bacteria Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Ehrenfeucht-Mycielski Sequence • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 1 [Herman Soltys 2009] 20/42
  47. 47. An Algorithmic View of Computer Science Do the shuffle Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 21/42 • w is the shuffle of u, v : w = u v
  48. 48. An Algorithmic View of Computer Science Do the shuffle Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 21/42 • w is the shuffle of u, v : w = u • w = 0110110011101000 u = 01101110 v = 10101000 w = 0110110011101000 v
  49. 49. An Algorithmic View of Computer Science Do the shuffle Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 21/42 • w is the shuffle of u, v : w = u v • w = 0110110011101000 u = 01101110 v = 10101000 w = 0110110011101000 • w is a shuffle of u and v provided: u = x1 x2 · · · xk v = y1 y2 · · · yk and w obtained by “interleaving” w = x1 y1 x2 y2 · · · xk yk .
  50. 50. An Algorithmic View of Computer Science Square Shuffle Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research w is a square provided it is equal to a shuffle of a u with itself, i.e., ∃u s.t. w = u u The string w = 0110110011101000 is a square: Linear Algebra 0-1 Matrices Strings w = 0110110011101000 Security Cryptography Applications and u = 01101100 = 01101100 22/42
  51. 51. An Algorithmic View of Computer Science Result Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 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 set of even length strings) • What about if |Σ| = ∞ but each symbol cannot occur more often than, say, 6 times (if each symbol occurs at most 4 times, Square can be reduced to 2-Sat – see P. Austrin Stack Exchange post) 23/42
  52. 52. An Algorithmic View of Computer Science Bipartite graph Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research w = (c1 x 3 c2 )2 (c1 x 2 c2 )2 (c1 xc2 )2 is a square: w = u u where u = c1 xxxc2 xc2 c1 xc1 xc2 . Bipartite graph G associated with particular solution w = u u: Linear Algebra 0-1 Matrices Strings Security Cryptography Applications We also have w = v v with v = c1 x 3 c2 c1 x 2 c2 c1 xc2 which would have its associated bipartite graph 24/42
  53. 53. An Algorithmic View of Computer Science Nesting Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 25/42 G has the “non-nesting” property: if G contains an edge from wk to w and an edge from wp to wq , then it is not the case that 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 is non-nesting, iff w can be expressed as a square shuffle.
  54. 54. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? 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 · · · u NP-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 each symbol occurs at most 4 times. Problem of the year on Stack Exchange. • Soltys (2012; shuffle in AC1 but not AC0 .)
  55. 55. An Algorithmic View of Computer Science PDA Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs A queue automaton is a PDA but with a queue instead of a stack. Reads the input w from left to right. Pop My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Queue is initially empty and supports the operations push-bottom and pop-top. Automaton accepts if its queue is empty after the last symbol of w has Push been read. 27/42 w
  56. 56. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 28/42 w = 0110110011101000 and u = 01101100 = 01101100
  57. 57. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 ε 0110110011101000
  58. 58. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 0 110110011101000
  59. 59. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 0 1 10110011101000
  60. 60. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 0 1 1 0110011101000
  61. 61. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 1 1 110011101000
  62. 62. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 1 10011101000
  63. 63. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 ε 0011101000
  64. 64. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 0 011101000
  65. 65. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 ε 11101000
  66. 66. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 1 1101000
  67. 67. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 ε 101000
  68. 68. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 1 01000
  69. 69. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 1 0 1000
  70. 70. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 0 000
  71. 71. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 ε 00
  72. 72. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 0 0
  73. 73. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 29/42 ε ε accepted
  74. 74. An Algorithmic View of Computer Science Reduction Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 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 of 3-Partition. The string wS consists of three parts: wS := 30/42 loaderS distributorS verifierS .
  75. 75. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 31/42 Security
  76. 76. An Algorithmic View of Computer Science Enigma machine Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 32/42 http://enigmaco.de/enigma/enigma.html
  77. 77. An Algorithmic View of Computer Science Uses of Crypto Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs SSL/SSH WEP, WPA/WPA2 My Research PGP/GPG Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 33/42 RSA Encryption BE 89 0E A1 AD 3B ED 75 E4 3E EF 62 10 52 7B 1B 50 60 2E 2E 8D 37 F9 EE 6E AF 57 69 94 8C 5B 5F 62 58 5E B6 82 D7 86 E5 5A 65 AA 9E 20 45 80 A8 D5 24 62 A5 1F 26 5E 128 bytes: FA 7D 58 6A F2 19 F7 F3 FC DD 94 96 79 AC 7C 2E 4F 82 C7 E4 EF 2E 50 7A CF F2 DF F4 4F 77 E4 91 4F 38 5E B4 5C 46 9D F1 AE 17 47 A1 0F A8 A3 12 6D 4D AA 8B 80 6A FA 35 81 04 53 CE E4 E0 C0 E4 D9 6B DE 55 0F 71 BD 36 6B DRM FairPlay MD5 5c3079df8a48623f5aa10f0181a7ab03
  78. 78. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Cryptography is the art of computing & communicating in the presence of an adversary cryptography = κρυπτ o (hidden or secret) + γραφη (writing) Three broad applications: • encryption • authentication • integrity checking Not all security is an application of crypto, e.g., Firewalls. 34/42
  79. 79. An Algorithmic View of Computer Science Michael Soltys • Noisy channel Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications • Obfuscation • Password login • Client-server secure communication • Non-repudiation • Electronic voting • Digital cash • Secure storage on insecure media 35/42
  80. 80. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? 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.
  81. 81. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Fundamental TENET of cryptography Lots of smart people have been trying to figure out how to break X , but so far they have not been able to come up with anything yet. Therefore X is “secure” . . . 37/42
  82. 82. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Fundamental ASSUMPTION of cryptography Everybody knows how it works, i.e., the algorithm is public knowledge. The secret is the “key”. Security Cryptography Applications 38/42 In principle it can always be broken; but in practice it is too much work for the “bad guy.”
  83. 83. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? Amazing free tools: History Exciting field Lots of Jobs My Research GnuPG (http://www.gnupg.org) Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 39/42 OpenSSL (http://www.openssl.org)
  84. 84. An Algorithmic View of Computer Science In practice Crypto not the problem Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications • 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 of CS/SE • Challenge 1: build secure systems with insecure components → similar to building reliable systems with unreliable components • Challenge 2: the art of making the right trade-offs to satisfy contradictory objectives (e.g., security & speed) 40/42
  85. 85. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? 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 check whether a program conforms to its specifications?
  86. 86. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether a program conforms to its specifications? 2 How to “specify” security? Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 41/42
  87. 87. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether a program conforms to its specifications? 2 How to “specify” security? 3 User discipline is 90% of any security policy Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 41/42
  88. 88. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether 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 Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 41/42
  89. 89. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether 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 Consulting work: Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 41/42 5 • Forensic work — chain of evidence • Network Penetration Detection
  90. 90. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether 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 Consulting work: Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research 5 • Forensic work — chain of evidence • Network Penetration Detection Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 41/42 6 Recent masters theses: • With Dragan Rakas: Homomorphic encryption • With Sabry Aly: GGH
  91. 91. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether 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 Consulting work: Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research 5 • Forensic work — chain of evidence • Network Penetration Detection Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6 • With Dragan Rakas: Homomorphic encryption • With Sabry Aly: GGH 7 41/42 Recent masters theses: Cybersecurity field not ready to be professionalized [The National Academies Press 2013] Ad hoc solutions; best approach is “case based”
  92. 92. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 42/42 Thank You! Questions?

×