Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Class 17: Addition, Problems, Key Distribution

Class 17: Addition, Problems, Key Distribution

cs1120: Introduction to Computing
Explorations in Language, Logic, and Machine
University of Virginia, Spring 2016

http://xplorecs.org/class17

Class 17:
Addition
Problems, Algorithms, Cost
Cryptography
Key Distribution

David Evans

March 02, 2016
Tweet

More Decks by David Evans

Other Decks in Programming

Transcript

  1. Class 17: Addition, Problems, and Key Distribution Introduction to Computing:

    Explorations in Language, Logic, and Machines cs1120 Spring 2016 David Evans University of Virginia
  2. Menu Addition Algorithms Problems and Algorithms Cryptography (Project 4, and

    Turing Award) Merkle’s Puzzles Return Project 3 Please check website after class today: (short) survey to do before noon tomorrow!
  3. Cost of Addition Third-grade algorithm (what Python does): work to

    add two N-digit numbers, is wN where w is the (fixed) work to add two single digits Most Basic Adding algorithm (counting by ones): work to add two N-digit numbers, is the magnitude of the second number
  4. Problems and Algorithms problem: set of possible inputs and desired

    property of output. procedure: precise description of an information process. algorithm: a procedure that solves a problem. To solve a problem, an algorithm must (eventually) produce the correct output for any problem input. program: description of a procedure that can be executed by a computer.
  5. 20 Active Attacker Encrypt Decrypt Plaintext Ciphertext Plaintext Alice Bob

    Insecure Channel (e.g., the Internet) Mallory (active attacker)
  6. 21 Message Cryptosystem Encrypt Decrypt Plaintext Ciphertext Plaintext Ciphertext Two

    functions: E(m: byte[]) è byte[] and D(c: byte[]) è byte[] Correctness property: for all possible messages m, D(E(m)) = m Security property: given c ç E(m), it is “hard” to learn anything interesting about m.
  7. 22 It is possible to state the security property precisely

    (and prove a cryptosystem satisfies it given hardness assumptions). Shafi Goldwasser and Silvio Micali 2013 Turing Award Winners (for doing this in the 1980s)
  8. 23 Message Cryptosystem Encrypt Decrypt Plaintext Ciphertext Plaintext Ciphertext Two

    functions: E(m: byte[]) è byte[] and D(c: byte[]) è byte[] Correctness property: for all possible messages m, D(E(m)) = m Security property: given c ç E(m), it is “hard” to learn anything interesting about m.
  9. 25 “The enemy knows the system being used.” Claude Shannon,

    Communication Theory of Secrecy Systems (1949) Claude Shannon 1916-2001
  10. (Keyed) Symmetric Cryptosystem 26 Encrypt Decrypt Plaintext Ciphertext Plaintext Insecure

    Channel Encrypt Decrypt Plaintext Ciphertext Plaintext Insecure Channel Key Key Only secret is the key, not the E and D functions that now take key as input.
  11. Project 4 Key: initial configuration of the wheels (known to

    sender and receiver from daily key in secure codebook distributed by secure couriers)
  12. 28 Encrypt Decrypt Plaintext Ciphertext Plaintext Insecure Channel Key Key

    How well can shared key cryptosystems work on the Internet?
  13. Return Project 3 o Green Smiley – Got most things,

    but will need to do more to earn Green Belt. «Yellow Smiley – Excellent Work: you are now a Green Belt! «« - exceptional work «««- better than I thought possible ««««- breakthrough! «««««- you deserve a Turing Award!