Chapter 4

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 26

Discrete Mathematics

Abdelrahman Busati
College of Information Technology
University of Fujairah
4. Number Theory and
Cryptography
4.1.1 Introduction to Divisibility
and Modular Arithmetic
The ideas that we will develop in this section are based on the
notion of divisibility. Division of an integer by a positive integer
produces a quotient and a remainder. Working with these
remainders leads to modular arithmetic, which plays an
important role in mathematics and which is used throughout
computer science. We will discuss some important
applications of modular arithmetic later in this chapter,
4.1.2 Division
When one integer is divided by a second nonzero integer, the quotient
may or may not be an integer. For example, = 4 is an integer, whereas
= 2.75 is not. This leads to Definition 1.

Remark: We can express a ∣ b using quantifiers as ∃c(ac = b), where the


universe of discourse is the set of integers.
4.1.2 Division
EXAMPLE 1: Determine whether 3 ∣ 7 and whether 3 ∣ 12.
Solution: We see that 3 ̸| 7, because 7∕3 is not an integer. On the
other hand, 3 ∣ 12 because 12∕3 = 4. ◂
EXAMPLE 2: Let n and d be positive integers. How many positive
integers not exceeding n are divisible by d?
Solution: The positive integers divisible by d are all the integers of
the form dk, where k is a positive integer. Hence, the number of
positive integers divisible by d that do not exceed n equals the
number of integers k with 0 < dk ≤ n, or with 0 < k ≤ n∕d.
Therefore, there are ⌊n∕d⌋ positive integers not exceeding n that
are divisible by d.
4.1.2 Division
Some of the basic properties of divisibility of integers are given in Theorem 1.

Proof: We will give a direct proof of (i). Suppose that a ∣ b and a ∣ c. Then, from
the definition of divisibility, it follows that there are integers s and t with b = as
and c = at. Hence, b + c = as + at = a(s + t). Therefore, a divides b + c. This
establishes part (i) of the theorem. The proofs of parts (ii) and (iii) are left as
Exercises 3 and 4.
4.1.2 Division
Theorem 1 has this useful consequence.

Proof: We will give a direct proof. By part (ii) of Theorem 1 we see


that a ∣ mb and a ∣ nc whenever m and n are integers. By part (i)
of Theorem 1 it follows that a ∣ mb + nc.
4.1.3 The Division Algorithm
When an integer is divided by a positive integer, there is a quotient
and a remainder, as the division algorithm shows.

Remark: Theorem 2 is not really an algorithm. (Why not?)


Nevertheless, we use its traditional name.
4.1.3 The Division Algorithm

Remark: Note that both a div d and a mod d for a fixed d are functions
on the set of integers. Furthermore, when a is an integer and d is a
positive integer, we have a div d = ⌊a∕d⌋ and a mod d = a − d.
4.1.3 The Division Algorithm
EXAMPLE 3: What are the quotient and remainder when 101 is divided
by 11?
Solution: We have
101 = 11 ⋅ 9 + 2.
Hence, the quotient when 101 is divided by 11 is 9 = 101 div 11, and
the remainder is
2 = 101 mod 11. ◂
4.1.3 The Division Algorithm
EXAMPLE 4: What are the quotient and remainder when −11 is
divided by 3?
Solution: We have −11 = 3(−4) + 1.
Hence, the quotient when −11 is divided by 3 is −4 = −11 div 3, and
the remainder is 1 = −11 mod 3.
Note that the remainder cannot be negative. Consequently, the
remainder is not −2, even though −11 = 3(−3) − 2,
because r = −2 does not satisfy 0 ≤ r < 3.
Note that the integer a is divisible by the integer d if and only if the
remainder is zero when a is divided by d
4.1.4 Modular Arithmetic
In some situations, we care only about the remainder of an integer
when it is divided by some specified positive integer. We have already
introduced the notation a mod m to represent the remainder when an
integer a is divided by the positive integer m. We now introduce a
different, but related, notation that indicates that two integers have the
same remainder when they are divided by the positive integer m.
4.1.4 Modular Arithmetic
Although both notations a ≡ b (mod m) and a mod m = b include “mod,”
they represent fundamentally different concepts. The first represents a
relation on the set of integers, whereas the second represents a function.
However, the relation a ≡ b (mod m) and the mod m function are closely
related, as described in Theorem 3.
4.1.4 Modular Arithmetic
EXAMPLE 5: Determine whether 17 is congruent to 5 modulo 6 and
whether 24 and 14 are congruent modulo 6.
Solution: Because 6 divides 17 − 5 = 12, we see that 17 ≡ 5 (mod 6).
However, because 24 − 14 = 10 is not divisible by 6, we see that 24 ≢ 14
(mod 6). ◂
4.2.1 Introduction Integer
Representations and Algorithms
Integers can be expressed using any integer greater than one as a base,
as we will show in this section. Although we commonly use decimal
(base 10), representations, binary (base 2), octal (base 8), and
hexadecimal (base 16) representations are often used, especially in
computer science.
We will also introduce an algorithm for finding a div d and a mod d
where a and d are integers with d > 1. Finally, we will describe an
efficient algorithm for modular exponentiation, which is a particularly
important algorithm for cryptography, as we will see in Section 4.6.
4.2.2 Representations of Integers
4.2.2 Representations of Integers
4.2.2 Representations of Integers
Theorem 1 is called the base b expansion of n. The base b
expansion of n is denoted by (akak−1 … a1a0)b. For instance, (245)8
represents 2 ⋅ 82 + 4 ⋅ 8 + 5 = 165. Typically, the subscript 10 is
omitted for base 10 expansions of integers because base 10, or
decimal expansions, are commonly used to represent integers.
BINARY EXPANSIONS Choosing 2 as the base gives binary
expansions of integers. In binary notation each digit is either a 0 or
a 1. In other words, the binary expansion of an integer is just a bit
string. Binary expansions (and related expansions that are variants
of binary expansions) are used by computers to represent and do
arithmetic with integers.
4.2.2 Representations of Integers
EXAMPLE 1: What is the decimal expansion of the integer that
has (1 0101 1111)2 as its binary expansion?
Solution: We have
(1 0101 1111)2 = 1 ⋅ 28 + 0 ⋅ 27 + 1 ⋅ 26 + 0 ⋅ 25 + 1 ⋅ 24 +1 ⋅ 23 + 1 ⋅
22 + 1 ⋅ 21 + 1 ⋅ 20 = 351.
•◂
OCTAL AND HEXADECIMAL EXPANSIONS Among the most
important bases in computer science are base 2, base 8, and
base 16. Base 8 expansions are called octal expansions and base
16 expansions are hexadecimal expansions.
4.2.2 Representations of Integers
EXAMPLE 2:
What is the decimal expansion of the number with octal expansion
(7016)8?

Solution:
Using the definition of a base b expansion with b = 8 tells us that
(7016)8 = 7 ⋅ 83 + 0 ⋅ 82 + 1 ⋅ 8 + 6 = 3598. ◂
4.2.2 Representations of Integers
Sixteen different digits are required for hexadecimal expansions.
Usually, the hexadecimal digits used are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,
C, D, E, and F, where the letters A through F represent the digits
corresponding to the numbers 10 through 15 (in decimal notation).

EXAMPLE 3: What is the decimal expansion of the number with


hexadecimal expansion (2AE0B)16?
Solution: Using the definition of a base b expansion with b = 16 tells
us that
(2AE0B)16 = 2 ⋅ 164 + 10 ⋅ 163 + 14 ⋅ 162 + 0 ⋅ 16 + 11 = 175627
4.2.2 Representations of Integers
EXAMPLE 4: Find the octal expansion of (12345)10.
Solution: First, divide 12345 by 8 to obtain
12345 = 8 ⋅ 1543 + 1.
Successively dividing quotients by 8 gives
1543 = 8 ⋅ 192 + 7,
192 = 8 ⋅ 24 + 0,
24 = 8 ⋅ 3 + 0,
3 = 8 ⋅ 0 + 3.
The successive remainders that we have found, 1, 7, 0, 0, and 3, are the digits
from the right to the left of 12345 in base 8. Hence,
(12345)10 = (30071)8.
4.2.2 Representations of Integers
EXAMPLE 5: Find the hexadecimal expansion of (177130)10.
Solution: First divide 177130 by 16 to obtain
177130 = 16 ⋅ 11070 + 10.
Successively dividing quotients by 16 gives
11070 = 16 ⋅ 691 + 14,
691 = 16 ⋅ 43 + 3,
43 = 16 ⋅ 2 + 11,
2 = 16 ⋅ 0 + 2.
The successive remainders that we have found, 10, 14, 3, 11, 2, give us the digits
from the right to the left of 177130 in the hexadecimal (base 16) expansion of
(177130)10. It follows that: (177130)10 = (2B3EA)16.
4.2.2 Representations of Integers
EXAMPLE 6: Find the binary expansion of (241)10.
Solution: First divide 241 by 2 to obtain
241 = 2 ⋅ 120 + 1.
Successively dividing quotients by 2 gives
120 = 2 ⋅ 60 + 0,
60 = 2 ⋅ 30 + 0,
30 = 2 ⋅ 15 + 0,
15 = 2 ⋅ 7 + 1,
7 = 2 ⋅ 3 + 1,
3 = 2 ⋅ 1 + 1,
1 = 2 ⋅ 0 + 1.
The successive remainders that we have found, 1, 0, 0, 0, 1, 1, 1, 1, are the digits from the right
to the left in the binary (base 2) expansion of (241) . Hence, (241) = (1111 0001) .
4.2.2 Representations of Integers
EXAMPLE 7: Find the octal and hexadecimal expansions of (11 1110
1011 1100)2 and the binary expansions of (765)8 and (A8D)16.
Solution: To convert (11 1110 1011 1100)2 into octal notation we
group the binary digits into blocks of three, adding initial zeros at the
start of the leftmost block if necessary. These blocks, from left to
right, are 011, 111, 010, 111, and 100, corresponding to 3, 7, 2, 7,
and 4, respectively. Consequently, (11 1110 1011 1100)2 = (37274)8.
To convert (11 1110 1011 1100)2 into hexadecimal notation we group
the binary digits into blocks of four, adding initial zeros at the start of
the leftmost block if necessary.
Continue ….
4.2.2 Representations of Integers
These blocks, from left to right, are 0011, 1110, 1011, and
1100, corresponding to the hexadecimal digits 3, E, B, and C,
respectively. Consequently, (11 1110 1011 1100)2 = (3EBC)16.
To convert (765)8 into binary notation, we replace each octal
digit by a block of three binary digits. These blocks are 111,
110, and 101. Hence, (765)8 = (1 1111 0101)2. To convert
(A8D)16 into binary notation, we replace each hexadecimal
digit by a block of four binary digits. These blocks are 1010,
1000, and 1101. Hence, (A8D)16 = (1010 1000 1101)2.

You might also like