CSE442T Exam 2 Review
Review
Assumptions used in cryptography (this course)
Diffie-Hellman assumption
The Diffie-Hellman assumption is that the following problem is hard.
More formally,
If is a randomly sampled safe prime.
Denote safe prime as
Then
is the function condition when we do the encryption on cyclic groups.
Discrete logarithm assumption
If Diffie-Hellman assumption holds, then discrete logarithm assumption holds.
This is a corollary of the Diffie-Hellman assumption, it states as follows.
This is collection of one-way functions
RSA assumption
The RSA assumption is that it is hard to factorize a product of two large primes. (no polynomial time algorithm for factorization product of two large primes with bits)
Let be the exponents
Factoring assumption
If RSA assumption holds, then factoring assumption holds.
The only way to efficiently factorize the product of prime is to iterate all the primes.
Fancy product of these assumptions
Trapdoor permutation
RSA assumption Trapdoor permutation exists.
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”
There is one bit of trapdoor info that without it, finding is hard.
Collision resistance hash function
If discrete logarithm assumption holds, then collision resistance hash function exists.
Let be a CRHF.
Base on the discrete log assumption, we can construct a CRHF as follows:
generator for group of sequence (G_q)
is a random element in
,
if , if .
Under the discrete log assumption, is a CRHF.
- It is easy to sample
- It is easy to compute
- Compressing by 1 bit
One-way permutation
If trapdoor permutation exists, then one-way permutation exists.
A one-way permutation is a function that is one-way and returns a permutation of the input.
One-way function
If one-way permutation exists, then one-way function exists.
One-way function is a class of functions that are easy to compute but hard to invert.
Weak one-way function
A weak one-way function is
- a P.P.T. that computes
- adversaries, .
The probability of success should not be too close to 1
Strong one-way function
If weak one-way function exists, then strong one-way function exists.
A strong one-way function is
There is a negligible function such that for any adversary (n.u.p.p.t)
Probability of guessing correct message is negligible
Hard-core bits
Strong one-way function hard-core bits exists.
A hard-core bit is a bit that is hard to predict given the output of a one-way function.
Pseudorandom generator
If one-way permutation exists, then pseudorandom generator exists.
We can also use pseudorandom generator to construct one-way function.
And hard-core bits can be used to construct pseudorandom generator.
Pseudorandom function
If pseudorandom generator exists, then pseudorandom function exists.
A pseudorandom function is a function that is indistinguishable from a true random function.
Multi-message secure private-key encryption
If pseudorandom function exists, then multi-message secure private-key encryption exists.
A multi-message secure private-key encryption is a function that is secure against an adversary who can see multiple messages.
Single message secure private-key encryption
If multi-message secure private-key encryption exists, then single message secure private-key encryption exists.
Message-authentication code
If pseudorandom function exists, then message-authentication code exists.
Public-key encryption
If Diffie-Hellman assumption holds, and Trapdoor permutation exists, then public-key encryption exists.
Digital signature
A digital signature scheme is a triple where
- is a p.p.t. algorithm that takes as input a security parameter and outputs a public key and a secret key .
- is a p.p.t. algorithm that takes as input a secret key and a message and outputs a signature .
- is a deterministic algorithm that takes as input a public key , a message , and a signature and outputs “Accept” if is a valid signature for under and “Reject” otherwise.
For all , all .
One-time secure digital signature
Fixed-length one-time secure digital signature
If one-way function exists, then fixed-length one-time secure digital signature exists.