Question: AMS 103: Data Security Matt Reuter Announcements Cryptography Computers/Smartphones/Tablets: Data Security History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Matthew G.
AMS 103: Data Security Matt Reuter Announcements Cryptography Computers/Smartphones/Tablets: Data Security History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Matthew G. Reuter Die-Hellman RSA AMS 103: Applied Mathematics in Modern Technology Stony Brook University {March 1, 3}, 2016 1 / 45 Warmup Puzzle Not graded, for your enjoyment only! Notable Number There is a unique number of ten digits, for which the following hold: all digits from 0 up to 9 occur exactly once in the number; the rst digit is divisible by 1; the number formed by the rst two digits is divisible by 2; the number formed by the rst three digits is divisible by 3; the number formed by the rst four digits is divisible by 4; the number formed by the rst ve digits is divisible by 5; the number formed by the rst six digits is divisible by 6; the number formed by the rst seven digits is divisible by 7; the number formed by the rst eight digits is divisible by 8; the number formed by the rst nine digits is divisible by 9; the number formed by the ten digits is divisible by 10. AMS 103: Data Security Matt Reuter Announcements Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA What is the number? From http://www.puzzle.dse.nl/math/index us.html 2 / 45 Agenda AMS 103: Data Security Matt Reuter Announcements Announcements Cryptography History & Context Math Tools Cryptography History & Context Math Tools Modular Arithmetic Number Theory Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Public Key Cryptography Die-Hellman RSA 3 / 45 Announcements (March 1) AMS 103: Data Security Matt Reuter Announcements Cryptography History & Context Math Tools Homework 3 on Data Transmission, Probability, Codes Due on Thursday, March 3 at 8:30 am EST. Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Visit oce hours for help. 4 / 45 AMS 103: Data Security Announcements (March 3) Matt Reuter Exam 1 Announcements Cryptography Next week (March 10), in class. Covers units on What is Applied Math? GPS History & Context Math Tools Data Storage Data Transmission Instructions page will be posted on Blackboard soon. Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Class on Tuesday, March 8 will be a review and Q&A session. Bring your questions! Data Security Homework Will be posted soon (probably over the weekend). Will be due after spring break. 5 / 45 More Announcements (March 3) AMS 103: Data Security Matt Reuter Announcements Oce Hours Cryptography Have questions? Visit oce hours before the exam! Math Tools Fri., March 4: Kate (10-11 am) Mon., March 7: Kate (1-2 pm), Samson (3-4 pm), Panu (4:30-5:30 pm) History & Context Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Tue., March 8: Matt (1-3 pm) Wed., March 9: Kate (10-11 am), Samson (12:30-1:30 pm), Panu (5-6 pm) Fri., March 11: None March 14-18: Have a wonderful and restful spring break! 6 / 45 Digital Devices: Computers, Phones, & Tablets The last couple lectures discussed (briey) challenges transferring data from one digital device to another. AMS 103: Data Security Matt Reuter Announcements How many errors might we expect during transmission? Cryptography Can we use tricks to help detect and/or correct any errors? Math Tools History & Context Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA 7 / 45 Digital Devices: Computers, Phones, & Tablets The last couple lectures discussed (briey) challenges transferring data from one digital device to another. AMS 103: Data Security Matt Reuter Announcements How many errors might we expect during transmission? Cryptography Can we use tricks to help detect and/or correct any errors? Math Tools History & Context Modular Arithmetic Number Theory Public Key Cryptography But we ignored the question of data security. How can we keep unintended people from intercepting our data en route? Die-Hellman RSA Are there particular applications where we want to ensure data security? Online banking IRS E-File Email 7 / 45 Cryptography AMS 103: Data Security Matt Reuter Denition (dictionary.com) Announcements Cryptography \"is the science or study of the techniques of secret writing, especially code and cipher systems, methods, and the like.\" This term dates back to 15th century. Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA What approaches have been used historically? http://www.bbc.co.uk/history/topics/enigma https://en.wikipedia.org/wiki/Code talker https://en.wikipedia.org/wiki/History of cryptography 8 / 45 Cryptography AMS 103: Data Security Matt Reuter Denition (dictionary.com) Announcements Cryptography \"is the science or study of the techniques of secret writing, especially code and cipher systems, methods, and the like.\" This term dates back to 15th century. Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA What approaches have been used historically? Ciphers Enigma machines Code talkers http://www.bbc.co.uk/history/topics/enigma https://en.wikipedia.org/wiki/Code talker https://en.wikipedia.org/wiki/History of cryptography 8 / 45 Examples of Ciphers Various types of ciphers have been used throughout history. A cipher is an algorithm for encrypting and decrypting data. AMS 103: Data Security Matt Reuter Announcements Cryptography Transposition Substitution Ciphers Replace each letter by another letter or symbol, making the original message seemingly unreadable. History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA https://en.wikipedia.org/wiki/Scytale We've already seen a transposition substitution cipher. What was it? 9 / 45 Examples of Ciphers Various types of ciphers have been used throughout history. A cipher is an algorithm for encrypting and decrypting data. AMS 103: Data Security Matt Reuter Announcements Cryptography Transposition Substitution Ciphers Replace each letter by another letter or symbol, making the original message seemingly unreadable. History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA https://en.wikipedia.org/wiki/Scytale We've already seen a transposition substitution cipher. What was it? The ASCII table. Shift Ciphers Shift each letter by a xed oset. https://en.wikipedia.org/wiki/Cryptography 9 / 45 More Examples of Cryptography AMS 103: Data Security Matt Reuter Cryptography appears in TV shows, movies, and books, usually (but not always) under the guise of \"cyber security\". Announcements Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA http://www.computableminds.com/post/Futurama/criptography/code/encrypt/decrypt/ Other legal/ethical challenges: The San Bernardino iPhone case (link). What is privacy? Can we expect it? 10 / 45 Challenges in Cryptography & Data Security AMS 103: Data Security Matt Reuter All cryptosystems (methods for cryptography) use an algorithm to encrypt and decrypt data. Both sender and the receiver have to agree on the cryptosystem so that they use the correct algorithms to encrypt and decrypt data. Announcements Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA 11 / 45 Challenges in Cryptography & Data Security AMS 103: Data Security Matt Reuter All cryptosystems (methods for cryptography) use an algorithm to encrypt and decrypt data. Both sender and the receiver have to agree on the cryptosystem so that they use the correct algorithms to encrypt and decrypt data. But how do the sender and receiver agree on a cryptosystem? Announcements Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Well, they could send messages to each other. But what if those messages are intercepted? Our Driving Question(s) How do modern cryptosystems work? How do the sender and receiver agree on a cryptosystem and then use it to securely transfer data? 11 / 45 Modular Arithmetic Before we dive in to modern cryptosystems, we need to discuss modular arithmetic and number theory. AMS 103: Data Security Matt Reuter Announcements Cryptography Denition (from wikipedia) Modular arithmetic \"is a system of arithmetic for integers, where numbers 'wrap around' upon reaching a certain valuethe modulus.\" History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Supplemental Resources Wikipedia Khan Academy Article, \"Fun with Modular Arithmetic\" Slides from Prof. Kondakci. The following discussion is based on these slides. 12 / 45 A Well-Known Example of Modular Arithmetic Any ideas for everyday uses of modular arithmetic? AMS 103: Data Security Matt Reuter Announcements Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA 13 / 45 A Well-Known Example of Modular Arithmetic Any ideas for everyday uses of modular arithmetic? Clock Math The time is 8:50 am, what time is it in 20 minutes? In 5 hours? AMS 103: Data Security Matt Reuter Announcements Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA http://mathforum.org/mathimages/index.php/Modular arithmetic 13 / 45 A Well-Known Example of Modular Arithmetic Any ideas for everyday uses of modular arithmetic? Clock Math AMS 103: Data Security Matt Reuter Announcements The time is 8:50 am, what time is it in 20 minutes? In 5 hours? Answer: 9:10 am; 1:50 pm. In \"clock math\" we know that the hour has to be between 1 and 12, and the minute between 0 and 59. The 13th hour wraps back to 1, and similarly for the 60th minute. Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA http://mathforum.org/mathimages/index.php/Modular arithmetic 13 / 45 Using Modular Arithmetic AMS 103: Data Security Matt Reuter Modular arithmetic is analogous to regular arithmetic (we canand willdene addition, multiplication, etc.), with the caveat that the nal result is always between 0 and (n 1), inclusive. n is called the modulus. Announcements Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA 14 / 45 Using Modular Arithmetic AMS 103: Data Security Matt Reuter Modular arithmetic is analogous to regular arithmetic (we canand willdene addition, multiplication, etc.), with the caveat that the nal result is always between 0 and (n 1), inclusive. n is called the modulus. Announcements Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Suppose that m is the nal result of our calculation. We write \"m(mod n)\" to mean the modulus of m with respect to n. Die-Hellman RSA Calculating m(mod n) Add or subtract multiples of n to m until you get a number between 0 and (n 1). 14 / 45 Examples of Modular Arithmetic AMS 103: Data Security Matt Reuter Announcements Back to Clock Math 20 minutes past 8:50 could be 8:70, but we know that the minutes should be between 0 and 59. We subtract 60 minutes and add 1 to the hour. We then write the nal answer, 9:10, noting that 70(mod 60) is 10. Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA 15 / 45 Examples of Modular Arithmetic AMS 103: Data Security Matt Reuter Announcements Back to Clock Math Cryptography 20 minutes past 8:50 could be 8:70, but we know that the minutes should be between 0 and 59. We subtract 60 minutes and add 1 to the hour. We then write the nal answer, 9:10, noting that 70(mod 60) is 10. History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA More Examples Determine: 1. 6(mod 7) 3. 7(mod 11) 2. 17(mod 4) 4. 2(mod 2) 15 / 45 Examples of Modular Arithmetic AMS 103: Data Security Matt Reuter Announcements Back to Clock Math Cryptography 20 minutes past 8:50 could be 8:70, but we know that the minutes should be between 0 and 59. We subtract 60 minutes and add 1 to the hour. We then write the nal answer, 9:10, noting that 70(mod 60) is 10. History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA More Examples Determine: 1. 6(mod 7) 3. 7(mod 11) 2. 17(mod 4) 4. 2(mod 2) Answer: 1. 6; 2. 1; 3. 4; 4. 0. 15 / 45 AMS 103: Data Security Congruence Matt Reuter Two numbers a and b are congruent modulo n if a(mod n) = b(mod n). Announcements Cryptography History & Context Math Tools If a and b are congruent modulo n, we write a b(mod n) or b a(mod n). Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Note the \"\" sign, which is not \"=\". In this case, we know that the dierence between a and b is a multiple of n. 16 / 45 AMS 103: Data Security Congruence Matt Reuter Two numbers a and b are congruent modulo n if a(mod n) = b(mod n). Announcements Cryptography History & Context Math Tools If a and b are congruent modulo n, we write a b(mod n) or b a(mod n). Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Note the \"\" sign, which is not \"=\". In this case, we know that the dierence between a and b is a multiple of n. Examples True or false? 1. 14 6(mod 5) 2. 16 21(mod 6) 16 / 45 AMS 103: Data Security Congruence Matt Reuter Two numbers a and b are congruent modulo n if a(mod n) = b(mod n). Announcements Cryptography History & Context Math Tools If a and b are congruent modulo n, we write a b(mod n) or b a(mod n). Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Note the \"\" sign, which is not \"=\". In this case, we know that the dierence between a and b is a multiple of n. Examples True or false? 1. 14 6(mod 5) 2. 16 21(mod 6) Answer: 1. True; 2. False. 16 / 45 AMS 103: Data Security Arithmetic Operations Matt Reuter Addition, subtraction, and multiplication in modular arithmetic are very similar to their usual cases. Announcements Cryptography History & Context [a(mod n) + b(mod n)] (mod n) = (a + b)(mod n) [a(mod n) b(mod n)] (mod n) = (a b)(mod n) [a(mod n) b(mod n)] (mod n) = (a b)(mod n) Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Verication Verify the above formulas using a = 11, b = 15, and n = 8. Answer: They're correct! You can also check that the \"binary addition\" we saw last week is just modular addition with modulus 2. 17 / 45 Modular Exponentiation AMS 103: Data Security Matt Reuter Announcements Modular exponentiation is much simpler to calculate than regular exponentiation. In short, repeatedly use the modular multiplication formula: [a(mod n) b(mod n)] (mod n) = (a b)(mod n) Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA where now both a and b are powers of the same integer. Example Calculate 139 (mod 7). 18 / 45 AMS 103: Data Security Modular Exponentiation Matt Reuter Announcements Modular exponentiation is much simpler to calculate than regular exponentiation. In short, repeatedly use the modular multiplication formula: [a(mod n) b(mod n)] (mod n) = (a b)(mod n) Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA where now both a and b are powers of the same integer. Example Calculate 139 (mod 7). Answer: 6. 18 / 45 But Why? AMS 103: Data Security Matt Reuter Announcements Why are we bothering with this modular arithmetic? As we'll see later, it's used in the RSA algorithm for encryption/decryption. Modular arithmetic keeps the numbers we use relatively small. From the last example, 139 = 10, 604, 499, 373 whereas 139 (mod 7) = 6. Our previous lectures have discussed how computers store numbers; smaller numbers require less space. Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA To foreshadow, the RSA algorithm might need to use, e.g., 5929 at some point, which is a very large number. We'll see that we only actually need to use, perhaps, 5929 (mod 91), which is much more manageable. 19 / 45 We Also Need Some Elements of Number Theory AMS 103: Data Security Matt Reuter Announcements Denition Cryptography The greatest common divisor, or GCD, of two numbers a and b is the largest integer that divides both a and b. Math Tools History & Context Modular Arithmetic Number Theory Public Key Cryptography Examples Die-Hellman RSA What is the GCD of 1. 4 and 6? 2. 5 and 25? 20 / 45 We Also Need Some Elements of Number Theory AMS 103: Data Security Matt Reuter Announcements Denition Cryptography The greatest common divisor, or GCD, of two numbers a and b is the largest integer that divides both a and b. Math Tools History & Context Modular Arithmetic Number Theory Public Key Cryptography Examples Die-Hellman RSA What is the GCD of 1. 4 and 6? 2. 5 and 25? Answer: 1. 2; 2. 5. The GCD of two numbers is often written GCD(a, b). 20 / 45 How Do We Find the GCD? AMS 103: Data Security Matt Reuter Euler's Algorithm Announcements Use the fact that GCD(a, b) = GCD(b, a(mod b)). This recursively makes the numbers smaller until it's trivial to nd the GCD. Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography When using Euler's algorithm, it is convenient to write GCD(a, 0) = a, even though the GCD of a and 0 is really undened. Die-Hellman RSA Finding GCDs Find the GCD of: 1. 96 and 142. 2. 117 and 6. 21 / 45 AMS 103: Data Security How Do We Find the GCD? Matt Reuter Euler's Algorithm Announcements Use the fact that GCD(a, b) = GCD(b, a(mod b)). This recursively makes the numbers smaller until it's trivial to nd the GCD. Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography When using Euler's algorithm, it is convenient to write GCD(a, 0) = a, even though the GCD of a and 0 is really undened. Die-Hellman RSA Finding GCDs Find the GCD of: 1. 96 and 142. 2. 117 and 6. Answer: 1. 2; 2. 3. 21 / 45 Prime Numbers AMS 103: Data Security Matt Reuter Denition An integer is prime if the only integers that divide it are 1 and itself. Announcements Cryptography History & Context Math Tools Modular Arithmetic Number Theory Prime numbers cannot be written as products of other integers. Public Key Cryptography Die-Hellman RSA 1 is debatably prime, but generally not of interest. Prime numbers are central to number theory. Prime Numbers 2, 3, 5, 7 are prime numbers, but 4, 6, 8, 9, 10 are not. More information on MathWorld (link) 22 / 45 Prime Factorization AMS 103: Data Security Matt Reuter Announcements Cryptography History & Context Every integer can be uniquely written as a product of prime numbers. For example, 12 = 2 2 3 = 22 3. Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Finding Prime Factorizations Determine the prime factorization of 29,400. 23 / 45 AMS 103: Data Security Prime Factorization Matt Reuter Announcements Cryptography History & Context Every integer can be uniquely written as a product of prime numbers. For example, 12 = 2 2 3 = 22 3. Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Finding Prime Factorizations Determine the prime factorization of 29,400. Answer: 23 3 52 72 . 23 / 45 Using Prime Factorizations AMS 103: Data Security Matt Reuter Announcements It can be useful to know which prime numbers divide a given integer, and how many times. The GCD: Suppose we know the prime factorizations of a and b. GCD(a, b) will be the product of the common prime factors of a and b. Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Prime Factorizations & the GCD a = 60 = 22 3 5 and b = 126 = 2 32 7. Both numbers share one factor of 2 and one factor of 3, so GCD(60, 126) = 2 3 = 6. Verify using Euler's algorithm. 24 / 45 Relatively Prime Integers AMS 103: Data Security Matt Reuter Announcements Denition Cryptography History & Context Two integers a and b are called relatively prime if they have no common factors (except 1) in their prime factorizations. Math Tools In other words, a and b are relatively prime if GCD(a, b) = 1. Public Key Cryptography Modular Arithmetic Number Theory Die-Hellman RSA Relatively Prime? Determine if the following integers are relatively prime: 1. 4 and 27. 2. 12 and 63. More information on MathWorld (link). 25 / 45 AMS 103: Data Security Relatively Prime Integers Matt Reuter Announcements Denition Cryptography History & Context Two integers a and b are called relatively prime if they have no common factors (except 1) in their prime factorizations. Math Tools In other words, a and b are relatively prime if GCD(a, b) = 1. Public Key Cryptography Modular Arithmetic Number Theory Die-Hellman RSA Relatively Prime? Determine if the following integers are relatively prime: 1. 4 and 27. 2. 12 and 63. Answer: 1. Yes; 2. No. More information on MathWorld (link). 25 / 45 One Last Denition (Euler was Really Smart) Euler's Totient Function, from MathWorld (link) AMS 103: Data Security Matt Reuter Announcements \"The totient function (n). . . is dened as the number of positive integers n that are relatively prime to. . . n, where 1 is counted as being relatively prime to all numbers.\" Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Image from MathWorld (link). 26 / 45 Using Euler's Totient Function Some useful properties AMS 103: Data Security Matt Reuter If p is prime, (p) = p 1. Announcements If p and q are prime, (p q) = (p 1)(q 1). Cryptography If a and b are relatively prime, a(b) 1(mod b). This is called Euler's Totient Theorem (more info). Math Tools History & Context Modular Arithmetic Number Theory Public Key Cryptography Examples Die-Hellman RSA Determine 1. (10). 3. (21). 2. (37). 4. 34 (mod 10). 27 / 45 Using Euler's Totient Function Some useful properties AMS 103: Data Security Matt Reuter If p is prime, (p) = p 1. Announcements If p and q are prime, (p q) = (p 1)(q 1). Cryptography If a and b are relatively prime, a(b) 1(mod b). This is called Euler's Totient Theorem (more info). Math Tools History & Context Modular Arithmetic Number Theory Public Key Cryptography Examples Die-Hellman RSA Determine 1. (10). 3. (21). 2. (37). 4. 34 (mod 10). Answer: 1. 4; 2. 36; 3. 12; 4. 1. This last one seems a bit contorted because 34 = 81 and 10 are small integers. We will see more sophisticated examples when discussing the RSA algorithm. 27 / 45 Back to Cryptography AMS 103: Data Security Matt Reuter Announcements So we have all these modular arithmetic and number theory tools. How does they help us with cryptography and data security? Number theory, using modular arithmetic, proves that our ciphers our algorithms for encrypting, and subsequently decrypting, data work. When applied correctly, the two operations are inverses of each other. Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA helps set up the cryptosystem. That is, it gets both the sender and receiver to agree on a cipher without compromising security. 28 / 45 Public Key Cryptography AMS 103: Data Security Matt Reuter One of the big challenges in cryptography is getting the sender and receiver to agree on a cipher. They both need to use the complementary encryption/decryption routines, otherwise the message won't be useful. It'd be too secure? Historically, have the sender and receiver meet to condentially discuss the cipher. Announcements Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA 29 / 45 Public Key Cryptography AMS 103: Data Security Matt Reuter One of the big challenges in cryptography is getting the sender and receiver to agree on a cipher. They both need to use the complementary encryption/decryption routines, otherwise the message won't be useful. It'd be too secure? Historically, have the sender and receiver meet to condentially discuss the cipher. Announcements Cryptography History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA Modern day, this might mean using a secure transmission channel to inform both parties of the cipher. But what if a secure channel isn't available and the two parties can't \"meet privately\"? This is the real world. In such a case, we can use public key cryptography. 29 / 45 Die-Hellman Exchange Public key systems usually rely on Die-Hellman exchange. In Recent News AMS 103: Data Security Matt Reuter Announcements Cryptography It was announced on Tuesday (March 1) that Die and Hellman won the Turing Award for their development of public key cryptography back in the 70s. This award is widely regarded as the \"Nobel Prize\" of computer science. So this is really top-notch work. History & Context Math Tools Modular Arithmetic Number Theory Public Key Cryptography Die-Hellman RSA You can nd out more at the NY Times (link). Picture from that site. More information? Try MathWorld (link) or the Khan Academy (link). 30 / 45 Die-Hellman Exchange AMS 103: Data Security Matt Reuter Announcements Two parties, usually named \"Bob\" and \"Alice\