0% found this document useful (0 votes)
19 views32 pages

C2. Introduction To Number Theory and Finite Fields

Uploaded by

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

C2. Introduction To Number Theory and Finite Fields

Uploaded by

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

Cryptography

and Network
Security
Sixth Edition
by William Stallings

Vietnam – Korea University


of Information and Communication Technology
Chapter 2

Introduction to Number Theory


and Finite Fields
Vietnam – Korea University
of Information and Communication Technology
Chapter 2: Outline

• Divisibility and The Division Algorithm Divisibility


• The Euclidean Algorithm
• Modular Arithmetic
• Prime Numbers
• Fermat’s and Euler’s Theorems
• Testing for Primality
• The Chinese Remainder Theorem
• Discrete Logarithms

Vietnam – Korea University


of Information and Communication Technology
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
• If b | a we say that b is a divisor of a

The positive divisors of 24 are 1, 2, 3, 4, 6, 8, 12, and 24


13 | 182; - 5 | 30; 17 | 289; - 3 | 33; 17 | 0

Vietnam – Korea University


of Information and Communication Technology
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

• If b | g and b | h, then b | (mg + nh) for


arbitrary integers m and n

11 | 66 and 66 | 198 = 11 | 198

Vietnam – Korea University


of Information and Communication Technology
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 )
and therefore b divides mg + nh

b = 7; g = 14; h = 63; m = 3; n = 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 + 2 * 9)).

Vietnam – Korea University


of Information and Communication Technology
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]

Vietnam – Korea University


of Information and Communication Technology
Vietnam – Korea University
of Information and Communication Technology
Euclidean Algorithm

• One of the basic techniques


of number theory
• 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

Vietnam – Korea University


of Information and Communication Technology
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]

Vietnam – Korea University


of Information and Communication Technology
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
gcd(a,b) = 1
8 and 15 are relatively prime because the positive divisors of 8 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.

Vietnam – Korea University


of Information and Communication Technology
Table 4.1
Euclidean Algorithm Example

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

Vietnam – Korea University


of Information and Communication Technology
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

Vietnam – Korea University


of Information and Communication Technology
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)

Vietnam – Korea University


of Information and Communication Technology
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 mod n)

23 = 8 (mod 5) because 23 - 8 = 15 = 5 * 3
- 11 = 5 (mod 8) because - 11 - 5 = - 16 = 8 * (- 2)
81 = 0 (mod 27) because 81 - 0 = 81 = 27 * 3

Vietnam – Korea University


of Information and Communication Technology
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

Vietnam – Korea University


of Information and Communication Technology
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

Vietnam – Korea University


of Information and Communication Technology
Table 4.2(a) Arithmetic Modulo 8

Vietnam – Korea University


of Information and Communication Technology
Table 4.2(b) Multiplication Modulo 8

Vietnam – Korea University


of Information and Communication Technology
Table 4.2(c)

Additive
and
Multiplicative
Inverses
Modulo 8

Vietnam – Korea University


of Information and Communication Technology
Table 4.3
Properties of Modular Arithmetic for Integers in Zn

Vietnam – Korea University


of Information and Communication Technology
Table 4.4
Extended Euclidean Algorithm Example
For given integers a and b, find <d,x,y> satisfying: ax + by = d = gcd(a,b)

a
b

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

Vietnam – Korea University


of Information and Communication Technology
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
Vietnam – Korea University
of Information and Communication Technology
Table 8.1
Primes Under 2000

Vietnam – Korea University


of Information and Communication Technology
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)
• Sometimes referred to as Fermat’s Little
Theorem
• An alternate form is:
• If p is prime and a is a positive integer then
ap  a (mod p)
• Plays an important role in public-key
cryptography

Vietnam – Korea University


of Information and Communication Technology
Table 8.2
Some Values of Euler’s Totient Function ø(n)

Vietnam – Korea University


of Information and Communication Technology
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)

• Plays an important role in public-key cryptography


Vietnam – Korea University
of Information and Communication Technology
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") ;
Vietnam – Korea University
of Information and Communication Technology
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

Vietnam – Korea University


of Information and Communication Technology
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
• However, it is necessary to know beforehand the
factorization of M

Vietnam – Korea University


of Information and Communication Technology
Table 8.3
Powers of Integers, Modulo 19

Vietnam – Korea University


of Information and Communication Technology
Vietnam – Korea University
of Information and Communication Technology

You might also like