Lecture 5
Proving that there are one-way functions relies on assumptions.
Factoring Assumption: , let
Evidence: To this point, best known procedure to always factor has run time
Distribution of prime numbers:
- We have infinitely many prime
- Prime Number Theorem , that means, of all integers are prime.
We want to (guaranteed to) find prime:
e.g.
Theorem:
Idea: There are enough pairs of primes to make this difficult.
Reminder: Weak on-way if easy to compute and , high enough
Prove one-way function (under assumptions)
To prove is on-way (under assumption)
- Show solves .
- Proof by contradiction.
- For weak: Provide that we know works.
- Assume such that
- For strong: Provide that we know works.
- Assume such that
- For weak: Provide that we know works.
Construct p.p.t B which uses to solve a problem, which contradicts assumption or known fact.
Back to Theorem:
We will show that works.
We claim ,
For the sake of contradiction, suppose
We will use this to design p.p.t which can factor 2 random primes with non-negligible prob.
def A(y):
# the adversary algorithm
# expecting N to be product of random integer, don't need to be prime
def is_prime(x):
# test if x is a prime
def gen(n):
# generate number up to n bits
def B(y):
# N is the input cipher
x1,x2=gen(n),gen(n)
p=x1*x2
if is_prime(x1) and is_prime(x2):
return A(p)
return A(y)
How often does B succeed/fail?
B fails to factor , if:
- and are not both prime
- if fails to factor
So
So
This contradicting factoring assumption. Therefore, our assumption that exists was wrong.
Therefore , is wrong.