Skip to Content
CSE442TIntroduction to Cryptography (Lecture 3)

CSE442T Introduction to Cryptography (Lecture 3)

All algorithms C(x)yC(x)\to y, x,y{0,1}x,y\in \{0,1\}^*

P.P.T= Probabilistic Polynomial-time Turing Machine.

Chapter 2: Computational Hardness

Turing Machine: Mathematical model for a computer program

A machine that can:

  1. Read in put
  2. Read/Write working tape move left/right
  3. Can change state

Assumptions

Anything can be accomplished by a real computer program can be accomplished by a “sufficiently complicated” Turing Machine (TM).

Polynomial time

We say C(x),x=n,nC(x),|x|=n,n\to \infty runs in polynomial time if it uses at most T(n)T(n) operations bounded by some polynomials. c>0\exist c>0 such that T(n)=O(nc)T(n)=O(n^c)

If we can argue that algorithm runs in polynomially-many constant-time operations, then this is true for the T.M.

p,qp,q are polynomials in nn,

p(n)+q(n),p(n)q(n),p(q(n))p(n)+q(n),p(n)q(n),p(q(n)) are polynomial of nn.

Polynomial-time \approx “efficient” for this course.

Probabilistic

Our algorithm’s have access to random “coin-flips” we can produce poly(n) random bits.

P[C(x) takes at most T(n) steps ]=1P[C(x)\text{ takes at most }T(n)\text{ steps }]=1

Our adversary a(x)a(x) will be a P.P.T which is non-uniform (n.u.) (programs description size can grow polynomially in n)

Efficient private key encryption scheme

Definition 3.2 (Efficient private key encryption scheme)

The triple (Gen,Enc,Dec)(Gen,Enc,Dec) is an efficient private key encryption scheme over the message space MM and key space KK if:

  1. Gen(1n)Gen(1^n) is a randomized p.p.t that outputs kKk\in K
  2. Enck(m)Enc_k(m) is a potentially randomized p.p.t that outputs cc given mMm\in M
  3. Deck(c)Dec_k(c') is a deterministic p.p.t that outputs mm or “null”
  4. Pk[Deck(Enck(m))=m]=1,mMP_k[Dec_k(Enc_k(m))=m]=1,\forall m\in M

Negligible function

ϵ:NR\epsilon:\mathbb{N}\to \mathbb{R} is a negligible function if c>0\forall c>0, NN\exists N\in\mathbb{N} such that nN,ϵ(n)<1nc\forall n\geq N, \epsilon(n)<\frac{1}{n^c} (looks like definition of limits huh) (Definition 27.2)

Idea: for any polynomial, even n100n^{100}, in the long run ϵ(n)1n100\epsilon(n)\leq \frac{1}{n^{100}}

Example: ϵ(n)=12n\epsilon (n)=\frac{1}{2^n}, ϵ(n)=1nlog(n)\epsilon (n)=\frac{1}{n^{\log (n)}}

Non-example: ϵ(n)=O(1nc)c\epsilon (n)=O(\frac{1}{n^c})\forall c

One-way function

Idea: We are always okay with our chance of failure being negligible.

Foundational concept of cryptography

Goal: making Enck(m),Deck(c)Enc_k(m),Dec_k(c') easy and Dec1(c)Dec^{-1}(c') hard.

Definition 27.3 (Strong one-way function)

f:{0,1}n{0,1}(n)f:\{0,1\}^n\to \{0,1\}^*(n\to \infty)

There is a negligible function ϵ(n)\epsilon (n) such that for any adversary A\mathcal{A} (n.u.p.p.t)

P[x{0,1}n;y=f(x):f(A(y))=y]ϵ(n)P[x\gets\{0,1\}^n;y=f(x):f(\mathcal{A}(y))=y]\leq\epsilon(n)

Probability of guessing a message xx' with the same output as the correct message xx is negligible

and

there is a p.p.t which computes f(x)f(x) for any xx.

  • Hard to go back from output
  • Easy to find output

aa sees output y, they wan to find some xx' such that f(x)=yf(x')=y.

Example: Suppose ff is one-to-one, then aa must find our xx, P[x=x]=12nP[x'=x]=\frac{1}{2^n}, which is negligible.

Why do we allow aa to get a different xx'?

Suppose the definition is P[x{0,1}n;y=f(x):A(y)=x]ϵ(n)P[x\gets\{0,1\}^n;y=f(x):\mathcal{A}(y)=x]\neq\epsilon(n), then a trivial function f(x)=xf(x)=x would also satisfy the definition.

To be technically fair, A(y)=A(y,1n)\mathcal{A}(y)=\mathcal{A}(y,1^n), size of input n\approx n, let them use poly(n)poly(n) operations. (we also tells the input size is nn to A\mathcal{A})

Do one-way function exists?

Unknown, actually…

But we think so!

We will need to use various assumptions. one that we believe very strongly based on evidence/experience

Example:

p,qp,q are large random primes

N=pqN=p\cdot q

Factoring NN is hard. (without knowing p,qp,q)

Last updated on