![Page 1: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/1.jpg)
The Fundamentals: Algorithms, Integers, and Matrices
CSC-2259 Discrete Structures
Konstantin Busch - LSU 1
![Page 2: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/2.jpg)
The Growth of Functions
Konstantin Busch - LSU 2
RRf : RRg :
Big-Oh: ))(( is )( xgOxf
Big-Omega: ))(( is )( xgxf
Big-Theta: ))(( is )( xgxf
is no larger order than
is no smaller order than
is of same order as
![Page 3: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/3.jpg)
(Notation abuse: )
Konstantin Busch - LSU 3
))(()( xgOxf
There are constants (called witnesses)such that for all :
kC,
|)(||)(| xgCxf
Big-Oh:
kx
))(( is )( xgOxf
![Page 4: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/4.jpg)
Konstantin Busch - LSU 4
12)( 2 xxxg2)( xxf
)12( 22 xxOx
1222 xxxFor :0x)()( xgxf
0,1 kC
))(()( xgOxf
Witnesses:
![Page 5: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/5.jpg)
Konstantin Busch - LSU 5
)(12 22 xOxx
22222 4212 xxxxxx For :1x
)(4)( xfxg
1,4 kC
12)( 2 xxxg2)( xxf
))(()( xfOxg
Witnesses:
![Page 6: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/6.jpg)
Konstantin Busch - LSU 6
))(()( xgOxf ))(()( xfOxg and
f and are of the same orderg
Example:2x and
are of the same order122 xx
![Page 7: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/7.jpg)
Konstantin Busch - LSU 7
))(()( xgOxf |)(||)(| xhxg and
Example: )(12 22 xOxx
))(()( xhOxf
|||| 32 xx )(12 32 xOxx
![Page 8: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/8.jpg)
Konstantin Busch - LSU 8
)(2 nOn
)(2 nOn Suppose
|||| 2 nCn Then for all :kn
Cn ||
Impossible for ),max( kCn
![Page 9: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/9.jpg)
Konstantin Busch - LSU 9
Theorem: If 011
1)( axaxaxaxf nn
nn
then )()( nxOxf
Proof:
|)||||||(|
||||||||
||||||||
|||)(|
011
011
011
1
011
1
aaaax
xaxaxaxa
axaxaxa
axaxaxaxf
nnn
nnnn
nn
nn
nn
nn
nn
for 1x
1|,||||| 01 kaaaC nn
End of Proof
Witnesses:
![Page 10: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/10.jpg)
Konstantin Busch - LSU 10
)(21 2nOn
221 nnnnn
1,1 kCWitnesses:
![Page 11: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/11.jpg)
Konstantin Busch - LSU 11
)(21! nnOnn
nnnnnnn 21!
1,1 kCWitnesses:
![Page 12: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/12.jpg)
Konstantin Busch - LSU 12
)!(2 nOn
!2
)32(2
)222(2
222 1
n
n
nn
2,2 kCWitnesses:
![Page 13: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/13.jpg)
Konstantin Busch - LSU 13
)log(!log nnOn
nnnn n loglog!log
1,1 kCWitnesses:
![Page 14: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/14.jpg)
Konstantin Busch - LSU 14
)(log nOn
nnn n 2log2loglog
1,1 kCWitnesses:
)2( nOn
1n nn 2For :
![Page 15: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/15.jpg)
Konstantin Busch - LSU 15
)(loglog nOna
a
nna log
loglog
1,log
1 k
aCWitnesses:
![Page 16: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/16.jpg)
For :
Konstantin Busch - LSU 16
)1(1
Ox
11
x
1,1 kCWitnesses:
constant
1x
![Page 17: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/17.jpg)
Konstantin Busch - LSU 17
!2loglog1 2 nnnnnn n
Higher growth
Interesting functions
![Page 18: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/18.jpg)
Konstantin Busch - LSU 18
Theorem: If ,))(()( 11 xgOxf ))(()( 22 xgOxf
then |)))(||,)((max(|))(( 2121 xgxgOxff
Proof: |)(||)(| 111 xgCxf
|)(||)(| 222 xgCxf 1kx
2kx
),max( 21 kkx
|))(||,)(max(|)(
|)(||)(|
|)(||)(||)()(||))((|
2121
2211
212121
xgxgCC
xgCxgC
xfxfxfxfxff
),max(, 2121 kkkCCC Witnesses:End of Proof
![Page 19: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/19.jpg)
Konstantin Busch - LSU 19
Corollary: If ,))(()(1 xgOxf ))(()(2 xgOxf
then ))(())(( 21 xgOxff
Theorem: If ,))(()( 11 xgOxf ))(()( 22 xgOxf
then ))()(())(( 2121 xgxgOxff
![Page 20: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/20.jpg)
Konstantin Busch - LSU 20
)log(log)3()!log(3 22 nnOnnnn
)(3 nOn
)log()!log( nnOn
)(3 22 nOn
)(loglog nOn
)log(
)log(
)!log(3
2 nnO
nnnO
nn
)log(
)log()3(2
2
nnO
nn
)log(
log)3()!log(32
2
nnO
nnnn
Multiplication
Addition
![Page 21: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/21.jpg)
(Notation abuse: )
Konstantin Busch - LSU 21
))(()( xgxf
There are constants (called witnesses)such that for all :
kC,
|)(||)(| xgCxf
Big-Omega:
kx
))(( is )( xgxf
![Page 22: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/22.jpg)
Konstantin Busch - LSU 22
)(758 323 xxx
323 8758 xxx 1x
1,8 kCWitnesses:
![Page 23: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/23.jpg)
(Notation abuse: )
Konstantin Busch - LSU 23
))(()( xgxf
Big-Theta: ))(( is )( xgxf
))(( )( and ))(( )( xgxfxgOxf
))(( )( and ))(( )( xfOxgxgOxf Alternative definition:
Same order
![Page 24: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/24.jpg)
Konstantin Busch - LSU 24
)(log83 22 xxxx
1,11 kCWitnesses:
2222 1183log83 xxxxxx
)(log83 22 xOxxx
1,3 kCWitnesses:
22 3log83 xxxx
)(log83 22 xxxx
![Page 25: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/25.jpg)
Konstantin Busch - LSU 25
Theorem: If 011
1)( axaxaxaxf nn
nn
then )()( nxxf
Proof: We have shown: )()( nxOxf
We only need to show )()( nxxf
Take and examine two cases
Case 1:
Case 2:
0na
0na
1x
![Page 26: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/26.jpg)
Konstantin Busch - LSU 26
Case 1: 0na
n
nnn
nn
nn
xa
nbxxa
axaxaxaxf
)(1
011
1
|)|,|,||,max(| 021 aaab nn
)( aa
nbx
n For andnaa 0
)1( x
Case 2 is similarEnd of Proof
![Page 27: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/27.jpg)
Complexity of Algorithms
Konstantin Busch - LSU 27
Time complexity
Space complexity
Number of operations performed
Size of memory used
![Page 28: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/28.jpg)
Konstantin Busch - LSU 28
Linear search algorithm
Linear-Search( ) {
while( )
if ( ) return else return }
naaax ,,,, 21 1i
ia xand niini i
0//item found
//item not found
![Page 29: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/29.jpg)
Konstantin Busch - LSU 29
Item not found in list:
Comparisons
1)1(2 n
Item found in position : 12 i
Worst case performance: )(1)1(2 nOn
Time complexity
i
![Page 30: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/30.jpg)
Konstantin Busch - LSU 30
Binary search algorithm
Binary-Search( ) {
while( ) {
if ( ) else } if ( ) return else return }
naaax ,,,, 21 1i
ji 2/)( jim
i
0
//left endpoint of search area
//item is in right half
nj //right endpoint of search area
iax
1 mimaxmj //item is in left half
//item found
//item not found
![Page 31: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/31.jpg)
Konstantin Busch - LSU 31
1 2 3 5 6 7 8 10 12 13 15 16 18 19 20 22
Search 19
1 2 3 5 6 7 8 10 12 13 15 16 18 19 20 22
12 13 15 16 18 19 20 22
18 19 20 22
18 19
![Page 32: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/32.jpg)
Konstantin Busch - LSU 32
Time complexity
Size of search list at iteration 1: 02
n
Size of search list at iteration 2:12
n
Size of search list at iteration :12 k
nk
![Page 33: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/33.jpg)
Konstantin Busch - LSU 33
Size of search list at iteration :12 k
nk
Smallest list size: 1
in last iteration : 12 1
m
nm
nm log1
![Page 34: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/34.jpg)
Konstantin Busch - LSU 34
Total comparisons:
)(log12)log1( nn
#iterations
Comparisonsper iteration
Last comparison
![Page 35: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/35.jpg)
Konstantin Busch - LSU 35
Bubble sort algorithm
Bubble-Sort( ) { for ( to ) { for ( to ) if ( ) swap}
naaa ,,, 21
1 jj aa
1i 1n1j in
1, jj aa
![Page 36: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/36.jpg)
Konstantin Busch - LSU 36
23415
23451
23541
25341
52341
First iteration
52341
Second iteration
52341
52431
54231
54321
Last iteration
![Page 37: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/37.jpg)
Konstantin Busch - LSU 37
Time complexity
Comparisons in iteration 1:
Comparisons in iteration 2:
Comparisons in iteration :
1n
2n
1n 1
Total: )(2
)1()1(21 2n
nnn
![Page 38: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/38.jpg)
Class :
Konstantin Busch - LSU 38
Tractable problems
Problems with algorithms whose time complexity is polynomial )( bnO
P
Examples: Search, Sorting, Shortest path
![Page 39: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/39.jpg)
Konstantin Busch - LSU 39
Intractable problems
Solution can be verified in polynomial timebut no polynomial time algorithm is known
?NPP Important computer science question
Class :NP
Examples: Satisfiability, TSP, Vertex coloring
![Page 40: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/40.jpg)
Konstantin Busch - LSU 40
Unsolvable problems
There exist unsolvable problems which do not have any algorithm
Example: Halting problem in Turing Machines
![Page 41: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/41.jpg)
Integers and Algorithms
Konstantin Busch - LSU 41
Base expansion of integer :
01
11
1 abababan kk
kk
b
0k bai 0Integers:
n
bkk aaaa )( 011
Example: 6107102)276( 210
![Page 42: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/42.jpg)
Konstantin Busch - LSU 42
Binary expansion
351
2121212121
20212021
)111101011(
01234
5678
2
1,0Digits:
![Page 43: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/43.jpg)
Konstantin Busch - LSU 43
Hexadecimal expansion
175627
1116016141610162
)02(234
16
BAE
FEDCBA ,,,,,,9,,2,1,0 Digits:
![Page 44: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/44.jpg)
Konstantin Busch - LSU 44
Octal expansion
165
58482
)245(2
8
7,,2,1,0 Digits:
![Page 45: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/45.jpg)
Konstantin Busch - LSU 45
2)111101011001(
16)59( F
2)111011101100(
8)7354(
Conversion between binary and hexadecimal
half byte
Conversion between binary and octal
![Page 46: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/46.jpg)
Konstantin Busch - LSU 46
Base expansion( ) {
While ( ) {
} return}
b nnq0k
0qbqak mod
bqq /1 kk
bkk aaaa )( 0121
![Page 47: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/47.jpg)
Konstantin Busch - LSU 47
Binary expansion of
1021
1123
1327
17215
015230
030260
0602120
11202241
0a
1a
2a
7a
2)11110001(241
![Page 48: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/48.jpg)
Konstantin Busch - LSU 48
Octal expansion of
3083
03824
0248192
719281543
11543812345
0a
1a
2a
3a
8)30071(12345
4a
![Page 49: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/49.jpg)
Konstantin Busch - LSU 49
Binary_addition( ) {
for to {
} return}
ba,20121 )( aaaaa nn
20121 )( bbbbb nn 0c
0j 1n 2/)( cbad jj
dcbas jjj 2dc
csn 2011 )( ssss nn
//carry bit
//carry bit
//j sum bit
//auxilliary
//last sum bit
![Page 50: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/50.jpg)
Konstantin Busch - LSU 50
10011
1101
0111Carry bit: 1 1 1
a
b
Time complexity of binary addition: )(nO(counting bit additions) )(logaO
![Page 51: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/51.jpg)
Konstantin Busch - LSU 51
Binary_multiplication( ) {
for to { if ( ) else
} return binary expansion of}
ba,20121 )( aaaaa nn
20121 )( bbbbb nn 0j 1n
jj ac 2
0jc
//a shifted j positions
1jb
110 ncccp p
![Page 52: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/52.jpg)
Konstantin Busch - LSU 52
01111
011
000
011
101
011
a
b
0c
1c
2c
Time complexity of multiplication: )( 2nO(counting shifts and bit additions) )(log2 aO
![Page 53: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/53.jpg)
Integers and Division
Konstantin Busch - LSU 53
ba |divides :a b cabc ,
)0( a
Examples: 12|3 4312
7|3
ba,Integers
factor
![Page 54: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/54.jpg)
Konstantin Busch - LSU 54
cba ,, integers
if then ba | bca |
ba | sabs )(scabc
![Page 55: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/55.jpg)
Konstantin Busch - LSU 55
cba ,, integers
if and then ba | ca | )(| cba
ba | sabs
ca | tact )( tsacb
![Page 56: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/56.jpg)
Konstantin Busch - LSU 56
cba ,, integers
if and then ba | cb | ca |
ba | sabs
cb | tbct stac
![Page 57: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/57.jpg)
Konstantin Busch - LSU 57
nmcba ,,,, integers
if and then ba | ca | ncmba |
ba | mba |
ca | nca |ncmba |
![Page 58: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/58.jpg)
Konstantin Busch - LSU 58
The division “algorithm”
Za Zd
There are unique such that:Zrq ,
rqda
divisor quotient remainder
dr 0
![Page 59: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/59.jpg)
Konstantin Busch - LSU 59
rqda daq div dar mod
Examples: 2911101 11 div 1019 11 mod 1012
1)4(311 3 div 114 3 mod 111
d
aq d
d
aar
![Page 60: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/60.jpg)
Konstantin Busch - LSU 60
0 d d2 d3d
d
a
dd2
dd
a
1
a
Number of positive integers divisible by and not exceeding :
da
d
a
![Page 61: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/61.jpg)
Konstantin Busch - LSU 61
Division_algorithm( ) {
while ( ) {
} if ( and ) {
} else if ( ) { } return ,}
da,0q || ar
dr drr 1 qq
0a 0rrdr
)1( qq
//a is negative//adjust r//adjust q
)div( daq )mod( dar0a qq
![Page 62: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/62.jpg)
Konstantin Busch - LSU 62
15a4d
015
111415
7411 2
347 3
r q
34mod15 r 34div15 q
Time complexity of division alg.: )log( aqO
There is a better algorithm: )log(log daO (based on binary search)
![Page 63: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/63.jpg)
“ is congruent to modulo ”
Konstantin Busch - LSU 63
Modular Arithmetic
Zba , Zm
)(mod mba a b m
Examples: )12(mod131
)6(mod511
mbma modmod
)(mod0 mmk
)(mod0 mm
![Page 64: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/64.jpg)
Konstantin Busch - LSU 64
)(mod mba
kmbaZk ,
bam |
mbma modmod
Equivalent definitions
![Page 65: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/65.jpg)
Konstantin Busch - LSU 65
38mod3
0
1
2
3
4
5
6
7
3
Length of line represents number
![Page 66: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/66.jpg)
Konstantin Busch - LSU 66
38mod11
0
1
2
3
4
5
6
7
11
Length of helix line represents number
![Page 67: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/67.jpg)
Konstantin Busch - LSU 67
38mod19
0
1
2
3
4
5
6
7
19
Length of helix line represents number
![Page 68: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/68.jpg)
Konstantin Busch - LSU 68
0
1
2
3
4
5
6
7
3
0
1
2
3
4
5
6
7
11
0
1
2
3
4
5
6
7
19
)8(mod19113
Helix lines terminate in same number
![Page 69: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/69.jpg)
Konstantin Busch - LSU 69
)}(mod|{ mbabSa
Congruence class of modulo : a m
There are congruence classes: m
110 ,,, mSSS
![Page 70: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/70.jpg)
Konstantin Busch - LSU 70
)(mod mba
)(mod mdc )(mod mdbca
)(mod mba smba
)(mod mdc tmdc
mtsbdca )(
![Page 71: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/71.jpg)
Konstantin Busch - LSU 71
)(mod mba
)(mod mdc )(mod mdbca
)(mod mba smba
)(mod mdc tmdc )(bd
))((
stmdsbtm
tmdsmbca
![Page 72: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/72.jpg)
Konstantin Busch - LSU 72
)5(mod27
)5(mod111
)5(mod3)5(mod)12(11718
)5(mod2)5(mod)12(11777
![Page 73: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/73.jpg)
Konstantin Busch - LSU 73
mmbmamba mod))mod()mod((mod)(
mmbmamab mod))mod)(mod((mod
Follows from previous results by using:
mmama mod)mod(mod
mmbmb mod)mod(mod
![Page 74: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/74.jpg)
Konstantin Busch - LSU 74
Modular exponentiation
Compute efficiently using small numbers
mbn mod
011
1011
1 2222 aaaaaan bbbbbk
kk
k
Binary expansion of n
mmbmbmb
mbbb
mb
aaa
aaa
n
kk
kk
mod))mod()mod()mod((
mod
mod
011
1
011
1
22
22
![Page 75: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/75.jpg)
Konstantin Busch - LSU 75
Example: 36645mod3644
279 2221010000100644 279279 222222644 33333
)645mod)645mod3)(645mod3)(645mod3((
645mod)333(
645mod3
279
279
222
222
644
![Page 76: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/76.jpg)
Konstantin Busch - LSU 76
111645mod))645mod3)(645mod3((645mod3645mod3
111645mod8181645mod))645mod3)(645mod3((645mod3645mod3
81)645mod99(645mod))645mod3)(645mod3((645mod3645mod3
9645mod9645mod3
8889
2223
2
222
22
222
22
22222
2
36645mod471111)645mod)471)645mod3(((
)645mod4713()645mod)645mod)81396((3()645mod)645mod)81)645mod3(((3(
)645mod8133()645mod)645mod3(33(
)645mod333(
3
9
9979
79279
279
2
2222
22222
222
644
Compute all the powers of 3 efficiently
Use the powers of 3 to get result efficiently
![Page 77: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/77.jpg)
Konstantin Busch - LSU 77
Modular_Exponentiation( ) {
for to { if ( )
} return}
mnb ,,20121 )( aaaan nn
1xmbpower mod
0i 1k1ia mpowerxx mod)(
mpowerpowerpower mod)(
)mod( mbx n
)log(log2 nmO Time complexity:
bit operations
![Page 78: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/78.jpg)
Konstantin Busch - LSU 78
Congruent application: Hashing functions
mkkh mod)(
Example: 111mod)( kkh
14111mod064212848)064212848( hEmployer id Folder#
65111mod037149212)037149212( h
14111mod107405723)107405723( h collision
![Page 79: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/79.jpg)
Konstantin Busch - LSU 79
Application: Pseudorandom numbers
Linear congruential method:
Sequence of pseudorandom numbers,,, 210 xxx
mcaxx nn mod)(1
ma 2
mc 0 mx 00seed
Example: 9mod)47(1 nn xx
3,7,8,6,1,2,0,4,5,3,7,8,6,1,2,0,4,5,3…
30 xseed
![Page 80: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/80.jpg)
Konstantin Busch - LSU 80
Application: Cryptology
“MEET YOU IN THE PARK”
“PHHW BRX LQ WKH SDUN”
mxxf mod)3()( mxxf mod)3()(1
mkxxf mod)()( Shift cipher:
mbaxxf mod)()( Affine transformation:
encryption decryption
![Page 81: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/81.jpg)
Primes and Greatest Common Divisor
Konstantin Busch - LSU 81
Prime : p Positive integer greater than 1,only positive factors are p,1
Non-prime = composite
Primes:2,3,5,7,11,13,17,19,23,29,31,37,41,…
![Page 82: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/82.jpg)
Konstantin Busch - LSU 82
Fundamental theorem of arithmetic
Every positive integer is either prime or a unique product of primes
lkl
kkk ppppm 321321
Examples:
prime
25 52100 373999 3
131177007 2
Prime factorization:
![Page 83: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/83.jpg)
Konstantin Busch - LSU 83
Theorem: If is composite then it hasprime divisor
nnp
Proof:
n is composite abnnbaba ,,1,,
since otherwise
nnnab
From fundamental theorem of arithmetic is either prime or has a prime divisor
nbac ),min(
c
End of Proof
![Page 84: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/84.jpg)
Konstantin Busch - LSU 84
Prime_factorization( ) { while ( and ) {
if ( divides ) { is a factor of
} else next prime after } return all prime factors found }
2pnn
1'n
n
np p np n
pnn /
p p
//first prime
![Page 85: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/85.jpg)
Konstantin Busch - LSU 85
7007n5,3,2p
7pdo not divide 7007
100177007
7p 14371001 7p
11pdoes not divide 143
1311143
11p
n
13117131177 2 n
)1311( 13
![Page 86: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/86.jpg)
Konstantin Busch - LSU 86
Theorem:There are infinitely many primes
Proof: Suppose finite primes kppp ,,, 21
121 kpppq Let
If some prime qpi |
ki pppp 21| Since1| 21 ki pppqp
impossible
No prime divides q q is primeContradiction!(From fundamental
theorem of arithmetic)End of Proof
![Page 87: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/87.jpg)
Konstantin Busch - LSU 87
Largest prime known (as of 2006)
12 457,402,30
Mersenne primes have the form: 12 k
3122 5123 31125
![Page 88: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/88.jpg)
Konstantin Busch - LSU 88
Prime number theorem
The number of primes less or equal toapproaches to:
n
n
n
ln
nelog
![Page 89: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/89.jpg)
Konstantin Busch - LSU 89
Goldbach’s conjecture:
Every integer is the sum of two primes
224 336 356 3710
Twin prime conjecture:
There are infinitely many twin primes
Twin primes differ by 2: 19,1713,117,55,3
![Page 90: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/90.jpg)
Konstantin Busch - LSU 90
Greatest common divisor
),gcd( ba largest integersuch that and
dad | bd |
Examples:
Common divisors of 24, 36:1, 2, 3, 4, 6, 12
12)36,24gcd(
1)22,17gcd( Common divisors of 17, 22:1
0||||
,
ba
Zba
![Page 91: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/91.jpg)
Konstantin Busch - LSU 91
Trivial cases:
1)1,gcd( m
mm )0,gcd( 0m
![Page 92: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/92.jpg)
Konstantin Busch - LSU 92
Theorem: If then ),gcd(),gcd( rbba
rqba
Proof:
ad |
bd |
dsa dtb
)( tqsdr
dtb
),( ba ),( rb
rd |
bd |
Thus, and have the same set of common divisors
End of proof
)/( babr 0
![Page 93: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/93.jpg)
Konstantin Busch - LSU 93
0
0
0
0
1
1112
233221
122110
nnn
nnnnnn
qrr
rrrqrr
rrrqrr
rrrqrr
0ra 1rb
nnnnnn rrrrrr
rrrrrrba
)0,gcd(),gcd(),gcd(
),gcd(),gcd(),gcd(),gcd(
112
322110
first zero result
10 / rr
21 / rr
12 / nn rr
nn rr /1
divisions remainder
![Page 94: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/94.jpg)
Konstantin Busch - LSU 94
041282
8222282166
16682821166248
2481661661248414
4142482481414662
45
34
23
12
rr
rr
rr
rr
662a 414b
2)0,2gcd()2,82gcd()82,166gcd(
)166,248gcd()248,414gcd()414,662gcd(
result
![Page 95: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/95.jpg)
Konstantin Busch - LSU 95
0 143210 nn rrrrrrr 210 mod rrr
a b
321 mod rrr
432 mod rrr
nnn rrr 12 mod
0mod1 nn rr
nrba ),gcd(
![Page 96: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/96.jpg)
Konstantin Busch - LSU 96
0 2 82 166 248 414 662
248414mod662
166248mod414
82166mod248
282mod166
02mod82
a b
2),gcd( nrba
nr
![Page 97: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/97.jpg)
Konstantin Busch - LSU 97
02110 niii rrrrrr
21mod iii rrr
a b
Property: 22 ii rr
Descending sequence:
12 ii rr
212 iii rrr
Case 1:
![Page 98: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/98.jpg)
Konstantin Busch - LSU 98
02110 niii rrrrrr
21mod iii rrr
a b
Property: 22 ii rr
Descending sequence:
12 ii rr
221i
iii
rrrr Case 2:
![Page 99: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/99.jpg)
Konstantin Busch - LSU 99
02110 niii rrrrrr
21mod iii rrr
a b
Property: 22 ii rr
Descending sequence:
an log2
![Page 100: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/100.jpg)
Konstantin Busch - LSU 100
Euclidian Algorithm
gcd( ) {
while ( ) {
} return}
ba,axby
0yyxr mod
yxry
x
Time complexity: )(logaO divisions
![Page 101: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/101.jpg)
and have no common factors in their prime factorization
Konstantin Busch - LSU 101
Relatively prime numbers
If then are relatively prime 1),(gcd ba ba,
Example:
1)22,21gcd( 21, 22 are relatively prime
a b
7321 11222
![Page 102: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/102.jpg)
Konstantin Busch - LSU 102
Least common multiple
),(lcm ba smallest positive integersuch that and
dda | db |
Examples: 12)4,3(lcm
10)10,5(lcm
Zba,
![Page 103: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/103.jpg)
Applications of Number Theory
Konstantin Busch - LSU 103
Linear combination:
if then there are such thatZba, Zts ,
tbsaba ),gcd(
Example: 1416)2(2)14,6gcd(
![Page 104: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/104.jpg)
Konstantin Busch - LSU 104
The linear combination can be foundby reversing the Euclidian algorithm steps
1985252418)198,252gcd(
018236
1836154
36543198
541981252
19852524
1981)1981252(41981544
)543198(15436154
18)198,252gcd(
![Page 105: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/105.jpg)
Konstantin Busch - LSU 105
Linear congruences
)(modmbxa
We want to solve the equation for
)(mod? mx
x
![Page 106: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/106.jpg)
Konstantin Busch - LSU 106
Inverse of : )(mod1 maa a
)(modmbxa
maa mod)(modmbaxaa
)(modmxx
)(mod1 maa )(mod1 mxxaa
)(modmbax
![Page 107: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/107.jpg)
Konstantin Busch - LSU 107
If and are relatively primethen the inverse modulo exists
Theorem: a ma m
Proof: tmsama 1),gcd(
)(mod1 msa
sa
End of proof
![Page 108: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/108.jpg)
Konstantin Busch - LSU 108
Example: solve equation )7(mod43 x
71321)7,3gcd(
Inverse of 3:
)(mod132 m
7mod6)7(mod8)7(mod42 x
7,4,3 mba
)(modmbax
2a
![Page 109: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/109.jpg)
Konstantin Busch - LSU 109
Chinese remainder problem
nmmm ,,, 21 :pairwise relatively prime
)(mod 11 max )(mod 22 max
)(mod nn max
Has unique solution for modulox nmmmm 21
)(modmx
![Page 110: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/110.jpg)
Konstantin Busch - LSU 110
Unique solution modulo :
kk m
mM
ky :inverse of modulokM km
nnn yMayMayMax 222111
nmmmm 21
![Page 111: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/111.jpg)
Konstantin Busch - LSU 111
Explanation:
kk m
mM kkk myM mod1
:inverse of modulokM km
nnn yMayMayMax 222111
)(mod0 11 mM k
)(mod0 1m )(mod0 1m
)(mod
)(mod
11
1111
max
myMax
ky
Similar for any jm
![Page 112: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/112.jpg)
Konstantin Busch - LSU 112
Example: )3(mod2x)5(mod3x)7(mod2x
105753 m
157/1057/
215/1055/
353/1053/
3
2
1
mM
mM
mM
1
1
2
3
2
1
y
y
y
)105(mod23)753(mod23233
115212132352 333222111
yMayMayMax
![Page 113: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/113.jpg)
Konstantin Busch - LSU 113
An Application of Chinese remainder problem
Perform arithmetic with large numbersusing arithmetic modulo small numbers
Example:95,97,98,99 4321 mmmm
930,403,8995979899 m
relatively prime numbers
)89,9,8,33(684,123
8995mod684,123
997mod684,123
898mod684,123
3399mod684,123
Any number smallerthan has unique representation
m
![Page 114: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/114.jpg)
Konstantin Busch - LSU 114
)89,9,8,33(684,123
)16,42,92,32(456,413 +)95mod105,97mod51,98mod100,99mod65(
)10,51,2,65(140,537
We obtain this by using the Chinese remainder problem solution
+ + + +
![Page 115: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/115.jpg)
Konstantin Busch - LSU 115
Fermat’s little theorem:
For any prime and integer not divisible by ( ):
p ap
)(mod11 pa p
Example:
2a 341p
341(mod)12340
1),gcd( pa
![Page 116: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/116.jpg)
Konstantin Busch - LSU 116
apaaa )1(,,3,2,1
does not divide any of:p
Proof:
Property 1:
![Page 117: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/117.jpg)
Konstantin Busch - LSU 117
Explanation:
Suppose divides , p ka 11 pk
spkaZs :
Does not haveas prime factor
p hasas prime factor
p
Contradicts fundamental theorem of arithmetic
11 pk1),gcd( pa
![Page 118: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/118.jpg)
Konstantin Busch - LSU 118
apaaa )1(,,3,2,1
any pair below is not congruent modulo :pProperty 2:
![Page 119: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/119.jpg)
Konstantin Busch - LSU 119
Explanation:
Suppose ,)(mod pyaxa 11 pyx
spxayaZs :
spaxy )(
axy )( p divides 11 pxy
Contradicts Property 1
![Page 120: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/120.jpg)
Konstantin Busch - LSU 120
)(mod)1(321)1(321 ppapaaa
Property 3:
![Page 121: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/121.jpg)
Konstantin Busch - LSU 121
Explanation:
11),(mod)1(
11),(mod2
11),(mod1
11
22
11
pxpxap
pxpxa
pxpxa
pp
ji xx
)1(3211321 pxxxx p
)(mod)1(321)1(321 ppapaaa
11 pji
From Property 2
![Page 122: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/122.jpg)
Konstantin Busch - LSU 122
)(mod)!1()!1( )1( ppap p
Property 4:
(follows directly from property 3)
![Page 123: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/123.jpg)
Konstantin Busch - LSU 123
)(mod1)1( pa p
Property 5:
![Page 124: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/124.jpg)
Konstantin Busch - LSU 124
End of Proof
Explanation:
)(mod)!1()!1( )1( ppap p
from Property 4:
p does not divide )!1( p
)(mod)!1( pp exists
)(mod1)1( pa p
)!1( p
Multiplyboth sideswith:
1))!1(,gcd( pp
![Page 125: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/125.jpg)
Konstantin Busch - LSU 125
RSA cryptosystem
“MEET YOU IN THE PARK”
“9383772909383637467”
nxxf e mod)( nxxf d mod)(1 encryption decryption
qpn
Large primes
en, are public keys
dqp ,, are private keys
![Page 126: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/126.jpg)
Konstantin Busch - LSU 126
Message to encrypt: “STOP”
Encryption example: 43p 59q 13e
2537 qpn1)5842,13gcd())1)(1(,gcd( qpe
Translate to equivalentnumbers
“18 19 14 15”
“1819 1415”
Group into blocks of twonumbers
![Page 127: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/127.jpg)
Konstantin Busch - LSU 127
“1819 1415”
“2081 2182”2537mod
mod)(13x
nxxf e
20812537mod1819)1819( 13 f
21822537mod1415)1415( 13 f
Apply encryption function to each block
Encrypted message:
![Page 128: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/128.jpg)
Konstantin Busch - LSU
128
Message decryption
M
C
:an original block of the message
:respective encrypted block
“1819 1415”
“2081 2182”
We want to find by knowingM eqpC ,,,
)(modnMC e
![Page 129: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/129.jpg)
Konstantin Busch - LSU 129
:inverse of modulod e )1)(1( qp
))1)(1(mod(1 qpde
)1)(1(1 qpkde
Inverse exists because 1))1)(1(,gcd( qpe
by definition of congruent
)1)(1mod()1)(1(1))1)(1(,gcd( qpseqptseqpe
sd
![Page 130: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/130.jpg)
Konstantin Busch - LSU 130
)(modnMC e
)(modnMCded
)(mod)1)(1(1 nMMC qpkded
)1)(1(1 qpkde
![Page 131: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/131.jpg)
Konstantin Busch - LSU 131
Very likely it holds 1),gcd( pM
(because is a large prime and is small) p M
1),gcd( pM
By Fermat’s little theorem
)(mod11 pM p
![Page 132: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/132.jpg)
Konstantin Busch - LSU 132
)(mod11 pM p
)(mod11 )1()1(1 pM qkqkp
)(mod1)1(1 pMMM
qkp
)(mod pMM
)(mod)1)(1(1 pMM qpk
![Page 133: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/133.jpg)
Konstantin Busch - LSU 133
)(mod)1)(1(1 pMM qpk
By symmetry, when replacing with :
)(mod)1)(1(1 qMM qpk
qp
We showed:
By the Chinese remainder problem:
)(mod)(mod)1)(1(1 nMpqMM qpk
![Page 134: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/134.jpg)
Konstantin Busch - LSU 134
)(mod)1)(1(1 nMC qpkd
)(mod)1)(1(1 nMM qpk
We showed:
)(modnMC d
In other words:
nCM d mod
![Page 135: The Fundamentals: Algorithms, Integers, and Matrices](https://reader036.vdocuments.net/reader036/viewer/2022081418/568130f5550346895d971b86/html5/thumbnails/135.jpg)
Konstantin Busch - LSU 135
Decryption example:
“2081 2182”
43p 59q 13e2537 qpn
1)5842,13gcd())1)(1(,gcd( qpe
937dWe can compute:
nCCf d mod)(1
18192537mod2081937 14152537mod2182937
“1819 1415”“18 19 14 15” = “STOP”