Section 3.8: More Modular Arithmetic and Public-Key Cryptography

1 / 39

Section 3.8: More Modular Arithmetic and Public-Key Cryptography - PowerPoint PPT Presentation

Math for Liberal Studies. Section 3.8: More Modular Arithmetic and Public-Key Cryptography. Modular Multiplication. The modular arithmetic ciphers we have seen use addition and subtraction For example, the Caesar cipher rule is to add 3 to every letter in the message

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about 'Section 3.8: More Modular Arithmetic and Public-Key Cryptography' - dieter

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Math for Liberal Studies

Section 3.8: More Modular Arithmetic and Public-Key Cryptography

Modular Multiplication
• The modular arithmetic ciphers we have seen use addition and subtraction
• For example, the Caesar cipher rule is to add 3 to every letter in the message
Modular Multiplication
• In an affine cipher, we multiply by a constant number and then add a (possibly different) number
• In a multiplicative cipher, we just multiply
Modular Multiplication
• For example, let’s encode the message “Attack at daybreak” using an affine cipher where we multiply by 3 and then add 5
Modular Multiplication
• For example, let’s encode the message “Attack at daybreak” using an affine cipher where we multiply by 3 and then add 5
Modular Multiplication
• To encode T, for example, we convert T to 19, multiply by 3 (to get 57), then add 5 (to get 62). Finally we find the remainder, 10
Modular Multiplication
• Now we know how to encode a message using an affine cipher
• How do we decode?
• Since the 2nd step is to add 5, we should subtract 5 first
Modular Multiplication
• How do we undo the “multiply by 3” step?
• The natural answer would be to divide by 3, but that’s not really possible in modular arithmetic
Modular Multiplication
• There is a way to undo the “multiply by 3” step
• It turns out that what weneed to do is to multiplyby 9
Modular Multiplication
• There is a way to undo the “multiply by 3” step
• It turns out that what weneed to do is to multiplyby 9
Modular Multiplication
• How does multiplying twice get us back to where we started?
• Notice that we’re multiplying by 3 and then by 9
• So we’re multiplying by 3 x 9 = 27 = 1
• Multiplying by 1 doesn’t change anything
Modular Multiplication
• We say that 3 and 9 are multiplicative inverses modulo 26
• Also, multiplying by 3 and multiplying by 9 are inverse operations
• Finding these inverse operations is key to using multiplication to encode and decode messages
Searching for Inverses
• Can any multiplication operation be reversed?
Searching for Inverses
• Can any multiplication operation be reversed?
• As we can see, both B andO get encoded as G
Searching for Inverses
• If we wanted to decodea message that has a Gin it, there would be noway of knowing if it shouldbe a B or an O
• We can’t use this operationto encode messages becauseit is not reversible
Searching for Inverses
• The problem is even worseif we try to multiply by 13
• Every letter gets encodedas A or N
• It would be impossible to decode a message usingthis cipher
Searching for Inverses
• How can we know in advance whether a particular multiplication operation will be reversible?
• Whenever we multiply by a number that shares a common factor greater than 1 with the modulus, that operation will not be reversible
Searching for Inverses
• 6 and 26 are both divisible by 2
• 13 and 26 are both divisible by 13
• 3 and 26 do not share any common factors other than 1
Prime Numbers
• For this reason, we will often change the modulus from 26 to a prime number
• A prime number only has divisors of 1 and itself
• For example, 27 is not prime (its divisors are 1, 3, 9, and 27), but 29 is prime
Prime Numbers
• The advantage of using a prime number modulus is that we no longer have to worry about the numbers we multiply by sharing common factors with the modulus
• The disadvantage is that our modulus is now greater than 26
Prime Numbers
• Suppose we encode the message “Retreat at once” using multiplication by 6, modulo 29
Prime Numbers
• Suppose we encode the message “Retreat at once” using multiplication by 6, modulo 29
Prime Numbers
• Suppose we encode the message “Retreat at once” using multiplication by 6, modulo 29
• Notice that we get results like 26 and 27, which we cannot turn back into letters
Prime Numbers
• When we use multiplicative and affine ciphers with a modulus greater than 26, we will simply leave our encoded message as a sequence of numbers
Prime Numbers
• We know that using prime numbers means that we will always have a reversible multiplicative cipher
• However, in general, finding the inverse operation can be quite difficult
Public-Key Cryptography
• Affine and multiplicative ciphers are examples of asymmetric ciphers
• This means that the method for decoding messages is not easily determined even if you know the encoding method
• Asymmetric ciphers allow for a system called public-key cryptography
Public-Key Cryptography
• In a public-key system, everyone has two keys: a method for encoding messages, and a method for decoding messages
• With a multiplicative cipher, the keys are numbers:
• The encoding key is the number you must multiply by to encode the message
• The decoding key is the number used to decode the message
Public-Key Cryptography
• The difference in a public-key system is that the encoding keys are made public
• Everyone knows everyone else’s encoding key
• The decoding keys are kept private
• For a system like this to work, it must be very difficult to determine the decoding keys from the encoding keys
Public-Key Cryptography
• How does a system like this work?
• Suppose Adam wants to send a message to Beth
• Adam encodes his messageusing Beth’s public key
Public-Key Cryptography
• Remember that only Beth knows her private decoding key
• So only Beth will be able to decode the message
• But anyone is able to senda private message like thisto Beth
Public-Key Cryptography
• Think about it this way: Using Beth’s public key to encode a message is like putting in a special kind of box that only Beth can open
• In this case suppose that Beth’sboxes are blue, and only Bethcan open blue boxes
• But anyone can buyblue boxes,and use them to send messagesto her
Public-Key Cryptography
• Suppose Adam’s boxes are red
• If Christine sends Adam amessage encoded using hispublic key, she doesn’t haveto worry about Beth intercepting the message anddecoding it
Beyond Packages: Signatures
• This analogy breaks down a bit, as there is something else we can do with this system
• Suppose Christine works at a bank and receives a request to transfer a large amount out of Beth’s bank account
• She wants Beth to send a secure message verifying the transfer
Beyond Packages: Signatures
• The problem is that anyone can send a message to Christine posing as Beth
• Even if they use Christine’s public key to encode the message, this doesn’tensure that the message camefrom Beth, it just makes surethat the message goes to Christine
Beyond Packages: Signatures
• Instead, Beth can send a message (such as “I authorize the transfer”) to Christine encoded with Beth’s private key
• Now anyone can decode this message (using Beth’s public key), but only Beth could have encoded it, since only Beth knows that private key
• In this way, it is guaranteed that the message came from Beth
Real-World Cryptography
• Notice that affine and multiplicative ciphers are substitution ciphers
• This means that they are susceptible to techniques like frequency analysis
• These methods are unsuitable to use for public-key cryptography, which requires that the codes be virtually unbreakable
Real-World Cryptography
• A common system in use today is RSA cryptography, which relies on the same kinds of ideas we have studied (prime numbers and inverse operations in modular arithmetic)
• However, the prime numbers we use for RSA are many digits long
Real-World Cryptography
• For example, here is a typical security message used by a web browser
• “128 bit” means that the encryption key could be as large as 2128, which a 39-digit number
Real-World Cryptography
• Even with a computer checking a billion keys per second, it would take up to 10 thousand billion billion years to check them all
• This is far, far longer than the age of the universe
• RSA relies on the size of the key being large enough to make breaking the code take an impossibly long amount of time