CSE442T Introduction to Cryptography (Lecture 10)
Chapter 2: Computational Hardness
Discrete Log Assumption (Assumption 52.2)
This is collection of one-way functions
Evidence for Discrete Log Assumption
Best known algorithm to always solve discrete log mod p,
RSA Assumption
Let be the exponents
Theorem 53.2 (RSA Algorithm)
This is a collection of one-way functions
Example:
On encryption side
,
pick . say , and
pick . say . We have
Since (by corollary of Fermat’s little Theorem: s )
The problem is, what can we multiply by to get .
by computing the multiplicative inverse using extended Euclidean algorithm we have .
On adversary side.
they don’t know
is a bijection.
Proof
Suppose
Then let (exists b/c )
So
So (Euler’s Theorem)
So it’s one-to-one.
Let , letting , where
Proof
It’s easy to sample from :
- pick .
- compute
- pick . If , pick again ( has plenty of elements.)
Easy to sample (domain).
Easy to compute .
Hard to invert:
By RSA assumption
The second equality follows because for any finite and bijection , sampling directly is equivalent to sampling , then computing .
Theorem If inverting RSA is hard, then factoring is hard.
If inverting RSA is hard, then factoring is hard.
i.e If factoring is easy, then inverting RSA is easy.
Proof:
Suppose is an adversary that breaks the factoring assumption, then
infinitely often.for a polynomial .
Then we designing to invert RSA.
Suppose
def B(N,e,y):
"""
Goal: find x
"""
p,q=A(N)
if n!=p*q:
return None
phiN=(p-1)*(q-1)
# find modular inverse of e \mod N
d=extended_euclidean_algorithm(e,phiN)
# returns (y**d)%N
x=fast_modular_exponent(y,d,N)
return xSo the probability of B succeeds is equal to A succeeds, which infinitely often, breaking RSA assumption.
Remaining question: Can be found without factoring ?
One-way permutation (Definition 55.1)
A collection function is a one-way permutation if
- is a permutation
- is a collection of one-way functions
basically, a one-way permutation is a collection of one-way functions that maps to in a bijection way.
Trapdoor permutations
Idea: is a one-way permutation.
.
- Finding such that is hard.
- With some secret info about , finding is easy.
- is a permutation
- efficient. ( paired with ), is the “trapdoor info”
- can be sampled efficiently.
- can be computed in polynomial time.
- (note: is not given )
- (trapdoor) There is a p.p.t. such that given , B always finds x such that . is the “trapdoor info”
Theorem RSA is a trapdoor
RSA collection of trapdoor permutation with factorization of , or , as trapdoor info .