Lecture 10
Continue
Discrete Log Assumption
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 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.
EOP
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 .
EOP
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 x
So the probability of B succeeds is equal to A succeeds, which infinitely often, breaking RSA assumption.
Remaining question: Can be found without factoring ?
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 .