A Taste of Pi: Clocks, Set, and the Secret Math of Spies

Similar documents
8 Elliptic Curve Cryptography

Public-key Cryptography and elliptic curves

Number Theory. CSS322: Security and Cryptography. Sirindhorn International Institute of Technology Thammasat University CSS322. Number Theory.

6. ELLIPTIC CURVE CRYPTOGRAPHY (ECC)

Q 2.0.2: If it s 5:30pm now, what time will it be in 4753 hours? Q 2.0.3: Today is Wednesday. What day of the week will it be in one year from today?

Clock Arithmetic. 1. If it is 9 o clock and you get out of school in 4 hours, when do you get out of school?

Elliptic Nets How To Catch an Elliptic Curve Katherine Stange USC Women in Math Seminar November 7,

Cosc 412: Cryptography and complexity Lecture 7 (22/8/2018) Knapsacks and attacks

Introduction to Elliptic Curve Cryptography. Anupam Datta

The Elliptic Curve in https

Public-key Cryptography and elliptic curves

Number Theory. Modular Arithmetic

Homework 4 for Modular Arithmetic: The RSA Cipher

Security Issues in Cloud Computing Modern Cryptography II Asymmetric Cryptography

MEETING 6 - MODULAR ARITHMETIC AND INTRODUCTORY CRYPTOGRAPHY

Number Theory & Modern Cryptography

Public Key Cryptography

Public-key cryptography and the Discrete-Logarithm Problem. Tanja Lange Technische Universiteit Eindhoven. with some slides by Daniel J.

Public Key Cryptography

Elliptic Curve Cryptography

Number theory (Chapter 4)

Encryption: The RSA Public Key Cipher

An Introduction to Elliptic Curve Cryptography

basics of security/cryptography

Sharing a Secret in Plain Sight. Gregory Quenell

Numbers. Çetin Kaya Koç Winter / 18

Review. CS311H: Discrete Mathematics. Number Theory. Computing GCDs. Insight Behind Euclid s Algorithm. Using this Theorem. Euclidian Algorithm

COT 3100 Applications of Discrete Structures Dr. Michael P. Frank

Logic gates. Quantum logic gates. α β 0 1 X = 1 0. Quantum NOT gate (X gate) Classical NOT gate NOT A. Matrix form representation

CS483 Design and Analysis of Algorithms

Course 2BA1: Trinity 2006 Section 9: Introduction to Number Theory and Cryptography

SEVENTH EDITION and EXPANDED SEVENTH EDITION

Overview. Background / Context. CSC 580 Cryptography and Computer Security. March 21, 2017

Modular Arithmetic (Read Sections 4.1 thro 4.4)

Discrete Mathematics GCD, LCM, RSA Algorithm

CPSC 467b: Cryptography and Computer Security

1 Modular Arithmetic Grade Level/Prerequisites: Time: Materials: Preparation: Objectives: Navajo Nation Math Circle Connection

CRYPTOGRAPHY AND LARGE PRIMES *

Carmen s Core Concepts (Math 135)

LECTURE 5: APPLICATIONS TO CRYPTOGRAPHY AND COMPUTATIONS

Course MA2C02, Hilary Term 2013 Section 9: Introduction to Number Theory and Cryptography

Today. Polynomials. Secret Sharing.

The RSA public encryption scheme: How I learned to stop worrying and love buying stuff online

9 Modular Exponentiation and Square-Roots

Arithmétique et Cryptographie Asymétrique

CPSC 467: Cryptography and Computer Security

Discrete Mathematics and Probability Theory Summer 2014 James Cook Note 5

Public Key Cryptography. All secret key algorithms & hash algorithms do the same thing but public key algorithms look very different from each other.

Math 299 Supplement: Modular Arithmetic Nov 8, 2013

MATCHING. Match the correct vocabulary word with its definition

CPSC 467: Cryptography and Computer Security

Powers in Modular Arithmetic, and RSA Public Key Cryptography

Modular Arithmetic Instructor: Marizza Bailey Name:

Integers and Division

CPSC 467b: Cryptography and Computer Security

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Math 8 Notes Units 1B: One-Step Equations and Inequalities

Number theory (Chapter 4)

CPE 776:DATA SECURITY & CRYPTOGRAPHY. Some Number Theory and Classical Crypto Systems

Lecture 6: Introducing Complexity

10 Modular Arithmetic and Cryptography

Topics in Cryptography. Lecture 5: Basic Number Theory

Elliptic Curve Cryptography

Simple Math: Cryptography

Mathematics of Public Key Cryptography

Mathematics of Cryptography

MODULAR ARITHMETIC. Suppose I told you it was 10:00 a.m. What time is it 6 hours from now?

Cryptography and RSA. Group (1854, Cayley) Upcoming Interview? Outline. Commutative or Abelian Groups

Lecture 1: Introduction to Public key cryptography

Chapter 4 Mathematics of Cryptography

Public Key 9/17/2018. Symmetric Cryptography Review. Symmetric Cryptography: Shortcomings (1) Symmetric Cryptography: Analogy

Innovation and Cryptoventures. Cryptography 101. Campbell R. Harvey. Duke University, NBER and Investment Strategy Advisor, Man Group, plc

Introduction to Modern Cryptography. Benny Chor

INTEGERS. In this section we aim to show the following: Goal. Every natural number can be written uniquely as a product of primes.

9 Knapsack Cryptography

Discrete Mathematics and Probability Theory Fall 2018 Alistair Sinclair and Yun Song Note 6

Lecture Notes, Week 6

Slides by Kent Seamons and Tim van der Horst Last Updated: Oct 1, 2013

CPSC 467: Cryptography and Computer Security

Q: How can quantum computers break ecryption?

Continuing discussion of CRC s, especially looking at two-bit errors

Elliptic Curves and an Application in Cryptography

One can use elliptic curves to factor integers, although probably not RSA moduli.

arxiv: v3 [cs.cr] 15 Jun 2017

MODULAR ARITHMETIC I

Overview. Public Key Algorithms II

Asymmetric Encryption

Elliptic curves: Theory and Applications. Day 4: The discrete logarithm problem.

Discrete mathematics I - Number theory

Information Security

Theme : Cryptography. Instructor : Prof. C Pandu Rangan. Speaker : Arun Moorthy CS

CPSC 467b: Cryptography and Computer Security

Applied Cryptography and Computer Security CSE 664 Spring 2018

APA: Estep, Samuel (2018) "Elliptic Curves" The Kabod 4( 2 (2018)), Article 1. Retrieved from vol4/iss2/1

Evidence that the Diffie-Hellman Problem is as Hard as Computing Discrete Logs

CSE 311: Foundations of Computing. Lecture 10: Set Operations & Representation, Modular Arithmetic

Cryptography. P. Danziger. Transmit...Bob...

Modular Arithmetic Investigation

This is a recursive algorithm. The procedure is guaranteed to terminate, since the second argument decreases each time.

Grade 11/12 Math Circles Rational Points on an Elliptic Curves Dr. Carmen Bruni November 11, Lest We Forget

Transcription:

A Taste of Pi: Clocks, Set, and the Secret Math of Spies Katherine E. Stange SFU / PIMS-UBC October 16, 2010

The Math of Clocks Here is a picture of a clock.

The Math of Clocks Here is a picture of a clock. 3 pm

The Math of Clocks Here is a picture of a clock. 3 pm + 2 hours =

The Math of Clocks Here is a picture of a clock. 3 pm + 2 hours = 5 pm

The Math of Clocks Here is a picture of a clock. 3 pm + 2 hours = 5 pm 3 + 2 5 mod 12

The Math of Clocks Here is a picture of a clock. 3 pm + 2 hours = 5 pm 2 pm +11 hours = 3 + 2 5 mod 12

The Math of Clocks Here is a picture of a clock. 3 pm + 2 hours = 5 pm 3 + 2 5 mod 12 2 pm +11 hours = 1 am

The Math of Clocks Here is a picture of a clock. 3 pm + 2 hours = 5 pm 3 + 2 5 mod 12 2 pm +11 hours = 1 am 2 + 11 1 mod 12

The Math of Clocks It s a little like rolling up a long line of the integers into a circle:

The Math of Clocks We could have a clock with any number of hours on it. Here is a picture of a clock with 7 hours.

The Math of Clocks We could have a clock with any number of hours on it. Here is a picture of a clock with 7 hours. 2 o clock +11 hours =

The Math of Clocks We could have a clock with any number of hours on it. Here is a picture of a clock with 7 hours. 2 o clock +11 hours = 6 o clock

The Math of Clocks We could have a clock with any number of hours on it. Here is a picture of a clock with 7 hours. 2 o clock +11 hours = 6 o clock 2 + 11 6 mod 7

The Math of Clocks We could have a clock with any number of hours on it. Here is a picture of a clock with 7 hours. 2 o clock +11 hours = 6 o clock 1 o clock 24 hours = 2 + 11 6 mod 7

The Math of Clocks We could have a clock with any number of hours on it. Here is a picture of a clock with 7 hours. 2 o clock +11 hours = 6 o clock 2 + 11 6 mod 7 1 o clock 24 hours = 5 o clock

The Math of Clocks We could have a clock with any number of hours on it. Here is a picture of a clock with 7 hours. 2 o clock +11 hours = 6 o clock 2 + 11 6 mod 7 1 o clock 24 hours = 5 o clock 1 24 5 mod 7

The Math of Clocks We could have a clock with any number of hours on it. Here is a picture of a clock with 7 hours. 2 o clock +11 hours = 6 o clock 2 + 11 6 mod 7 1 o clock 24 hours = 5 o clock 1 24 5 mod 7 2 o clock 4 =

The Math of Clocks We could have a clock with any number of hours on it. Here is a picture of a clock with 7 hours. 2 o clock +11 hours = 6 o clock 2 + 11 6 mod 7 1 o clock 24 hours = 5 o clock 1 24 5 mod 7 2 o clock 4 = 1 o clock

The Math of Clocks We could have a clock with any number of hours on it. Here is a picture of a clock with 7 hours. 2 o clock +11 hours = 6 o clock 2 + 11 6 mod 7 1 o clock 24 hours = 5 o clock 1 24 5 mod 7 2 o clock 4 = 1 o clock 2 4 1 mod 7 We could label these with days of the week...

The Math of Clocks We call the N-hour clock Z N, and it has N elements: Z N = {0, 1, 2, 3,..., N 1} We can add, subtract and multiply elements of Z N (and get back elements of Z N ).

The Math of Clocks The math of clocks is called Modular Arithmetic and N is called the modulus. Two numbers A and B are the same modulo N if A and B differ by adding N some number of times.

The Math of Clocks The math of clocks is called Modular Arithmetic and N is called the modulus. Two numbers A and B are the same modulo N if A and B differ by adding N some number of times. We could say that a hamburger and a cheeseburger are the same modulo cheese.

The Math of Clocks The math of clocks is called Modular Arithmetic and N is called the modulus. Two numbers A and B are the same modulo N if A and B differ by adding N some number of times. We could say that a hamburger and a cheeseburger are the same modulo cheese. Some people say Gauss invented modular arithmetic, but humans have used it as long as we ve had... clocks weeks gears money... It s the beginning of the study of Number Theory.

The Math of Clocks Let the festivities begin!

The Math of Clocks - Multiplication Tables Z 2 0 1 0 0 0 1 0 1 Z 3 0 1 2 0 0 0 0 1 0 1 2 2 0 2 1

The Math of Clocks - Multiplication Tables Z 4 0 1 2 3 0 0 0 0 0 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1 Z 5 0 1 2 3 4 0 0 0 0 0 0 1 0 1 2 3 4 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1

The Math of Clocks - Multiplication Tables Z 6 0 1 2 3 4 5 0 0 0 0 0 0 0 1 0 1 2 3 4 5 2 0 2 4 0 2 4 3 0 3 0 3 0 3 4 0 4 2 0 4 2 5 0 5 4 3 2 1

The Math of Clocks - Multiplication Tables Z 7 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 2 0 2 4 6 1 3 5 3 0 3 6 2 5 1 4 4 0 4 1 5 2 6 3 5 0 5 3 1 6 4 2 6 0 6 5 4 3 2 1

The Math of Clocks - Multiplication Tables Z 8 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 7 2 0 2 4 6 0 2 4 6 3 0 3 6 1 4 7 2 5 4 0 4 0 4 0 4 0 4 5 0 5 2 7 4 1 6 3 6 0 6 4 2 0 6 4 2 7 0 7 6 5 4 3 2 1

The Math of Clocks - Multiplication Tables Z 9 0 1 2 3 4 5 6 7 8 0 0 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 7 8 2 0 2 4 6 8 1 3 5 7 3 0 3 6 0 3 6 0 3 6 4 0 4 8 3 7 2 6 1 5 5 0 5 1 6 2 7 3 8 4 6 0 6 3 0 6 3 0 6 3 7 0 7 5 3 1 8 6 4 2 8 0 8 7 6 5 4 3 2 1

The Math of Clocks - Multiplication Tables Z 11 0 1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 7 8 9 10 2 0 2 4 6 8 10 1 3 5 7 9 3 0 3 6 9 1 4 7 10 2 5 8 4 0 4 8 1 5 9 2 6 10 3 7 5 0 5 10 4 9 3 8 2 7 1 6 6 0 6 1 7 2 8 3 9 4 10 5 7 0 7 3 10 6 2 9 5 1 8 4 8 0 8 5 2 10 7 4 1 9 6 3 9 0 9 7 5 3 1 10 8 6 4 2 10 0 10 9 8 7 6 5 4 3 2 1

The Math of Clocks

The Math of Clocks 1. When N is a prime number, then you can divide in Z N.

The Math of Clocks 1. When N is a prime number, then you can divide in Z N. 2. This makes Z N a really great number system: it has +,, and.

The Math of Clocks 1. When N is a prime number, then you can divide in Z N. 2. This makes Z N a really great number system: it has +,, and. 3. It s even better than the integers (there s no 1/2 in the integers!).

The Math of Set The graph of the line y = x + 2 in Z 5 : 2 X 1 X 0 X 4 X 3 X 3 4 0 1 2

The Math of Set The graph of the line y = x + 2 in Z 5 : 2 X 1 X 0 X 4 X 3 X 3 4 0 1 2 The graph is a little like Asteroids!

The Math of Set The graph of the line y = 3x + 4 in Z 5 : 2 X 1 X 0 X 4 X 3 X 3 4 0 1 2

The Math of Set

The Math of Set Set images due to Diane Maclagan and Ben Davis

The Math of Set http://www.setgame.com/

Here s the graph of y 2 = x 3 3x + 6 in the usual world (real numbers):

Adding two points to get another: P + Q + R = O.

Adding a point and its negative: P + Q + Q = O.

Adding a point and its negative: P + P = O.

A point which adds with itself to zero: P + P = O.

The graph of y 2 = x 3 + 2x + 1 in Z 5 : 2 X X 1 X 0 4 X 3 X X 3 4 0 1 2 This is called an Elliptic Curve

Here s an elliptic curve in Z 10007.

2 A C 1 B 0 4 -B 3 -A -C 3 4 0 1 2

2 A C 1 X B 0 X 4 -B 3 -A -C 3 4 0 1 2

2 A C 1 X B 0 X 4 -B 3 -A -C 3 4 0 1 2 A + B + C = 0

2 A C 1 X B 0 X 4 -B 3 -A -C 3 4 0 1 2 A + B + C = 0 A + B = C

2 A C 1 B 0 4 -B 3 -A -C 3 4 0 1 2

2 A C 1 B X 0 X 4 -B 3 -A X -C 3 4 0 1 2

2 A C 1 B X 0 X 4 -B 3 -A X -C 3 4 0 1 2 A + A + B = 0

2 A C 1 B X 0 X 4 -B 3 -A X -C 3 4 0 1 2 A + A + B = 0 A + A = B

2 A C 1 2A 0 4-2A 3 -A -C 3 4 0 1 2 A + A + B = 0 A + A = B So B = 2A

2 A C 1 2A 0 4-2A 3 -A -C 3 4 0 1 2 A + A + B = 0 A + A = B So B = 2A From last slide: C = A + B = A + 2A = 3A

2 A 3A 1 2A 0 4-2A 3 -A -3A 3 4 0 1 2 A + A + B = 0 A + A = B So B = 2A From last slide: C = A + B = A + 2A = 3A So C = 3A

2 A 3A 1 2A 0 4 5A 3 6A 4A 3 4 0 1 2 With a little more work, we find out that 3A = 4A, 2A = 5A and A = 6A, and finally that 7A = O.

- Elliptic Curve Addition Table E O A 2A 3A 4A 5A 6A O O A 2A 3A 4A 5A 6A A A 2A 3A 4A 5A 6A O 2A 2A 3A 4A 5A 6A O A 3A 3A 4A 5A 6A O A 2A 4A 4A 5A 6A O A 2A 3A 5A 5A 6A O A 2A 3A 4A 6A 6A O A 2A 3A 4A 5A

- Modular Arithmetic Addition Table Z 7 O 1 2 3 4 5 6 O 0 1 2 3 4 5 6 1 1 2 3 4 5 6 0 2 2 3 4 5 6 0 1 3 3 4 5 6 0 1 2 4 4 5 6 0 1 2 3 5 5 6 0 1 2 3 4 6 6 0 1 2 3 4 5

Suppose I gave you two numbers, P = 9 and Q = 45 and I said,

Suppose I gave you two numbers, P = 9 and Q = 45 and I said, How many times need I add P to itself to get Q?

Suppose I gave you two numbers, P = 9 and Q = 45 and I said, How many times need I add P to itself to get Q? You would divide 45 by 9 and get the answer: 5. Division is fairly easy for integers!

Suppose I gave you two numbers, P = 9 and Q = 45 and I said, How many times need I add P to itself to get Q? You would divide 45 by 9 and get the answer: 5. Division is fairly easy for integers! It takes more time as the numbers get bigger, but the time it takes grows with the number of digits of the numbers.

Suppose I gave you two numbers modulo 5, P = 2 and Q = 3 and I said,

Suppose I gave you two numbers modulo 5, P = 2 and Q = 3 and I said, How many times need I add P to itself to get Q?

Suppose I gave you two numbers modulo 5, P = 2 and Q = 3 and I said, How many times need I add P to itself to get Q? This is trickier. You could complete a multiplication table and look in it to search for the answer. It turns out there are faster ways.

Suppose I gave you two numbers modulo 5, P = 2 and Q = 3 and I said, How many times need I add P to itself to get Q? This is trickier. You could complete a multiplication table and look in it to search for the answer. It turns out there are faster ways. The smartest algorithms (can you come up with one?), are about as fast as division for the integers. The time it takes grows with the number of digits of the modulus.

2 P X 1 X 0 4 Q 3 X X 3 4 0 1 2 Suppose I gave you the points P and Q and I said How many times need I add P to itself to get Q?

2 P X 1 X 0 4 Q 3 X X 3 4 0 1 2 Suppose I gave you the points P and Q and I said How many times need I add P to itself to get Q? You might remember that we found Q = 5P from our multiplication table.

2 P X 1 X 0 4 Q 3 X X 3 4 0 1 2 Suppose I gave you the points P and Q and I said How many times need I add P to itself to get Q? You might remember that we found Q = 5P from our multiplication table. But it was a lot of work! Is there an easy way to do this?

No one knows any efficient way to solve this problem!!

No one knows any efficient way to solve this problem!! The time taken by good algorithms grows with about the square root of the size of the modulus.

Modern cryptography is based on mathematical operations that are easy to do and hard to undo. Example:

Modern cryptography is based on mathematical operations that are easy to do and hard to undo. Example: Getting pregnant.

Modern cryptography is based on mathematical operations that are easy to do and hard to undo. Example: Getting pregnant. Multiplying numbers is easy, but factoring them is hard.

Modern cryptography is based on mathematical operations that are easy to do and hard to undo. Example: Getting pregnant. Multiplying numbers is easy, but factoring them is hard. On an elliptic curve, adding a point P to itself many times is easy. Figuring out how many times it was added (if you weren t watching) is hard. This is the elliptic curve discrete logarithm problem.

Alice and Bob want to share a secret.

Alice and Bob want to share a secret. A point P on an elliptic curve is general knowledge. Alice Bob

Alice and Bob want to share a secret. A point P on an elliptic curve is general knowledge. Alice Bob secret a b

Alice and Bob want to share a secret. A point P on an elliptic curve is general knowledge. Alice Bob secret a b public ap bp

Alice and Bob want to share a secret. A point P on an elliptic curve is general knowledge. Alice Bob secret a b public ap bp Alice and Bob can both compute abp.

Alice and Bob want to share a secret. A point P on an elliptic curve is general knowledge. Alice Bob secret a b public ap bp Alice and Bob can both compute abp. No one else can compute it!

Here the size of the modulus N we use for this algorithm in your web browser, when you log onto a secure site: N = 68647976601306097149819007990813932172694353 0014330540939446345918554318339765605212255964066 1454554977296311391480858037121987999716643812574 028291115057151

The hard problem of factoring is used for cryptography called RSA.

The hard problem of factoring is used for cryptography called RSA. The elliptic curve discrete logarithm problem is used for elliptic curve cryptography (ECC).

The hard problem of factoring is used for cryptography called RSA. The elliptic curve discrete logarithm problem is used for elliptic curve cryptography (ECC). Together, these two hard problems are used for pretty nearly all the cryptography in the modern world: your bank, your cell phone, your computer.

The hard problem of factoring is used for cryptography called RSA. The elliptic curve discrete logarithm problem is used for elliptic curve cryptography (ECC). Together, these two hard problems are used for pretty nearly all the cryptography in the modern world: your bank, your cell phone, your computer. (No one has come up with a security method based on pregnancy.)

The hard problem of factoring is used for cryptography called RSA. The elliptic curve discrete logarithm problem is used for elliptic curve cryptography (ECC). Together, these two hard problems are used for pretty nearly all the cryptography in the modern world: your bank, your cell phone, your computer. (No one has come up with a security method based on pregnancy.) If you can come up with a fast algorithm for these hard problems,

The hard problem of factoring is used for cryptography called RSA. The elliptic curve discrete logarithm problem is used for elliptic curve cryptography (ECC). Together, these two hard problems are used for pretty nearly all the cryptography in the modern world: your bank, your cell phone, your computer. (No one has come up with a security method based on pregnancy.) If you can come up with a fast algorithm for these hard problems, you would immediately become hugely famous,

The hard problem of factoring is used for cryptography called RSA. The elliptic curve discrete logarithm problem is used for elliptic curve cryptography (ECC). Together, these two hard problems are used for pretty nearly all the cryptography in the modern world: your bank, your cell phone, your computer. (No one has come up with a security method based on pregnancy.) If you can come up with a fast algorithm for these hard problems, you would immediately become hugely famous, you would get job offers from every government in the world,

The hard problem of factoring is used for cryptography called RSA. The elliptic curve discrete logarithm problem is used for elliptic curve cryptography (ECC). Together, these two hard problems are used for pretty nearly all the cryptography in the modern world: your bank, your cell phone, your computer. (No one has come up with a security method based on pregnancy.) If you can come up with a fast algorithm for these hard problems, you would immediately become hugely famous, you would get job offers from every government in the world, and would get invited on Oprah.

Thank you! Thanks to SFU, Veselin Jungic, Malgorzata Dubiel and Nadia Nosrati, and Jonathan Wise. And to you! Feel free to email me anytime (email on my website).