0% found this document useful (0 votes)
26 views34 pages

Ch02 Crypto7e

Uploaded by

zzk9014
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views34 pages

Ch02 Crypto7e

Uploaded by

zzk9014
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 34

Cryptograph

y and
Network
Security
Seventh Edition, Global Edition
by William Stallings
Chapter 2
Introduction to Number Theory

© 2017 Pearson Education, Ltd., All rights reserved.


Divisibility
• We say that a nonzero b divides a if a
= mb for some m, where a, b, and m
are integers

• b divides a if there is no remainder on


division
• The notation b | a is commonly used to
mean b divides a
The positive divisors of 24 are 1, 2, 3, 4, 6, 8, 12,
• If b | a we say that and b24is a divisor of a
13 | 182; - 5 | 30; 17 | 289; - 3 | 33; 17 | 0
© 2017 Pearson Education, Ltd., All rights reserved.
Properties of
Divisibility
• If a | 1, then a = ±1

• If a | b and b | a, then a = ±b

• Any b ≠ 0 divides 0

• If a | b and b | c, then a | c
11 | 66 and 66 | 198 =
11 | 198
• If b | g and b | h, then b | (mg + nh) for
arbitrary integers m and n
© 2017 Pearson Education, Ltd., All rights reserved.
Properties of
Divisibility
• To see this last point, note that:
• If b | g , then g is of the form g = b * g1 for some
integer g1
• If b | h , then h is of the form h = b * h1 for some
integer h1
• So:
• mg + nh = mbg1 + nbh1 = b * (mg1 + nh1 )
b = 7; g = 14; h = 63; m = 3; n
and therefore b divides mg + nh
=2
7 | 14 and 7 | 63.
To show 7 (3 * 14 + 2 * 63),
we have (3 * 14 + 2 * 63) = 7(3 * 2
+ 2 * 9),
and it is obvious that 7 | (7(3 * 2 +
© 2017 Pearson Education, Ltd., All rights reserved.
Division Algorithm

• Given any positive integer n and any


nonnegative integer a, if we divide a
by n we get an integer quotient q and
an integer remainder r that obey the
following relationship:

a = qn + r 0 ≤ r < n; q =
[a/n]

© 2017 Pearson Education, Ltd., All rights reserved.


© 2017 Pearson Education, Ltd., All rights reserved.
n • One of the basic
techniques of
Algorith number theory

m • Procedure for
determining the
greatest common
divisor of two
positive integers

• Two integers are


relatively prime if
their only common
positive integer
factor is 1

© 2017 Pearson Education, Ltd., All rights reserved.


Greatest Common Divisor
(GCD)
• The greatest common divisor of a and b is the
largest integer that divides both a and b
• We can use the notation gcd(a,b) to mean the
greatest common divisor of a and b
• We also define gcd(0,0) = 0

• Positive integer c is said to be the gcd of a and b if:


• c is a divisor of a and b
• Any divisor of a and b is a divisor of c

• An equivalent definition is:

gcd(a,b) = max[k, such that k | a and k | b]


© 2017 Pearson Education, Ltd., All rights reserved.
GCD
• Because we require that the greatest common divisor be
positive, gcd(a,b) = gcd(a,-b) = gcd(-a,b) = gcd(-a,-b)

• In general, gcd(a,b) = gcd(| a |, | b |)

gcd(60, 24) = gcd(60, -


24) = 12
• Also, because all nonzero integers divide 0, we have
gcd(a,0) = | a |
• We stated that two integers a and b are relatively prime if
their only common positive integer factor is 1; this is
equivalent to saying that a and b are relatively prime if
8gcd(a,b) = 1relatively prime because the positive divisors of 8
and 15 are
are 1, 2, 4, and 8, and the positive divisors of 15 are 1, 3, 5, and
15. So 1 is the only integer on both lists.
© 2017 Pearson Education, Ltd., All rights reserved.
© 2017 Pearson Education, Ltd., All rights reserved.
© 2017 Pearson Education, Ltd., All rights reserved.
Table 2.1
Euclidean Algorithm
Example

(This table can be found on page 34 in the textbook)


© 2017 Pearson Education, Ltd., All rights reserved.
Modular Arithmetic
• The modulus
• If a is an integer and n is a positive
integer, we define a mod n to be the
remainder when a is divided by n; the
integer n is called the modulus
• Thus, for any integer a:
a = qn + r 0 ≤ r < n; q = [a/
n]
a = [a/ n] * n + ( a mod n)
11 mod 7 = 4; - 11 mod 7 = 3

© 2017 Pearson Education, Ltd., All rights reserved.


Modular Arithmetic

• Congruent modulo n
• Two integers a and b are said to be
congruent modulo n if (a mod n) = (b
mod n)
• This is written as a = b(mod n)2
• Note that if a = 0(mod n), then n | a

73 = 4 (mod 23); 21 = - 9 (mod 10)

© 2017 Pearson Education, Ltd., All rights reserved.


Properties of
Congruences
• Congruences have the following properties:

1. a = b (mod n) if n (a – b)

2. a = b (mod n) implies b = a (mod n)

3. a = b (mod n) and b = c (mod n) imply a = c


(mod n)
• To demonstrate the first point, if n (a - b), then (a - b) =
kn for some k
• So we can write a = b + kn
• Therefore, (a mod n) = (remainder when b + kn is
divided by n) = (remainder when b is divided by n) = (b
23 = 8 (mod 5) because 23 - 8 = 15 = 5 * 3
mod n)
- 11 = 5 (mod 8) because - 11 - 5 = - 16 = 8 * (- 2)
81 = 0 (mod 27) because 81 - 0 = 81 = 27 * 3
© 2017 Pearson Education, Ltd., All rights reserved.
Modular Arithmetic
• Modular arithmetic exhibits the following properties:
1. [(a mod n) + (b mod n)] mod n = (a + b) mod n

2. [(a mod n) - (b mod n)] mod n = (a - b) mod n

3. [(a mod n) * (b mod n)] mod n = (a * b) mod n


• We demonstrate the first property:
• Define (a mod n) = ra and (b mod n) = rb. Then we can
write a = ra + jn for some integer j and b = rb + kn for
some integer k
• Then:
(a + b) mod n = (ra + jn + rb + kn) mod n
= (ra + rb + (k + j)n) mod n
= (ra + rb) mod n
= [(a mod n) + (b mod n)] mod n
© 2017 Pearson Education, Ltd., All rights reserved.
Remaining
Properties:
• Examples of the three remaining
properties:
11 mod 8 = 3; 15 mod 8 = 7
[(11 mod 8) + (15 mod 8)] mod 8 = 10 mod 8 = 2
(11 + 15) mod 8 = 26 mod 8 = 2
[(11 mod 8) - (15 mod 8)] mod 8 = - 4 mod 8 = 4
(11 - 15) mod 8 = - 4 mod 8 = 4
[(11 mod 8) * (15 mod 8)] mod 8 = 21 mod 8 = 5
(11 * 15) mod 8 = 165 mod 8 = 5

© 2017 Pearson Education, Ltd., All rights reserved.


Table 2.2(a)
Arithmetic Modulo 8

© 2017 Pearson Education, Ltd., All rights reserved.


(This table can be found on page 37 in the textbook)
Table 2.2(b)
Multiplication Modulo 8

© 2017 Pearson Education, Ltd., All rights reserved.


(This table can be found on page 37 in the textbook)
Table 2.2(c)

Additive
and
Multiplicativ
e Inverse
Modulo 8
© 2017 Pearson Education, Ltd., All rights reserved.
(This table can be found on page 37 in the textbook)
Table 2.3
Properties of Modular Arithmetic for
Integers in Zn

(This table can be found on page 38 in the textbook)


© 2017 Pearson Education, Ltd., All rights reserved.
Table 2.4
Extended Euclidean Algorithm
Example

Result: d = 1; x = –111; y = 355

(This table can be found on page 43 in the textbook)


© 2017 Pearson Education, Ltd., All rights reserved.
Prime Numbers
• Prime numbers only have divisors of 1 and itself
• They cannot be written as a product of other numbers

• Prime numbers are central to number theory

• Any integer a > 1 can be factored in a unique way


as

a= p1
a1
* p2 a2
* . . . * pp1 a1

where p1 < p2 < . . . < pt are prime numbers and


where each ai is a positive integer

• This is known as the fundamental theorem of


arithmetic
© 2017 Pearson Education, Ltd., All rights reserved.
Table 2.5
Primes Under 2000

© 2017 Pearson Education, Ltd., All rights reserved. (This table can be found on page 44 in the textbook)
Fermat's Theorem
• States the following:
• If p is prime and a is a positive integer
not divisible by p then

ap-1 = 1 (mod p)
• An alternate form is:
• If p is prime and a is a positive integer
then

ap = a (mod p)
© 2017 Pearson Education, Ltd., All rights reserved.
Table 2.6
Some Values of Euler’s Totient
Function ø(n)

© 2017 Pearson Education, Ltd., All rights reserved. (This table can be found on page 48 in the textbook)
Euler's Theorem

• States that for every a and n that are


relatively prime:

aø(n) = 1(mod n)

• An alternative form is:

aø(n)+1 = a(mod n)

© 2017 Pearson Education, Ltd., All rights reserved.


Miller-Rabin
Algorithm
• Typically used to test a large number for primality

• Algorithm is:
TEST (n)
1. • Find integers k, q, with k > 0, q odd, so that (n – 1)=2kq ;

2. • Select a random integer a, 1 < a < n – 1 ;

3. • if aq mod n = 1 then return (“inconclusive") ;

4. • for j = 0 to k – 1 do

5. •if (a2jq mod n = n – 1) then return (“inconclusive") ;

6. • return (“composite") ;

© 2017 Pearson Education, Ltd., All rights reserved.


Deterministic Primality
Algorithm
• Prior to 2002 there was no known method of
efficiently proving the primality of very large
numbers
• All of the algorithms in use produced a
probabilistic result
• In 2002 Agrawal, Kayal, and Saxena developed
an algorithm that efficiently determines
whether a given large number is prime
• Known as the AKS algorithm
• Does not appear to be as efficient as
the Miller-Rabin algorithm
© 2017 Pearson Education, Ltd., All rights reserved.
Chinese Remainder Theorem
(CRT)
• Believed to have been discovered by the Chinese
mathematician Sun-Tsu in around 100 A.D.

• One of the most useful results of number theory

• Says it is possible to reconstruct integers in a certain


range from their residues modulo a set of pairwise
relatively prime moduli

• Can be stated in several ways


Provides a way to manipulate
(potentially very large)
numbers mod M in terms of
tuples of smaller numbers
•This can be useful when M is 150 digits or more
© 2017 Pearson Education, Ltd., All rights reserved.
•However, it is necessary to know beforehand the factorization of M
Table 2.7
Powers of Integers, Modulo 19

© 2017 Pearson Education, Ltd., All rights reserved. (This table can be found on page 57 in the textbook)
Table 2.8
Tables of Discrete Logarithms, Modulo 19

© 2017 Pearson Education, Ltd., All rights reserved.


(This table can be found on page 60 in the textbook)
Summary
• Divisibility and the division
• Fermat’s Theorem
algorithm
• Euler’s totient function
• The Euclidean algorithm
• Euler’s Theorem
• Greatest Common Divisor
• Finding the Greatest • Testing for primality
Common Divisor • Miller-Rabin algorithm
• A deterministic primality
algorithm
• Modular arithmetic
• Distribution of primes
• The modulus
• Properties of congruences • The Chinese Remainder
• Modular arithmetic
Theorem
operations • Discrete logarithms
• Properties of modular • Powers of an integer, modulo
arithmetic n
• Euclidean algorithm revisited • Logarithms for modular
arithmetic
• The extended Euclidean • Calculation of discrete
© 2017 Pearsonalgorithm
Education, Ltd., All rights reserved. logarithms

You might also like