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

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

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

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

1

Security in ComputingChapter 12, Cryptography Explained

Part 3

Summary created byKirk Scott

Page 2: Security in Computing Chapter 12, Cryptography Explained Part 3 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

69

• Or:

0mod

n

r

n

0nr

n

Page 70: Security in Computing Chapter 12, Cryptography Explained Part 3 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

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 Summary created by Kirk Scott 1.

95

The End