Cryptography Lecture 4 Arpita Patra Arpita Patra Recall >> Perfect Security o Various Definitions and their equivalence (Shannons Theorem) o Inherent Drawbacks o Cannot afford perfect security >> Relaxing Perfect Security o Make the adversary bounded/efficient/polynomial time Computational o Allow the break with some small/negligible probability Security o Are they necessary? Todays Goal - Both relaxations are necessary. - Computational/Cryptographic Security Impossible to break Infeasible to break with high prob. o Will make polynomially bounded/efficient and small/negligible prob. precise

o Paradigm I- Semantic Security for SKE- computational analogue of Shannons perfect security o Paradigm II- Indistinguishability-based Security for SKE computational analogue of game/experiment based security definition of perfect security o Look for assumptions needed for construction and construct a scheme Necessity of relaxed Threat Model - Assume a SKE that allows many messages to be encrypted using a single short key - Allow the adversary to be unbounded powerful in contrast to bounded - Assume the adversary knows many (m1, c1), (m2, c2), ,(mt, ct): ci = Enck(mieach ) - Decrypt ciphertext with all possible keys until it finds a matching key ---brute-force O(|K|) k? (m1, c1), (m2, c2), , (mt, ct): ci = Enck(mi) k1 k?

k2 k? k3 ? De ck (c ? D 1 i) = m , ec i f or all i k ( c ? D 2 i) = ec m, i fo k ( r al 3 c li i) = Yes m , i f or all

i Hurray : I got the key Necessity of relaxed Break Model - Assume a SKE that allows many messages to be encrypted using a single short key - Break is allowed with only zero probability - Let the adversary knows many (m1, c1), (m2, c2), ,(mt, ct): ci = Enc ) k(mirandom - Make guess about a k and decrypt each ciphertext that key to verify k? (m1, c1), (m2, c2), , (mt, ct): ci = Enck(mi) k1 k? k2 k? - O(1) time - Probability : 1 / |K| k3

? Dec k (c ) = 2 i mi , fo r a ll i Yes Hurray : my guess was correc Making Polynomially Bounded Precise Asymptotic Approach >> Feasible /Efficient / Probabilistic Poly time (PPT) algorithm means: - running time of the algorithm is polynomial in the input size >> PPT adversary = PPT algorithm - Input size: n - Running time of adversary is polynomial in n. - A function f: Z+ Z+ is polynomial in n if there exist finite number of {ci} such that f(n) < i ci ni for all n. Example: n3 >> Example of what PPT adversary cannot do: o Assume your key size is n bits o | K | = 2n o An efficient/PPT adversary CANNOT brute-force over K Making Very Small/Negligible Precise Asymptotic Approach

>> Very Small / negligible in n means those f(n) : - for every polynomial in n, p(n), there exists some positive integer N, such that f(n) < 1/p(n) , for all n > N - grows slower than any inverse poly >> Example: 1/2n , 1/2n/2 >> How about 1/n10 ? For 1/n20 there is NO N s.t. 1/n10 < 1/n20 >> An adversary running for n3 time breaks a scheme with probability at most 1/2n - The more the value of n, the tougher the life of the adversary is. >> Usually the key size is set to n Closures properties of poly and negligible functions Proposition: Let p1 and p2 be polynomials in n. Then, (i) p1 + p2 is a poly. (ii) p1 * p2 is a poly. Proposition: Let negl1 and negl2 be negligible functions in n. Then, (i) negl1 + negl2 is a negligible function. (ii) p(n). negl1 is a negligible function for any poly p(n) Asymptotic Approach: Summary >> Security parameter n - publicly known (part of the scheme) ; inputs to all algorithms (including adversary) will be made of size polynomial in n. Running time of the

users Running time of the attacker Success probability of the attacker Functions of a security parameter n Polynomial in n Negligible in n >> Typically n is the size of secret-key (ex: n = 128, 256, etc) Choosing n Carefully is Very Essential A designer claims that an adversary running for n3 minutes can break his scheme with probability 240 2-n - 240 2-n is negligible --- hence secure scheme - But what value of n to select while implementing ? - If n 40 then an adversary working for 403 minutes (6 weeks) can break the scheme with probability 1 - You will claim its a useless scheme, but you just made a foolish choice of n 3 - n = 50 ? : adversary working for 50 minutes (3 months) succeed with probability 1/1000

- may be unacceptable - n = 500: adversary working for 200 yrs can break the scheme with probability 2-460 - definitely acceptable n = Knob Users running time is also increasing Advs job becomes harder min n max Concrete Approach >> Set the value of n >> Run users and adversary on specific machines No adversary running for 5 yrs on 4GHz Machine can break the scheme with probability better than 2-60 Concrete Statement 1 Concrete Statement 2 Asymptotic Statement Asymptotic Approach Concrete Approach

Concrete Statement n Syntax of Secret Key Encryption (SKE) Revisited 1. Key-generation Algorithm: Gen(1n) > Outputs a key k chosen according to some probability distribution. > MUST be a Randomized algorithm 2. Encryption Algorithm: Enck(m); m in {0,1}l(n) > c Enck(m) when randomized and c:=Enck(m) when deterministic > Deterministic/Randomized algorithm 3. Decryption Algorithm: Deck(c) > Outputs m:= Deck(c) > Deterministic Semantic Security for SKE S. Goldwasser and S. Micali. Probabilistic Encryption. Journal of Computer and System Sciences, 28(2): 270-299, 1984 Impossible to break

Infeasible to break with high prob. - Randomized PPT COA Given prior information about message, the ciphertext leaks no additional information about the message h(m): external info about m; history function f(m): additional information about m that adv wants to compute Semantic Security Two worlds: In one adv gets ciphertext and in another it does not. If the difference between probabilities of guessing f(x) in the both worlds are negligibly apart, then semantic security is achieved. m Gen(1n )

Enc k c h(m |m| Enck(m ) A ) Computational Analogue guess about of Shannons f(m) of perfectdefinition security h(m A ) guess about f(m)

= (Gen, Enc, Dec) is semantically-secure if for every PPT A there exists a PPT A such that for any Samp and PPT functions f and h: | Pr [ A(1n,c,h(m)) =f(m)] - Probability taken over >> uniform k, >> m output by Samp(1n), >> the randomness of A and Pr [ A(1n,|m|,h(m)) | =f(m)] Probability taken over >> m output by Samp(1n) and >> the randomness of A neg l(n) Indistinguishability Security for SKE

S. Goldwasser and S. Micali. Probabilistic Encryption. Journal of Computer and System Sciences, 28(2): 270-299, 1984 Impossible to break Infeasible to break with high prob. - Randomized PPT COA Given the knowledge of two messages, it cannot be distinguished if the ciphertext corresponds to the first or second message. Indistinguishability Based Definition An Experiment / a game between a challenger and an adversary Indistinguishability experiment ind PrivK (n) A,

= (Gen, Enc, Dec), M Attacker A Challenger m0, m1 M ; |m0|=|m1| (freedom to choose any pair) I can break Run time: Poly(n) b {0, 1} (Attackers guess about encrypted message) Let me verify k c Enck(mb) Gen(1n) ind 1 --- attacker won PrivK (n) A,

0 --- attacker lost has is ind-secure if for every PPT attacker A, there is a negligible function negl(n) such that ind Pr PrivK (n) = 1 A, + negl(n) Probability is taken over the randomness used by A and the challenger Semantic vs. Indistinguishability Security - SEM: Given prior information about message, the ciphertext leaks no additional information about the message Randomized PPT COA Given the knowledge of two messages, it cannot be distinguished if the ciphertext

corresponds to the first or second message. IND Security SEM Security IND Security SEM Security RA3: If a scheme is ind-secure then for all PPT A and any index i, there is a negligible function negl(n) s.t Pr [ A(1n,c) =mi] + negl(n)For uniform distribution of k and m. IND Security SEM Security Indistinguishability Based Definition: Renaming An Experiment / a game between a challenger and an adversary Indistinguishability experiment coa PrivK (n) A, = (Gen, Enc, Dec), M Attacker A Challenger

m0, m1 M ; |m0|=|m1| (freedom to choose any pair) I can break Run time: Poly(n) b {0, 1} (Attackers guess about encrypted message) Let me verify k c Enck(mb) coa 1 --- attacker won PrivK (n) A, 0 --- attacker lost has is coa-secure if for every PPT attacker A, there is a negligible function negl(n) such that coa Pr PrivK (n) = 1

A, + negl(n) Probability is taken over the randomness used by A and the challenger Gen(1n) Equivalent Formulation of Ind Definition Attacker A = (Gen, Enc, Dec), M , n m0, m1 Challenger , |m0| = |m1| (freedom to choose any pair) I can break b {0, 1} Let me verify Run time: Poly(n) (Attackers guess about encrypted message) k

c Enck(mb) Gen(1n) Game Output 0 --- attacker lost 1 --- attacker won coa Pr PrivK (n) = 1 A, + negl(n) Intuition behind the definition ? >> Attacker should behave in the same way irrespective of m0 or m1 >> What does same behavior mean ? --- Attacker just outputs a bit >> Same behavior means that attacker outputs 1 with almost the same probability in each case (irrespective of whether it sees an encryption of m0 or m1) Equivalent Formulation coa PrivK (n, b) : the experiment with mb selected by challenger A, coa coa Output(PrivK

(n, b)) : output bit of the attacker during PrivK (n, b)) A, A, = (Gen, Enc, Dec) is coa-secure if for every PPT adversary A, there is a negligible function negl, such that : | coa Pr[Output(PrivK (n, 0)) = A, 1] - coa Pr[Output(PrivK (n, 1)) = A, 1] | negl( n)

A4 = (Gen, Enc, Dec) is coa-secure if for every PPT adversary A, there is a negligible function negl, such that : coa Pr PrivK (n) = + A, 1 negl(n ) Assumptions for coa-Secure SKEs Recall the promises of computational security? - Shorter key for big message - Key Reuse Lets go OTP style: key will be used to pad/mask the message - The pad cant be just the key - Pad = f(key) and the function is length-expanding ?? - For perfect security the pad needed to be truly random - For computational security, enough if the pad looks random to a PPT adversary but actually not. M = K = C = {0, 1}l

k k Gen k R K mM Enc c:= mk c cC Dec m:= ck m Assumptions for coa-Secure SKEs M. Blum, S. Micali. How to Generate Cryptographically strong sequences of pseudo-random bits. SIAM Journal of Computing, 13(4), 850-864, 1984 A. C.-C. Yao. Theory and Applications

of Trapdoor Functions. FOCS, 80-91, 1982. Pseudorandom Generators (PRGs): Tool to cheat the PPT adversaries Pseudorandomness - Its a property of a probability distribution { Set of all binary strings of length l G: a prob. Dist. = { } Set of Give me a string probabilities } A string drawn according to G is called pseudorandom U: Uniform probability Distribution A string drawn

according to U is called Sampler for G and U random w G is pseudorandom if a string drawn according to G is indistinguishable from a string drawn according to U to a PPT distinguisher Pseudorandom Generators (PRGs) Deterministic PPT Algorithm G s R {0,1}n G(s) {0,1}l(n) , l: poly Seed Let G be the dist. on l(n)-bit strings obtained by sampling s uniformly and running G(s). G is a PRG if dist. G is pseudorandom distribution and l(n) > n for every n. l() : expansion factor of G Requirements : 1. Expansion : for every n, l(n) > n 2. Pseudorandomness : G(s) looks like a truly random string PRG Security Oracle U : uniform distribution over {0,1}l(n)

PPT distinguisher D Challenger A string of length l(n) please y How I selected it ? G: Probability distribution over {G(s): s R {0,1}n} ng n) i r st l( m gth o nd en ra of l A l( lz p } b= ,1 R 0 y 0

{ b= 1s G is a PRG if for every PPT D, there is a negligible function negl | Pr [D(r) = 1]- Pr [D(G(s)) = | s1]R negl (n) l( {0,1} {0,1} Probability taken over Probability taken over n n) >> Random Choice of r>> Random Choice of s >> the randomness of >> D the randomness of D R y: {0,

= 1 n ) r R n) G( s } G Scribe?