how to destroy the world with number theory

14
How to Destroy the World with Number Theory Daniel Dreibelbis University of North Florida

Upload: lynda

Post on 23-Mar-2016

50 views

Category:

Documents


4 download

DESCRIPTION

How to Destroy the World with Number Theory. Daniel Dreibelbis University of North Florida. Basic Cryptography. Alice wants to send a message to Bob. “Dr. Hamid eats kittens for breakfast.” Eve is listening to any communication between Alice and Bob. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: How to Destroy the World with Number Theory

How to Destroy the World with Number Theory

Daniel DreibelbisUniversity of North Florida

Page 2: How to Destroy the World with Number Theory

Basic CryptographyAlice wants to send a message to Bob.“Dr. Hamid eats kittens for breakfast.”Eve is listening to any communication

between Alice and Bob.Goal: Encrypt the message in a way that Alice

and Bob know, but Eve does not.

Page 3: How to Destroy the World with Number Theory

Secret Decoder RingSimple substitution cipher.Each letter is replaced by a letter k letters

down the alphabet.

Page 4: How to Destroy the World with Number Theory

Secret Decoder Ring.Let’s do k = 3.“Dr. Hamid eats kittens for breakfast.”

becomes “Gu. Kdplg hdwv nlwwhqv iru euhdnidvw.”

Bob decodes by removing k from each letter.The number k is called the key. Our SDR has

26 different keys.

Page 5: How to Destroy the World with Number Theory

Real Life SDROur SDR has 26 different keys.In Real Life, we use an encryption method

called AES (Advanced Encryption System).AES has 2128 different keys2128 =

340,282,366,920,938,463,463,374,607,431,768,211,456That’s 340 undecillion. That’s a whole bunch

of keys.A brute force key search is infeasible.A typical key looks like sixteen characters, something like:

A4gf5*nTb[Q@21’7

Page 6: How to Destroy the World with Number Theory

Key Exchange ProblemEve hears everything that Alice says to Bob

and Bob says to Alice.If Alice and Bob try to agree on a key k, Eve

will hear this also, and she will know the key.KEP: How can Alice and Bob agree on a key

without Eve knowing its value?

Page 7: How to Destroy the World with Number Theory

Modular ArithmeticWe define a mod n to be the remainder when a is

divided by n.100 mod 17 = 15Computers are really good at mods.Example: a = 10100+5, b=1099+7, n=10101+3Mathematica worked out ab mod n in about 0.00034 seconds.Answer is: 29748478515601709481956621265827578332435037952560102437932180281116087872397108919020459135080599359

Page 8: How to Destroy the World with Number Theory

Diffie-HellmanAlice and Bob agree on two numbers: n and c.Alice comes up with a number a, and she doesn’t tell

anyone what it is.Bob comes up with a number b, and he doesn’t tell

anyone what it is.Alice computes the number f = ca mod n. She sends f to

Bob.Bob computes the number g = cb mod n. He sends g to

Alice. Alice computes the number k = ga mod n. This is her key.Bob computes the number k = fb mod n. This is his key.They now have the same key.

Page 9: How to Destroy the World with Number Theory

ExampleAlice and Bob choose n = 26 and c = 11.Alice picks a = 10, Bob picks b = 14. They both

keep their number private.Alice computes f = 1110 mod 26 = 23. She sends

this number to Bob.Bob computes g = 1114 mod 26 = 17. He sends

this number to Alice.Alice computes k = 1710 mod 26 = 9. She will use

this as her key to encode her message in SDR.Bob computes k = 2314 mod 26 = 9. He will use

this as his key to decode the message in SDR.

Page 10: How to Destroy the World with Number Theory

Why does it work?Alice computes k = ga mod n = (cb)a mod n.Bob computes k = fb mod n = (ca)b mod n.They are the same!

Page 11: How to Destroy the World with Number Theory

What does Eve know?Eve knows n, c, f, g. She needs to find out a or b, and then she can break the code.To find out a, she needs to solve:

ca mod n = fThis is called the discrete log problem. No one knows

how to solve it other than guessing values of a. For our problem, it looks like:

11a mod 26 = 23If we use large numbers (which we do in Real Life),

then guessing a will take thousands of years, even with the help of computers.

Page 12: How to Destroy the World with Number Theory

Real Lifec = 316912650057057350374175801351a = 1267650600228229401496703205653b = 5070602400912917605986812821771n = 170141184728119831959916705212587311361f = 161287865144798146040576922608605193658g = 61813267884160838151925223195196755176k = 116582602641953240322793154442983171347Computers can work out the mods very, very quickly,

even with these big numbers.Discrete log problem: 316912650057057350374175801351a mod 170141184728119831959916705212587311361 =

161287865144798146040576922608605193658

Page 13: How to Destroy the World with Number Theory

Crypto’s Dirty SecretEvery form of public key cryptography or key

exchange relies on our inability to solve a certain math problem quickly (factoring, DLP, ECDLP, SVP, etc).

It is still possible that these “hard math problems” have quick solutions. All we know is that no one has found a quick solution yet (or at least has admitted to this publicly).

Research Problem: Find a quick solution to the DLP (thus making Diffie-Hellman useless) OR prove that no quick solution exists (thus making every other form of crypto useless).

Page 14: How to Destroy the World with Number Theory

Wkh Hqg!Thanks!www.unf.edu/~ddreibel