security in computing chapter 12, cryptography explained part 3

95
Security in Computing Chapter 12, Cryptography Explained Part 3 Summary created by Kirk Scott 1

Upload: louvain

Post on 06-Jan-2016

32 views

Category:

Documents


3 download

DESCRIPTION

Security in Computing Chapter 12, Cryptography Explained Part 3. Summary created by Kirk Scott. This set of overheads corresponds to the third portion of section 12.1 in the book The overheads for Chapter 12 roughly track the topics in the chapter Keep this in mind though: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Security in Computing Chapter 12,  Cryptography Explained Part 3

1

Security in ComputingChapter 12, Cryptography Explained

Part 3

Summary created byKirk Scott

Page 2: Security in Computing Chapter 12,  Cryptography Explained Part 3

2

• This set of overheads corresponds to the third portion of section 12.1 in the book

• The overheads for Chapter 12 roughly track the topics in the chapter

• Keep this in mind though:• On some topics I simply go over the book’s material• On other topics I expand on the book’s material in a

significant way• You are responsible not just for what’s in the book, but

also what’s in the overheads that’s not in the book

Page 3: Security in Computing Chapter 12,  Cryptography Explained Part 3

3

Book Section 12.1, Mathematics for CryptographySubsection Heading: Properties of Arithmetic

• This is the sub-subheading covered in this portion of the overheads:

• Computing Inverses• This topic will be covered in more detail than

in the book

Page 4: Security in Computing Chapter 12,  Cryptography Explained Part 3

4

Some Proofs and Fermat’s Little Theorem

• This set of overheads falls into three sections: • 1. Preliminary Things Concerning Modular

Fields• 2. Fermat’s Little Theorem, Statement and

Preliminaries• 3. The Proof of Fermat’s Little Theorem

Page 5: Security in Computing Chapter 12,  Cryptography Explained Part 3

5

1. Preliminary Things Concerning Modular Fields

• The claim was made in the previous set of overheads that if n is prime, then modular addition and multiplication form an algebraic field.

• Most of the characteristics of a field result fairly clearly from the same characteristics in the integers.

• For example:• (2 * 3) mod 5 = (3 * 2) mod 5 (commutativity)• because:• 2 * 3 = 3 * 2

Page 6: Security in Computing Chapter 12,  Cryptography Explained Part 3

6

• A comprehensive list of the properties of a field will not be repeated here

• The fact that these properties hold for modular arithmetic with n prime will not be demonstrated.

• However, the most important property of field from the cryptographic point of view is the existence of multiplicative inverses for all elements of the field.

• This property does not obviously stem from the properties of regular arithmetic.

• It is somewhat more daunting to establish, and that topic will be pursued now.

Page 7: Security in Computing Chapter 12,  Cryptography Explained Part 3

7

• If you refer back to the multiplication tables at the end of the previous set of overheads, in the examples shown it was clear that if n = 4, not prime, not every integer between 1 and 4 had an inverse.

• It is relatively straightforward to show that for n composite, not all elements have inverses.

• This is because it is precisely the factors of the composite numbers that do not have inverses.

Page 8: Security in Computing Chapter 12,  Cryptography Explained Part 3

8

If n is Composite, Its Factors Don’t Have Inverses

• This will be shown using contradiction• We’ll suppose that a factor of a composite has

a modular inverse and find a contradiction• If n is composite, then there exist a and c not

equal to 1 such that:• ac = n• Now assume that a has an inverse:• (aa-1) mod n = 1

Page 9: Security in Computing Chapter 12,  Cryptography Explained Part 3

9

• (aa-1) mod n = 1• By definition, this implies that there exists

some p such that:• aa-1 = pn + 1• Note that from this point on, we’re not doing

modular arithmetic anymore• However, we are still dealing only with the set

of integers

Page 10: Security in Computing Chapter 12,  Cryptography Explained Part 3

10

• Follow this set of transformations:• aa-1 = pn + 1• aa-1 = p(ac) + 1 (substituting n = ac)• aa-1 = pac + 1• aa-1 – pac = 1• aa-1 – apc = 1• a(a-1 – pc) = 1

Page 11: Security in Computing Chapter 12,  Cryptography Explained Part 3

11

• a(a-1 – pc) = 1• This is a non-modular equation that has to hold in the

integers• The only possible factorization of 1 in the integers is 1 *

1• That implies that a, on the left, has to be 1• However, this is a contradiction, because it was given

that a, as a factor of n composite, was not equal to 1• Therefore, the assumption that a had an inverse in the

modular field base n has to be false

Page 12: Security in Computing Chapter 12,  Cryptography Explained Part 3

12

If n is Prime, Each Element of the Field Has an Inverse

• The next proposition of interest is that for n prime, every a, 0 < a < n, has an inverse.

• The contents of the example multiplication table give a hint at how to show this.

• Every row of the table is a permutation of the values 0 through n – 1, the only possible values in the field.

• If you can show that for an arbitrary a, there can be no duplicates in a row, then one of the row elements has to be 1.

• Thus, a has an inverse.

Page 13: Security in Computing Chapter 12,  Cryptography Explained Part 3

13

• This can be shown by contradiction.• We’re going to assume that there are duplicate entries

in a row in the table and show that this leads to a contradiction.

• Let n be prime, let a be between 0 and n, and also let there exist b, c, and d between 0 and n, where b is not equal to c.

• The idea is that a is the value of the row.• b and c are the column values.• ab and ac are entries in the row.

Page 14: Security in Computing Chapter 12,  Cryptography Explained Part 3

14

• Assume that ab and ac multiply to the same result, d.

• In other words, there are duplicate entries in the row of the multiplication table for value a.

• This can be expressed as follows:• (ab) mod n = d and (ac) mod n = d

Page 15: Security in Computing Chapter 12,  Cryptography Explained Part 3

15

• (ab) mod n = d and (ac) mod n = d• The above statement implies that there exist

some p and q such that:• ab = pn + d and ac = qn + d

Page 16: Security in Computing Chapter 12,  Cryptography Explained Part 3

16

• ab = pn + d and ac = qn + d• Without loss of generality, assume that p > q

and subtract the second equality from the first:

• ab – ac = (pn + d) – (qn + d)• ab – ac = pn - qn• ab – ac = n(p – q)• a(b – c) = n(p – q)

Page 17: Security in Computing Chapter 12,  Cryptography Explained Part 3

17

• a(b – c) = n(p – q)• There are contradictions lurking in the

statement above.• They can be considered in two cases:• Case 1: (p – q) = 1• Case 2: (p – q) > 1• There are no other cases because we are

dealing only with the set of non-negative integers, and (p – q) = 0 clearly leads nowhere.

Page 18: Security in Computing Chapter 12,  Cryptography Explained Part 3

18

• The equation we arrived at:• a(b – c) = n(p – q)• Case 1: (p – q) = 1• This would mean that n is factorable as• a(b – c)• But n is prime, so this is a contradiction

Page 19: Security in Computing Chapter 12,  Cryptography Explained Part 3

19

• The equation we arrived at:• a(b – c) = n(p – q)• Case 2: (p – q) > 1• This means that the expression on the left, a(b – c) is

factorable as n(p – q)• Then, since n was chosen to be prime, n is a prime factor of

the expression on the left• But a, b, and c were chosen to be smaller than n, and the

quantity (b – c) would also be smaller than n• The contradiction is that a quantity can’t have a prime

factor that is larger than the quantity itself

Page 20: Security in Computing Chapter 12,  Cryptography Explained Part 3

20

• The two cases (plus the 0 case) exhaust the possibilities

• Both cases lead to contradictions• Therefore, the assumption that there are

duplicates in a row in the modular multiplication table is false

• Therefore, each row contains a 1• Therefore, every element of a modular field has

an inverse in the field

Page 21: Security in Computing Chapter 12,  Cryptography Explained Part 3

21

• To repeat, this argument works on the basis of understanding that the valid values in a row range from 0 to n – 1 and there are n entries in a row.

• This means that if there are no duplicates there is a 1 in each row.

Page 22: Security in Computing Chapter 12,  Cryptography Explained Part 3

22

Another Result: Does r! Have an Inverse in a Modular Field?

• Induction came up first in considering the sum of the first n integers

• Considering the inverse of the expression r! will also involve induction

• The result isn’t earth-shaking and the proof isn’t hard

• Getting up to speed with induction is worthwhile because it will be needed for Fermat’s theorem, the result of interest

Page 23: Security in Computing Chapter 12,  Cryptography Explained Part 3

23

• The question is, for some r, 0 < r < n, n prime, does the expression r! have an inverse in the modular field with n as its base?

• To answer this question, it’s necessary to have a formal definition of factorial, !

• Because we’re interested in finding a multiplicative inverse, and 0 doesn’t have one anyway, the definition of factorial can start with 1

Page 24: Security in Computing Chapter 12,  Cryptography Explained Part 3

24

• Here is an inductive definition of factorial starting with 1:

• 1! = 1• r! = r(r – 1)!• A base case is given• Then the general case is given by defining f(r)

in terms of f(r – 1)

Page 25: Security in Computing Chapter 12,  Cryptography Explained Part 3

25

• The full definition of factorial starts with 0! = 1• Binomial coefficients will come up again, and

when they do, the full definition will be needed.

Page 26: Security in Computing Chapter 12,  Cryptography Explained Part 3

26

• The task is to show that for some r, r < n, the expression r! has an inverse in the field.

• Base case: 1! = 1, and 1 has an inverse in the field, namely itself.

• Inductive step: Show that if for r < (n – 1), r! has an inverse in the field, then (r + 1)! also has an inverse in the field.

Page 27: Security in Computing Chapter 12,  Cryptography Explained Part 3

27

• If r! has an inverse, then there exists some p (its inverse) such that:

• r!p ≡n 1• By definition:• (r + 1)! = (r + 1)r!• But (r + 1) < n, so it has an inverse.• Notice this is just (r+1), not (r + 1)!• Let q ((r + 1)’s inverse) be given such that:• (r + 1)q ≡n 1

Page 28: Security in Computing Chapter 12,  Cryptography Explained Part 3

28

• We’re trying to show that (r + 1)! = (r + 1)r! has an inverse

• Multiply the expression by the inverse of r!, p, and the inverse of (r + 1), q

• (r + 1)!pq• = (r + 1)r!pq• = (r + 1)(r!p)q• = (r + 1)1q• = (r + 1)q• = 1

Page 29: Security in Computing Chapter 12,  Cryptography Explained Part 3

29

• This is not at all surprising• If each of two factors in an expression has an

inverse, the inverse of the expression is the product of the inverses

• In the substitution, the associative property did all of the work

Page 30: Security in Computing Chapter 12,  Cryptography Explained Part 3

30

• To recap:• 1! has an inverse. • Assuming an arbitrary factorial expression has

an inverse you can show that the expression one larger also has an inverse.

• Therefore, the factorial of any valid value in the field has an inverse.

Page 31: Security in Computing Chapter 12,  Cryptography Explained Part 3

31

• Observe that the foregoing can lead to another train of thought:

• Given some r!, essentially what we’re saying is that it is equivalent, mod n, to some element of the field, u, 0 <= u < n

• Does reducibility apply for inverses?• In other words, is the inverse of r! = inverse of u?• The answer seems to be yes, and this train of

thought will not be pursued further.

Page 32: Security in Computing Chapter 12,  Cryptography Explained Part 3

32

2. Fermat’s Little Theorem, Statement and Preliminaries

• Cryptography makes use of a theorem by Fermat, known as Fermat’s Little Theorem.

• It has this name to distinguish it from another theorem of Fermat that is known as Fermat’s Last Theorem, or simply Fermat’s theorem.

• As I go along in these notes, if I make reference to Fermat’s theorem, it is to be understood that I mean the Little theorem.

Page 33: Security in Computing Chapter 12,  Cryptography Explained Part 3

33

• For the sake of your liberal education, some information on Fermat’s “Big” Theorem follows.

• Here is its statement:• An equation of the form xn + yn = zn does not

have non-zero integer solutions for x, y and z when n > 2.

Page 34: Security in Computing Chapter 12,  Cryptography Explained Part 3

34

• Recall that for n = 2, you can find sets of numbers that are called Pythagorean triples.

• Examples are {3, 4, 5}, {5, 12, 13}, and {9, 12, 15}.

• The theorem says that you can’t find such triples for any power higher than 2.

Page 35: Security in Computing Chapter 12,  Cryptography Explained Part 3

35

• Pierre de Fermat died in 1665 and a marginal note he had written in one of his books stated that he had found a proof of this theorem.

• A mathematician named Andrew Wiles, born and educated in England, who now lives in the United States, published the first proof in 1995.

• It is said that he devoted 7 years of his professional life full time to solving the problem.

• God knows how many years of their lives other people wasted unsuccessfully trying to solve this in the 300+ years since it was originally stated.

Page 36: Security in Computing Chapter 12,  Cryptography Explained Part 3

36

Statement of Fermat’s Little Theorem

• For n prime and a < n:• an ≡n a• In words: a to the nth power is equivalent mod

n to a. • Stating this in another way, there exists some

value p such that:• an = pn + a

Page 37: Security in Computing Chapter 12,  Cryptography Explained Part 3

37

• Before trying to demonstrate this, it is worthwhile to see why this result is of interest.

• It gives a way of finding a-1. • Recall that because n is prime, a does have an

inverse.

Page 38: Security in Computing Chapter 12,  Cryptography Explained Part 3

38

• an ≡n a• Multiplying both sides of the equivalence by

the inverse, a-1, once gives the following:• ana-1 ≡n aa-1

• an-1a1a-1 ≡n aa-1

• an-11 ≡n aa-1

• an-1 ≡n 1

Page 39: Security in Computing Chapter 12,  Cryptography Explained Part 3

39

• an-1 ≡n 1• Multiplying both sides of the equivalence by

the inverse, a-1, again gives the following:• an-1 a-1 ≡n 1a-1

• an-2 a1 a-1 ≡n 1a-1

• an-2 1≡n 1a-1

• an-2 ≡n a-1

Page 40: Security in Computing Chapter 12,  Cryptography Explained Part 3

40

• On the left you get an integral power of a.• On the right you get the inverse of a, a-1.• Computationally, you can find the inverse of a

by raising it to the (n – 2)nd power and taking the modulus base n.

Page 41: Security in Computing Chapter 12,  Cryptography Explained Part 3

41

• A thumbnail example will illustrate how this works.

• Let a = 3 and n = 5.• This is what the theorem states:• 35 ≡5 3

Page 42: Security in Computing Chapter 12,  Cryptography Explained Part 3

42

• Multiply both sides by a-1 a.k.a. 3-1

• 35a-1 ≡5 3a-1

• 353-1 ≡5 31*3-1

• 34 ≡5 1• Check:• 34 = 81• 81 = 5 * 16 + 1

Page 43: Security in Computing Chapter 12,  Cryptography Explained Part 3

43

• Multiply both sides again by a-1 a.k.a. 3-1

• 34a-1 ≡5 1a-1

• 343-1 ≡5 1a-1

• 33 ≡5 a-1

• 27 ≡5 a-1 • Find the value:• 27 mod 5 = 2, so a inverse should be 2

Page 44: Security in Computing Chapter 12,  Cryptography Explained Part 3

44

• Check:• 2 * 3 = 6 mod 5 = 1• 2 * 3 gives the multiplicative identity, so 2 and

3 are inverses of each other

Page 45: Security in Computing Chapter 12,  Cryptography Explained Part 3

45

A Possible Source of Confusion

• The presentation of Fermat’s Little Theorem may lead to some confusion

• Consider these steps:• 34a-1 ≡5 1a-1

• 343-1 ≡5 1a-1

• 33 ≡5 a-1 • It may “feel like” you’re multiplying by 1/3 on

the left

Page 46: Security in Computing Chapter 12,  Cryptography Explained Part 3

46

• This is not the case• You are working on a modular equivalence,

not a regular arithmetic expression.• We know how to shift from a modular

expression to one that doesn’t involve modulus

Page 47: Security in Computing Chapter 12,  Cryptography Explained Part 3

47

• Take this expression for example:• 35 ≡5 3• This is what it says, without modulus:• 35 = p*5 + 3• In this expression, if I multiplied by 3-1, I would

be multiplying by 1/3

Page 48: Security in Computing Chapter 12,  Cryptography Explained Part 3

48

• In these expressions, you’re multiplying by the modular inverse—whatever it may be—that you’re trying to find out

• 34a-1 ≡5 1a-1

• 343-1 ≡5 1a-1

• 33 ≡5 a-1

Page 49: Security in Computing Chapter 12,  Cryptography Explained Part 3

49

Binomial Coefficients

• The binomial coefficients turned up earlier when discussing the number of sub-graphs in a graph of n nodes

• A result concerning the binomial coefficients will be needed when proving Fermat’s theorem, so they are presented again here.

• This is the notation:

• In English, this is read “n choose r”.

r

n

Page 50: Security in Computing Chapter 12,  Cryptography Explained Part 3

50

• This is a verbal explanation:• Given a set of n elements, how many different

ways are there to choose a subset of r elements

• The ordering of the r does not make a difference—in other words, subsets are not considered different if they contain the same elements, even if they are in a different order.

Page 51: Security in Computing Chapter 12,  Cryptography Explained Part 3

51

• The mathematical definition looks like this:

• A concrete example looks like this:

)!(!

!

rnr

n

r

n

!3

1

)!35(

!5

)!35(!3

!5

3

5

Page 52: Security in Computing Chapter 12,  Cryptography Explained Part 3

52

• You can interpret the first factor on the right as the number of different ways of choosing 3 elements out of 5 where the order of the chosen 3 does make a difference.

• The second factor divides by the number of different ways of ordering 3 elements.

• Thus, the result is the number of different ways of choosing 3 where the order doesn’t make a difference.

!3

1

)!35(

!5

)!35(!3

!5

3

5

Page 53: Security in Computing Chapter 12,  Cryptography Explained Part 3

53

• You may also be familiar with Pascal’s triangle, a nice mnemonic device for coming up with the binomial coefficients without calculations:

• • 1• 1 1• 1 2 1• 1 3 3 1• 1 4 6 4 1• …

Page 54: Security in Computing Chapter 12,  Cryptography Explained Part 3

54

• The top of the pyramid, the 0th line in the pyramid, represents n = 0.

• There is only one coefficient in this case. • The next line down, the 1st line in the pyramid,

represents n = 1. • There are 2 coefficients in this case:

0

1

1

1

Page 55: Security in Computing Chapter 12,  Cryptography Explained Part 3

55

• The general pattern of the coefficients in each row of the triangle is:

n

nnnn,...,

2,

1,

0

Page 56: Security in Computing Chapter 12,  Cryptography Explained Part 3

56

• The binomial coefficients are so called because they arise in the formula for the expansion of a binomial raised to an arbitrary integral power:

• The fact that they arise in this way will be used to demonstrate something.

• However, the fact that they arise in this way is one step that will not be shown.

rrnn

r

n bar

nba

0

)(

Page 57: Security in Computing Chapter 12,  Cryptography Explained Part 3

57

• In part of the following argument it will turn out that we’d like to deal with the cases where r = 0 and r = n separately.

• You can observe from Pascal’s triangle that they always give 1.

• This will be demonstrated for r = 0. • The result comes to the same thing if r = n.

Page 58: Security in Computing Chapter 12,  Cryptography Explained Part 3

58

• We now run into the case where 0! has to be defined.

• In the full definition of factorial, 0! = 1:• Then this is how the 0th binomial coefficient

evalutes:

1!1

!

)!0(!0

!

0

n

n

n

nn

Page 59: Security in Computing Chapter 12,  Cryptography Explained Part 3

59

A Result Needed in Order to Prove Fermat’s Little Theorem

• This result will be needed in order to prove Fermat’s Little Theorem:

• If n is prime:• (a + b)n ≡n an + bn

• Showing that this is true takes a few steps and relies on knowledge of the binomial coefficients

Page 60: Security in Computing Chapter 12,  Cryptography Explained Part 3

60

• The key to the argument is whether or not a binomial coefficient in general is evenly divisible by n if n is prime.

• That is, does n go evenly into the binomial coefficients?

• In other words, for n prime, does the binomial coefficient equal 0 mod n?

?0)!(!

!nrnr

n

r

n

Page 61: Security in Computing Chapter 12,  Cryptography Explained Part 3

61

• Observe that n can be factored out of the expression for the binomial coefficient:

)!(!

)!1(

)!(!

!

rnr

nn

rnr

n

r

n

Page 62: Security in Computing Chapter 12,  Cryptography Explained Part 3

62

• In the cases where r = 0 and r = n, this wouldn’t work

• Since the value of the binomial coefficient is 1, it would have to be the case that the rest of the expression has the value 1/n, a fraction.

• By definition, then, n would not go evenly into the binomial coefficient.

• Therefore, we will consider the first and last coefficients separately.

Page 63: Security in Computing Chapter 12,  Cryptography Explained Part 3

63

• What about the situation where 0 < r < n? • Is it valid to factor n out of the formula for the

coefficient and expect that the other factor, shown by itself below, is always a whole number?

)!(!

)!1(

rnr

n

Page 64: Security in Computing Chapter 12,  Cryptography Explained Part 3

64

• This raises an interesting antecedent question, which came up in the previous discussion of the binomial coefficients.

• Is a binomial coefficient, in general, a whole number?

• In other words, is the following expression a whole number?

)!(!

!

rnr

n

r

n

Page 65: Security in Computing Chapter 12,  Cryptography Explained Part 3

65

• It is not immediately clear how you might prove this just using the properties of numbers.

• An informal argument was given in a previous set of overheads.

• You might also appeal to Pascal’s triangle and the constructive definition of the binomial coefficient.

• It seems clear that the sum of the integral coefficients of the like terms of a binomial expansion can only be a whole number.

Page 66: Security in Computing Chapter 12,  Cryptography Explained Part 3

66

• If you accept that the binomial coefficient overall is an integer, it is easy to reason that this factorization is a factorization into two whole factors, not a whole and a fraction:

)!(!

)!1(

)!(!

!

rnr

nn

rnr

n

Page 67: Security in Computing Chapter 12,  Cryptography Explained Part 3

67

• The key to the argument is that n is prime. • Consider the expression on the left.• If it reduces to a whole number, it can only be if

the denominator goes evenly into the numerator. • Since n is prime, no part of the denominator can

be going into it in any case. • Therefore, on the right, if n is factored out, the

remaining expression must still reduce to a whole number.

)!(!

)!1(

)!(!

!

rnr

nn

rnr

n

Page 68: Security in Computing Chapter 12,  Cryptography Explained Part 3

68

• So for 0 < r < n and n prime, you can always factor n out of the binomial coefficient and the other factor is an integer

• So the binomial coefficient is divisible by n• This means that the binomial coefficient is

equivalent to 0 mod n.

Page 69: Security in Computing Chapter 12,  Cryptography Explained Part 3

69

• Or:

0mod

n

r

n

0nr

n

Page 70: Security in Computing Chapter 12,  Cryptography Explained Part 3

70

• Remember what we’re trying to show:• If n is prime:• (a + b)n ≡n an + bn

Page 71: Security in Computing Chapter 12,  Cryptography Explained Part 3

71

• Now go back to the binomial expansion and see what the divisibility of the binomial coefficient by n implies.

• First notice that the formula for the expression can be rewritten to isolate the terms where r = 0 and r = n:

rrnn

r

nnn bar

nbaba

1

1

)(

Page 72: Security in Computing Chapter 12,  Cryptography Explained Part 3

72

• The terms with coefficients of 1 are separated out

• Every term of the summation consists of a product including a binomial coefficient where 0 < r < n.

• It was just shown that such binomial coefficients are equivalent to 0 mod n.

rrnn

r

nnn bar

nbaba

1

1

)(

Page 73: Security in Computing Chapter 12,  Cryptography Explained Part 3

73

• The reducibility properties say that the mod of a sum is the sum of the mod

• Also, the mod of a product is the product of the mod

• It doesn’t matter what the expressions in a and b are

• They are integers multiplied by a binomial coefficient.

rrnn

r

nnn bar

nbaba

1

1

)(

Page 74: Security in Computing Chapter 12,  Cryptography Explained Part 3

74

• The whole summation is equivalent to 0 mod n.

• The mod of the whole right hand side reduces simply to the mod of the first two terms, those with a coefficient of 1.

• The complete sequence of steps is shown in collapsed form on the following overhead.

rrnn

r

nnn bar

nbaba

1

1

)(

Page 75: Security in Computing Chapter 12,  Cryptography Explained Part 3

75

nbar

nbanba rrn

n

r

nnn mod)(mod)(1

1

nbar

nnbanba rrn

n

r

nnn modmod)(mod)(1

1

0mod)(mod)( nbanba nnn

Page 76: Security in Computing Chapter 12,  Cryptography Explained Part 3

76

• Or using the concise notation of equivalency:• (a + b)n ≡n an + bn

• As noted at the beginning, this equivalence is needed for the proof of Fermat’s Little Theorem.

0mod)(mod)( nbanba nnn

Page 77: Security in Computing Chapter 12,  Cryptography Explained Part 3

77

3. The Proof of Fermat’s Little Theorem

• If you’re like me, by this time you’ve nearly forgotten what Fermat’s theorem says:

• For n prime and a < n:• an ≡n a• The theorem can be proven inductively. • You need a base step and an induction step.

Page 78: Security in Computing Chapter 12,  Cryptography Explained Part 3

78

• Base step: • Because 0 to any power is 0 and because

anything goes into 0 zero times with a remainder of 0:

• 0n ≡n 0• Then symbolically, for the case of a = 0:• an ≡n a• or an mod n = a

Page 79: Security in Computing Chapter 12,  Cryptography Explained Part 3

79

• Induction step: • Given an ≡n a for n prime, show that (a + 1)n ≡n a + 1.• (a + 1)n mod n = (an + 1n) mod n

• by the result of the previous section

• = (an + 1) mod n• by simple arithmetic

• = an mod n + 1 mod n• by reducibility

• = an mod n + 1• by simple arithmetic

• = a + 1, by the inductive assumption

Page 80: Security in Computing Chapter 12,  Cryptography Explained Part 3

80

• This completes the induction, giving:• (a + 1)n mod n = a + 1• Or:• (a + 1)n ≡n a + 1• The successful induction establishes that this

holds true:• an ≡n a• For all n >= 0 (and n prime)

Page 81: Security in Computing Chapter 12,  Cryptography Explained Part 3

81

Restating Fermat’s Little Theorem and Why It’s Important

• The theorem says for n prime and a < n:• an ≡n a• The reason it’s important is that it gives a

computational formula for finding inverses in a modular field:

• ana-1 ≡n aa-1

• an-1 ≡n 1

• an-1 a-1 ≡n 1a-1

• an-2 ≡n a-1

Page 82: Security in Computing Chapter 12,  Cryptography Explained Part 3

82

• What does this mean computationally?• Exponentiation in a modular field is just

repeated multiplication as usual. • Using Fermat’s theorem to find an inverse

require would require n – 3 modular multiplications.

Page 83: Security in Computing Chapter 12,  Cryptography Explained Part 3

83

• It’s also possible to find the inverse of a value by simply searching.

• Multiply the value a by every other value in the field until you get a result which is the identity.

• There are n – 1 candidate inverses. • On average you will find the inverse after (n –

1) / 2 modular multiplications.

Page 84: Security in Computing Chapter 12,  Cryptography Explained Part 3

84

• Neither doing the computation or searching are ideal solutions.

• For a field with a non-trivial value of n and large a, the values obtained from exponentiation would tend to get large.

• Using reducibility after each computation might be helpful, and modulus itself makes sure that the final result is in range.

• For large n, the search space is large.

Page 85: Security in Computing Chapter 12,  Cryptography Explained Part 3

85

• Notice that these solutions are nowhere near exponential in complexity.

• Even so, for large values of a and n, computing modular inverses is costly.

Page 86: Security in Computing Chapter 12,  Cryptography Explained Part 3

86

An Algorithm for Finding the Inverse

• The textbook gives an algorithm adapted from Knuth, which uses the Euclidean algorithm for finding greatest common divisors in order to find inverses.

• There is a homework problem based on this.• A brief presentation will be given on the

following overheads.

Page 87: Security in Computing Chapter 12,  Cryptography Explained Part 3

87

• The algorithm in the book is related to what is known formally as the extended Euclidean algorithm

• The algorithm finds x and y (one of which will turn out to be negative) such that:

• ax + by = gcd(a, b)• In other words, the gcd(a, b) can be expressed as a

linear combination of a and b• This is accomplished by applying the Euclidean

algorithm and doing certain substitutions along the way

Page 88: Security in Computing Chapter 12,  Cryptography Explained Part 3

88

• If a and b are relatively prime, (gcd(a, b) = 1), the x and y that come out of the extended Euclidean algorithm have a special property.

• x is the inverse of a mod b• y is the inverse of b mod a• No proof of this will be given.• Your task is simply to implement the

algorithm.

Page 89: Security in Computing Chapter 12,  Cryptography Explained Part 3

89

• The algorithm, as given in the book, may be hard to follow.

• I will just work through an example so that it will hopefully be clear how the Euclidean algorithm can produce the desired x and y.

• Rather than make up a new example, the example from the Wikipedia article on the extended Euclidean algorithm is given.

Page 90: Security in Computing Chapter 12,  Cryptography Explained Part 3

90

• The idea can be outlined in this way:• Express a in terms of b and b in terms of a.• Do the Euclidean algorithm, progressing from

remainder to remainder, until you reach a remainder of 0.

• At each step, substitute “a in terms of b” and “b in terms of a” into the expressions for the remainder.

Page 91: Security in Computing Chapter 12,  Cryptography Explained Part 3

91

• At the next to last step, the remainder will be 1 = gcd(ri, rj)

• Group like terms in the expression for the remainder.

• There will be 2 terms, one for a and one for b.• The coefficients on a and b are the desired x

and y.

Page 92: Security in Computing Chapter 12,  Cryptography Explained Part 3

92

• In the following example a and b are 120 and 23, respectively.

• They are relatively prime, since 23 is prime.• The example gives this result:• 1 = 120 × −9 + 23 × 47

Page 93: Security in Computing Chapter 12,  Cryptography Explained Part 3

93

• 1 = 120 × −9 + 23 × 47• This tells you that the inverse of 120 mod 23 is -

9• You can convert this to a positive number:• The inverse of 120 mod 23 is 14 = -9 + 23.• It also tells you that the inverse of 23 mod 120 is

47.• It is easy to check both results using a calculator.

Page 94: Security in Computing Chapter 12,  Cryptography Explained Part 3

Step Quotient Remainder Substitute Combine Terms

1 120 120 = 120 × 1 + 23 × 0

2 23 23 = 120 × 0 + 23 × 1

3 5 5 = 120 − 23 × 5 5 = (120 × 1 + 23 × 0) − (120 × 0 + 23 × 1) × 5

5 = 120 × 1 + 23 × −5

4 4 3 = 23 − 5 × 4 3 = (120 × 0 + 23 × 1) − (120 × 1 + 23 × −5) × 4

3 = 120 × −4 + 23 × 21

5 1 2 = 5 − 3 × 1 2 = (120 × 1 + 23 × −5) − (120 × −4 + 23 × 21) × 1

2 = 120 × 5 + 23 × −26

6 1 1 = 3 − 2 × 1 1 = (120 × −4 + 23 × 21) − (120 × 5 + 23 × −26) × 1

1 = 120 × −9 + 23 × 47

7 2 0 end of algorithm end of algorithm

Page 95: Security in Computing Chapter 12,  Cryptography Explained Part 3

95

The End