0% found this document useful (0 votes)
12 views

Lesson 3 Multiplicative Inverses

Uploaded by

Rakib Pk
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)
12 views

Lesson 3 Multiplicative Inverses

Uploaded by

Rakib Pk
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/ 75

The analog to division in a modular world is

the multiplicative inverse

INSERT
VIDEO
HERE
The analog to division in a modular world is
the multiplicative inverse
• What a multiplicative inverse is

INSERT
VIDEO
HERE
The analog to division in a modular world is
the multiplicative inverse
• What a multiplicative inverse is
• When a multiplicative inverse exists

INSERT
VIDEO
HERE
The analog to division in a modular world is
the multiplicative inverse
• What a multiplicative inverse is
• When a multiplicative inverse exists
• The Euclidean algorithm finds the gcd
INSERT
VIDEO
HERE
The analog to division in a modular world is
the multiplicative inverse
• What a multiplicative inverse is
• When a multiplicative inverse exists
• The Euclidean algorithm finds the gcd
INSERT • How efficient the Euclidean algorithm is

VIDEO
HERE
The analog to division in a modular world is
the multiplicative inverse
• What a multiplicative inverse is
• When a multiplicative inverse exists
• The Euclidean algorithm finds the gcd
INSERT •

How efficient the Euclidean algorithm is
Prove the validity of the Euclidean algorithm
VIDEO
HERE
The analog to division in a modular world is
the multiplicative inverse
• What a multiplicative inverse is
• When a multiplicative inverse exists
• The Euclidean algorithm finds the gcd
INSERT •

How efficient the Euclidean algorithm is
Prove the validity of the Euclidean algorithm
VIDEO • Future work – extend the Euclidean algorithm
HERE
Division isn't defined,
but multiplicative inverses are

INSERT
VIDEO
HERE
Division isn't defined,
but multiplicative inverses are
• Dividing by x = multiplying by reciprocal of x

INSERT
VIDEO
HERE
Division isn't defined,
but multiplicative inverses are
• Dividing by x = multiplying by reciprocal of x

INSERT
VIDEO
HERE
Division isn't defined,
but multiplicative inverses are
• Dividing by x = multiplying by reciprocal of x

INSERT • Reciprocal also know as multiplicative inverse


VIDEO
HERE
Division isn't defined,
but multiplicative inverses are
• Dividing by x = multiplying by reciprocal of x

INSERT • Reciprocal also know as multiplicative inverse


VIDEO • Product of x and its multiplicative inverse is 1
HERE
mod-7 multiplication table shows
every nonzero residue class has an inverse

INSERT
VIDEO
HERE
mod-7 multiplication table shows
every nonzero residue class has an inverse
mod 7 0 1 2 3 4 5 6

0 0 0 0 0 0 0 0

INSERT
1 0 1 2 3 4 5 6

2 0 2 4 6 1 3 5

VIDEO 3

4
0

0
3

4
6

1
2

5
5

2
1

6
4

HERE 5

6
0

0
5

6
3

5
1

4
6

3
4

2
2

1
mod-7 multiplication table shows
every nonzero residue class has an inverse
mod 7 0 1 2 3 4 5 6

0 0 0 0 0 0 0 0

INSERT
1 0 1 2 3 4 5 6

2 0 2 4 6 1 3 5

VIDEO 3

4
0

0
3

4
6

1
2

5
5

2
1

6
4

HERE 5

6
0

0
5

6
3

5
1

4
6

3
4

2
2

1
mod-15 multiplication table shows
many nonzero residue classes don’t
Mod
15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 0 2 4 6 8 10 12 14 1 3 5 7 9 11 13

INSERT
3 0 3 6 9 12 0 3 6 9 12 0 3 6 9 12
4 0 4 8 12 1 5 9 13 2 6 10 14 3 7 11
5 0 5 10 0 5 10 0 5 10 0 5 10 0 5 10
6 0 6 12 3 9 0 6 12 3 9 0 6 12 3 9

VIDEO
7 0 7 14 6 13 5 12 4 11 3 10 2 9 1 8
8 0 8 1 9 2 10 3 11 4 12 5 13 6 14 7
9 0 9 3 12 6 0 9 3 12 6 0 9 3 12 6
10 0 10 5 0 10 5 0 10 5 0 10 5 0 10 5

HERE
11 0 11 7 3 14 10 6 2 13 9 5 1 12 8 4
12 0 12 9 6 3 0 12 9 6 3 0 12 9 6 3
13 0 13 11 9 7 5 3 1 14 12 10 8 6 4 2
14 0 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Being relatively prime to the modulus is
sufficient to have a multiplicative inverse

INSERT
VIDEO
HERE
Being relatively prime to the modulus is
sufficient to have a multiplicative inverse
• gcd(a,m) = 1 (i.e., relatively prime)

INSERT
VIDEO
HERE
Being relatively prime to the modulus is
sufficient to have a multiplicative inverse
• gcd(a,m) = 1 (i.e., relatively prime)
• Sequence of m values: {0·a, 1·a, 2·a, …, (m-1)·a}

INSERT
VIDEO
HERE
Being relatively prime to the modulus is
sufficient to have a multiplicative inverse
• gcd(a,m) = 1 (i.e., relatively prime)
• Sequence of m values: {0·a, 1·a, 2·a, …, (m-1)·a}
• Pick x and y that are NOT congruent (mod m)
INSERT
VIDEO
HERE
Being relatively prime to the modulus is
sufficient to have a multiplicative inverse
• gcd(a,m) = 1 (i.e., relatively prime)
• Sequence of m values: {0·a, 1·a, 2·a, …, (m-1)·a}
• Pick x and y that are NOT congruent (mod m)
INSERT • Can x·a ≡ y·a (mod m) ?

VIDEO
HERE
Being relatively prime to the modulus is
sufficient to have a multiplicative inverse
• gcd(a,m) = 1 (i.e., relatively prime)
• Sequence of m values: {0·a, 1·a, 2·a, …, (m-1)·a}
• Pick x and y that are NOT congruent (mod m)
INSERT •

Can x·a ≡ y·a (mod m) ?
Requires (x-y)·a = km
VIDEO
HERE
Being relatively prime to the modulus is
sufficient to have a multiplicative inverse
• gcd(a,m) = 1 (i.e., relatively prime)
• Sequence of m values: {0·a, 1·a, 2·a, …, (m-1)·a}
• Pick x and y that are NOT congruent (mod m)
INSERT •

Can x·a ≡ y·a (mod m) ?
Requires (x-y)·a = km
VIDEO • Since ‘a’ has no factors of ‘m’, (x-y) | m

HERE
Being relatively prime to the modulus is
sufficient to have a multiplicative inverse
• gcd(a,m) = 1 (i.e., relatively prime)
• Sequence of m values: {0·a, 1·a, 2·a, …, (m-1)·a}
• Pick x and y that are NOT congruent (mod m)
INSERT •

Can x·a ≡ y·a (mod m) ?
Requires (x-y)·a = km
VIDEO •

Since ‘a’ has no factors of ‘m’, (x-y) | m
But –m < (x-y) < m and (x-y) ≠ 0
HERE
Being relatively prime to the modulus is
sufficient to have a multiplicative inverse
• gcd(a,m) = 1 (i.e., relatively prime)
• Sequence of m values: {0·a, 1·a, 2·a, …, (m-1)·a}
• Pick x and y that are NOT congruent (mod m)
INSERT •

Can x·a ≡ y·a (mod m) ?
Requires (x-y)·a = km
VIDEO •

Since ‘a’ has no factors of ‘m’, (x-y) | m
But –m < (x-y) < m and (x-y) ≠ 0
HERE • No two members of sequence are congruent
Being relatively prime to the modulus is
sufficient to have a multiplicative inverse
• gcd(a,m) = 1 (i.e., relatively prime)
• Sequence of m values: {0·a, 1·a, 2·a, …, (m-1)·a}
• Pick x and y that are NOT congruent (mod m)
INSERT •

Can x·a ≡ y·a (mod m) ?
Requires (x-y)·a = km
VIDEO •

Since ‘a’ has no factors of ‘m’, (x-y) | m
But –m < (x-y) < m and (x-y) ≠ 0
HERE •

No two members of sequence are congruent
Pigeonhole Principle: 1 member is congruent to 1
Being relatively prime to the modulus is
necessary to have a multiplicative inverse

INSERT
VIDEO
HERE
Being relatively prime to the modulus is
necessary to have a multiplicative inverse
• gcd(a,m) = c > 1 (i.e., NOT relatively prime)

INSERT
VIDEO
HERE
Being relatively prime to the modulus is
necessary to have a multiplicative inverse
• gcd(a,m) = c > 1 (i.e., NOT relatively prime)
• a = b·c, m = n·c where gcd(b,n) = 1

INSERT
VIDEO
HERE
Being relatively prime to the modulus is
necessary to have a multiplicative inverse
• gcd(a,m) = c > 1 (i.e., NOT relatively prime)
• a = b·c, m = n·c where gcd(b,n) = 1
• (x-y)a = km → (x-y)bc = knc → (x-y)b = kn
INSERT
VIDEO
HERE
Being relatively prime to the modulus is
necessary to have a multiplicative inverse
• gcd(a,m) = c > 1 (i.e., NOT relatively prime)
• a = b·c, m = n·c where gcd(b,n) = 1
• (x-y)a = km → (x-y)bc = knc → (x-y)b = kn
INSERT • x·b produces all n residues:

VIDEO
HERE
Being relatively prime to the modulus is
necessary to have a multiplicative inverse
• gcd(a,m) = c > 1 (i.e., NOT relatively prime)
• a = b·c, m = n·c where gcd(b,n) = 1
• (x-y)a = km → (x-y)bc = knc → (x-y)b = kn
INSERT • x·b produces all n residues:

VIDEO
HERE
Being relatively prime to the modulus is
necessary to have a multiplicative inverse
• gcd(a,m) = c > 1 (i.e., NOT relatively prime)
• a = b·c, m = n·c where gcd(b,n) = 1
• (x-y)a = km → (x-y)bc = knc → (x-y)b = kn
INSERT • x·b produces all n residues:

VIDEO • To get back to ‘a’ and ‘m’, multiply residues by ‘c’

HERE
Being relatively prime to the modulus is
necessary to have a multiplicative inverse
• gcd(a,m) = c > 1 (i.e., NOT relatively prime)
• a = b·c, m = n·c where gcd(b,n) = 1
• (x-y)a = km → (x-y)bc = knc → (x-y)b = kn
INSERT • x·b produces all n residues:

VIDEO • To get back to ‘a’ and ‘m’, multiply residues by ‘c’

HERE
Being relatively prime to the modulus is
necessary to have a multiplicative inverse
• gcd(a,m) = c > 1 (i.e., NOT relatively prime)
• a = b·c, m = n·c where gcd(b,n) = 1
• (x-y)a = km → (x-y)bc = knc → (x-y)b = kn
INSERT • x·b produces all n residues:

VIDEO • To get back to ‘a’ and ‘m’, multiply residues by ‘c’

HERE • The residue class congruent to 1 is NOT present!


The Euclidean Algorithm finds gcd(x,y)

INSERT
VIDEO
HERE
The Euclidean Algorithm finds gcd(x,y)
• Oldest known algorithm

INSERT
VIDEO
HERE
The Euclidean Algorithm finds gcd(x,y)
• Oldest known algorithm
• gcd(x,y) = gcd(y, x%y) (x > y)

INSERT
VIDEO
HERE
The Euclidean Algorithm finds gcd(x,y)
• Oldest known algorithm
• gcd(x,y) = gcd(y, x%y) (x > y)

INSERT • gcd(2017, 1024)

VIDEO
HERE
The Euclidean Algorithm finds gcd(x,y)
• Oldest known algorithm
• gcd(x,y) = gcd(y, x%y) (x > y)

INSERT •

gcd(2017, 1024)
gcd(1024, 993)
VIDEO •

gcd(993, 31)
gcd(31, 1) = 1
HERE
The Euclidean Algorithm finds gcd(x,y)
• Oldest known algorithm
• gcd(x,y) = gcd(y, x%y) (x > y)

INSERT •

gcd(2017, 1024)
gcd(1024, 993)
VIDEO •

gcd(993, 31)
gcd(31, 1) = 1
HERE • 2017 and 1024 are relatively prime
The Euclidean Algorithm
efficiently finds gcd(x,y)

INSERT
VIDEO
HERE
The Euclidean Algorithm
efficiently finds gcd(x,y)
• gcd(x,y) = gcd(y, x%y) = gcd(x%y, (x%y)%y)

INSERT
VIDEO
HERE
The Euclidean Algorithm
efficiently finds gcd(x,y)
• gcd(x,y) = gcd(y, x%y) = gcd(x%y, (x%y)%y)

• If y < (x/2), x%y < (x/2)


INSERT
VIDEO
HERE
The Euclidean Algorithm
efficiently finds gcd(x,y)
• gcd(x,y) = gcd(y, x%y) = gcd(x%y, (x%y)%y)

• If y < (x/2), x%y < (x/2)


INSERT • If y > (x/2), x%y = x – y < x – (x/2) < (x/2)

VIDEO
HERE
The Euclidean Algorithm
efficiently finds gcd(x,y)
• gcd(x,y) = gcd(y, x%y) = gcd(x%y, (x%y)%y)

• If y < (x/2), x%y < (x/2)


INSERT • If y > (x/2), x%y = x – y < x – (x/2) < (x/2)

VIDEO • Therefore, x % y < (x/2)

HERE
The Euclidean Algorithm
efficiently finds gcd(x,y)
• gcd(x,y) = gcd(y, x%y) = gcd(x%y, (x%y)%y)

• If y < (x/2), x%y < (x/2)


INSERT • If y > (x/2), x%y = x – y < x – (x/2) < (x/2)

VIDEO • Therefore, x % y < (x/2)

HERE • Number of iterations is O(log(x))


The Euclidean Algorithm
efficiently finds gcd(x,y)
• gcd(x,y) = gcd(y, x%y) = gcd(x%y, (x%y)%y)

• If y < (x/2), x%y < (x/2)


INSERT • If y > (x/2), x%y = x – y < x – (x/2) < (x/2)

VIDEO • Therefore, x % y < (x/2)

HERE • Number of iterations is O(log(x))


• Worst case typically 2·(bits in modulus)
The Euclidean Algorithm
actually finds gcd(x,y)

INSERT
VIDEO
HERE
The Euclidean Algorithm
actually finds gcd(x,y)
• gcd(x,y) = c → c|x and c|y

INSERT
VIDEO
HERE
The Euclidean Algorithm
actually finds gcd(x,y)
• gcd(x,y) = c → c|x and c|y
• x = q·y + r → r = x – q·y = k1·c – q·k2·c = kc·c

INSERT
VIDEO
HERE
The Euclidean Algorithm
actually finds gcd(x,y)
• gcd(x,y) = c → c|x and c|y
• x = q·y + r → r = x – q·y = k1·c – q·k2·c = kc·c
• c|r → gcd(y,r) ≥ gcd(x,y)
INSERT
VIDEO
HERE
The Euclidean Algorithm
actually finds gcd(x,y)
• gcd(x,y) = c → c|x and c|y
• x = q·y + r → r = x – q·y = k1·c – q·k2·c = kc·c
• c|r → gcd(y,r) ≥ gcd(x,y)
INSERT
• gcd(y,r) = d → d|y and d|r
VIDEO
HERE
The Euclidean Algorithm
actually finds gcd(x,y)
• gcd(x,y) = c → c|x and c|y
• x = q·y + r → r = x – q·y = k1·c – q·k2·c = kc·c
• c|r → gcd(y,r) ≥ gcd(x,y)
INSERT
• gcd(y,r) = d → d|y and d|r
VIDEO • x = q·k3·d + k4·d = kd·d

HERE
The Euclidean Algorithm
actually finds gcd(x,y)
• gcd(x,y) = c → c|x and c|y
• x = q·y + r → r = x – q·y = k1·c – q·k2·c = kc·c
• c|r → gcd(y,r) ≥ gcd(x,y)
INSERT
• gcd(y,r) = d → d|y and d|r
VIDEO • x = q·k3·d + k4·d = kd·d
• d|x → gcd(x,y) ≥ gcd(y,r)
HERE
The Euclidean Algorithm
actually finds gcd(x,y)
• gcd(x,y) = c → c|x and c|y
• x = q·y + r → r = x – q·y = k1·c – q·k2·c = kc·c
• c|r → gcd(y,r) ≥ gcd(x,y)
INSERT
• gcd(y,r) = d → d|y and d|r
VIDEO • x = q·k3·d + k4·d = kd·d
• d|x → gcd(x,y) ≥ gcd(y,r)
HERE
• gcd(x,y) = gcd(y,r) = gcd(y,x%y)
In review…

INSERT
VIDEO
HERE
In review…
• What a multiplicative inverse in a modular world is

INSERT
VIDEO
HERE
In review…
• What a multiplicative inverse in a modular world is
• Multiplicative inverses exist when r.p. to modulus

INSERT
VIDEO
HERE
In review…
• What a multiplicative inverse in a modular world is
• Multiplicative inverses exist when r.p. to modulus
• The Euclidean algorithm finds gcd
INSERT
VIDEO
HERE
In review…
• What a multiplicative inverse in a modular world is
• Multiplicative inverses exist when r.p. to modulus
• The Euclidean algorithm finds gcd
INSERT • Why the Euclidean algorithm works

VIDEO
HERE
In review…
• What a multiplicative inverse in a modular world is
• Multiplicative inverses exist when r.p. to modulus
• The Euclidean algorithm finds gcd
INSERT • Why the Euclidean algorithm works

VIDEO • Coming up

HERE
In review…
• What a multiplicative inverse in a modular world is
• Multiplicative inverses exist when r.p. to modulus
• The Euclidean algorithm finds gcd
INSERT • Why the Euclidean algorithm works

VIDEO • Coming up
• Extend the Euclidean algorithm to find
HERE multiplicative inverses
SOURCE SLIDES
The analog to division in a modular world is
the multiplicative inverse
• What a multiplicative inverse is
• When a multiplicative inverse exists
• The Euclidean algorithm finds the gcd
INSERT •

How efficient the Euclidean algorithm is
Prove the validity of the Euclidean algorithm
VIDEO • Future work – extend the Euclidean algorithm
HERE
Division isn't defined,
but multiplicative inverses are
• Dividing by x = multiplying by reciprocal of x

INSERT • Reciprocal also know as multiplicative inverse


VIDEO • Product of x and its multiplicative inverse is 1
HERE
mod-7 multiplication table shows
every nonzero residue class has an inverse
mod 7 0 1 2 3 4 5 6

0 0 0 0 0 0 0 0

INSERT
1 0 1 2 3 4 5 6

2 0 2 4 6 1 3 5

VIDEO 3

4
0

0
3

4
6

1
2

5
5

2
1

6
4

HERE 5

6
0

0
5

6
3

5
1

4
6

3
4

2
2

1
mod-7 multiplication table shows
every nonzero residue class has an inverse
mod 7 0 1 2 3 4 5 6

0 0 0 0 0 0 0 0

INSERT
1 0 1 2 3 4 5 6

2 0 2 4 6 1 3 5

VIDEO 3

4
0

0
3

4
6

1
2

5
5

2
1

6
4

HERE 5

6
0

0
5

6
3

5
1

4
6

3
4

2
2

1
mod-15 multiplication table shows
many nonzero residue classes don’t
Mod
15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 0 2 4 6 8 10 12 14 1 3 5 7 9 11 13

INSERT
3 0 3 6 9 12 0 3 6 9 12 0 3 6 9 12
4 0 4 8 12 1 5 9 13 2 6 10 14 3 7 11
5 0 5 10 0 5 10 0 5 10 0 5 10 0 5 10
6 0 6 12 3 9 0 6 12 3 9 0 6 12 3 9

VIDEO
7 0 7 14 6 13 5 12 4 11 3 10 2 9 1 8
8 0 8 1 9 2 10 3 11 4 12 5 13 6 14 7
9 0 9 3 12 6 0 9 3 12 6 0 9 3 12 6
10 0 10 5 0 10 5 0 10 5 0 10 5 0 10 5

HERE
11 0 11 7 3 14 10 6 2 13 9 5 1 12 8 4
12 0 12 9 6 3 0 12 9 6 3 0 12 9 6 3
13 0 13 11 9 7 5 3 1 14 12 10 8 6 4 2
14 0 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Being relatively prime to the modulus is
sufficient to have a multiplicative inverse
• gcd(a,m) = 1 (i.e., relatively prime)
• Sequence of m values: {0·a, 1·a, 2·a, …, (m-1)·a}
• Pick x and y that are NOT congruent (mod m)
INSERT •

Can x·a ≡ y·a (mod m) ?
Requires (x-y)·a = km
VIDEO •

Since ‘a’ has no factors of ‘m’, (x-y) | m
But –m < (x-y) < m and (x-y) ≠ 0
HERE •

No two members of sequence are congruent
Pigeonhole Principle: 1 member is congruent to 1
Being relatively prime to the modulus is
necessary to have a multiplicative inverse
• gcd(a,m) = c > 1 (i.e., NOT relatively prime)
• a = b·c, m = n·c where gcd(b,n) = 1
• (x-y)a = km → (x-y)bc = knc → (x-y)b = kn
INSERT • x·b produces all n residues:

VIDEO • To get back to ‘a’ and ‘m’, multiply residues by ‘c’

HERE • The residue class congruent to 1 is NOT present!


The Euclidean Algorithm finds gcd(x,y)
• Oldest known algorithm
• gcd(x,y) = gcd(y, x%y) (x > y)

INSERT •

gcd(2017, 1024)
gcd(1024, 993)
VIDEO •

gcd(993, 31)
gcd(31, 1) = 1
HERE • 2017 and 1024 are relatively prime
The Euclidean Algorithm
efficiently finds gcd(x,y)
• gcd(x,y) = gcd(y, x%y) = gcd(x%y, (x%y)%y)

• If y < (x/2), x%y < (x/2)


INSERT • If y > (x/2), x%y = x – y < x – (x/2) < (x/2)

VIDEO • Therefore, x % y < (x/2)

HERE • Number of iterations is O(log(x))


• Worst case typically 2·(bits in modulus)
The Euclidean Algorithm
actually finds gcd(x,y)
• gcd(x,y) = c → c|x and c|y
• x = q·y + r → r = x – q·y = k1·c – q·k2·c = kc·c
• c|r → gcd(y,r) ≥ gcd(x,y)
INSERT
• gcd(y,r) = d → d|y and d|r
VIDEO • x = q·k3·d + k4·d = kd·d
• d|x → gcd(x,y) ≥ gcd(y,r)
HERE
• gcd(x,y) = gcd(y,r) = gcd(y,x%y)
In review…
• What a multiplicative inverse in a modular world is
• Multiplicative inverses exist when r.p. to modulus
• The Euclidean algorithm finds gcd
INSERT • Why the Euclidean algorithm works

VIDEO • Coming up
• Extend the Euclidean algorithm to find
HERE multiplicative inverses

You might also like