Allows for exact addition, multiplication, division,
exponentiation, etc on computers!
More in depth look at this: Math 113, Math 115
14 / 26
Extended GCD Algorithm
Goal: find
(
d
,
a
,
b
)
st
gcd(
x
,
y
) =
d
=
ax
+
by
Allows us to find inverses if
gcd(
x
,
y
) =
1!
Recursive call on
y
,
x
mod
y
to get
(
d
′
,
a
′
,
b
′
)
Return
(
d
′
,
b
′
,
a
′
 ⌊
x
y
⌋
b
′
)
15 / 26
Chinese Remainder Theorem
Given coprime
n
1
,
n
2
, ...,
n
k
,
∃
unique soln modulo
N
=
∏
i
n
i
to system of equations
x
≡
a
i
(mod
n
i
)
Key is finding “basis” elements
b
i
st
▶
b
i
≡
1
(mod
n
i
)
▶
b
i
≡
0
(mod
n
j
)
for
j
̸
=
i
16 / 26
Private Key Cryptography
OneTime Pad: xor message w/random, shared pad
Perfect security – but only for one message!
17 / 26
Public Key Cryptography
RSA: way to avoid logistical issues of OTP
Private key:
(
N
=
pq
,
d
)
Public key:
(
N
,
e
=
d

1
(mod (
p

1
)(
q

1
)))
Encryption:
E
(
m
) =
m
e
(mod
N
)
Decryption:
D
(
c
) =
c
d
(mod
N
)
Correctness: FLT + CRT
Security:
18 / 26
Polynomial Representations
Two equiv representations of degree
d
polynomials:
▶
Coefficients (
c
d
x
d
+
...
+
c
1
x
+
c
0
)
▶
Values (
(
x
1
,
y
1
)
, ...,
(
x
d
+
1
,
y
d
+
1
)
)
Convert coefficients to values: evaluate polynomial
Other direction: Lagrange interpolation
19 / 26
Interpolation Interpretation
Given points
(
x
1
,
y
1
)
, ...,
(
x
d
+
1
,
y
d
+
1
)
, want degree
d
poly through them
Key is finding “basis” polys
∆
i
(
x
)
st
▶
∆
i
(
x
i
) =
1
▶
∆
i
(
x
j
) =
0 for
j
̸
=
i
Note similarity to proof of CRT!
20 / 26
Error Correcting Codes
Application of polys: fix transmission errors
ReedSolomon: interpolate poly through message
P
(
1
) =
m
1
,
P
(
2
) =
m
2
, ...,
P
(
n
) =
m
n
Recover
P
means recover message!
k
erasures needs
n
+
k
packets
k
corruptions needs
n
+
2
k
packets
21 / 26
Countability
Main idea: “same size” means “has bijection”
Use
N
as point of comparison
eg

N

=

Z

=

Q

=
{
0
,
1
}
*

You've reached the end of your free preview.
Want to read all 26 pages?
 Fall '19
 Logic, Publickey cryptography, Mathematical proof, Discrete Math Review