Chapter 4: Private Key Cryptography Encryption and Pseudorandomness

Size: px
Start display at page:

Download "Chapter 4: Private Key Cryptography Encryption and Pseudorandomness"

Transcription

1 Chapter 4: Private Key Cryptography Encryption and Pseudorandomness C. Tartary Encryption and Pseudorandomness p. 1 / 61

2 Book Reference This chapter is based on Chapter 3 of the textbook. Encryption and Pseudorandomness p. 2 / 61

3 Security Comparison In cryptography, we have two models of opponents: those with unlimited power and those with bounded computational abilities. Perfectly secure schemes resistant against unbounded adversary (no information is revealed to the opponent), no mathematical assumption needed for security, long key size (storage issue), unique key use (refreshment issue). Encryption and Pseudorandomness p. 3 / 61

4 Security Comparison In cryptography, we have two models of opponents: those with unlimited power and those with bounded computational abilities. Perfectly secure schemes resistant against unbounded adversary (no information is revealed to the opponent), no mathematical assumption needed for security, long key size (storage issue), unique key use (refreshment issue). Computationally secure schemes multiple key use, reasonable key size, the security is based on unproven mathematical assumptions, weak against computationally unbounded adversaries. Encryption and Pseudorandomness p. 3 / 61

5 "Practical" Security The cryptosystems developed during the modern cryptography s era are to be computationally secure (with respect to computers power). At first glance, computationally secure schemes seem less tempting for use than information theoretically secure constructions. Nonetheless, some assumptions still require many lifetime of computations to be broken even with today s supercomputer. As a consequence, such a level of security is acceptable in practice. Kerckhoffs principle (2). A cipher must be practically, if not mathematically, indecipherable. A consequence is that one can use a cryptosystem which cannot be broken with "reasonable probability" in "reasonable time" even if it is not perfectly secure. This leads to the notion of practically unbreakable cryptographic primitives. Encryption and Pseudorandomness p. 4 / 61

6 Computational Security The notion of perfect security is modified to less requiring conditions. In order to achieve computational security, one expect: the security is only preserved against efficient adversaries that run in a feasible amount of time, the adversaries can potentially succeed with some very small probability (that is small enough such that this event never occurs in practice). There are two approaches to achieve the previous to requirements: the concrete approach and the asymptotic approach. Encryption and Pseudorandomness p. 5 / 61

7 Concrete Approach In this approach, we quantify the success probability of the attacker as well as the running time of the attack using bounds (upper bound: successful attack, lower bound: running time). This concrete approach is generally modeled by two positive numbers t, ǫ (where ǫ 1) and is expressed: A scheme is (t,ǫ)-secure if every adversary running in time at most t succeeds in breaking the scheme with probability at most ǫ. Encryption and Pseudorandomness p. 6 / 61

8 Concrete Approach In this approach, we quantify the success probability of the attacker as well as the running time of the attack using bounds (upper bound: successful attack, lower bound: running time). This concrete approach is generally modeled by two positive numbers t, ǫ (where ǫ 1) and is expressed: A scheme is (t,ǫ)-secure if every adversary running in time at most t succeeds in breaking the scheme with probability at most ǫ. This model is useful in practice as t and ǫ are value that users of cryptographic primitives are ultimately interested in. Remark 1 In this setting, one must always say "(t,ǫ)-secure" and never "secure" alone as security depends on the purpose of the cryptosystem. The same couple (t,ǫ) can be considered as "secure" for an average use but not for national security purposes for instance. Encryption and Pseudorandomness p. 6 / 61

9 Asymptotic Approach In this approach, we quantify the success probability of the attacker as well as the running time of the attack as functions of a security parameter n. When honest parties set-up the scheme, they choose the value n (which generally represents the length of the key). This value n is assumed to be known by the adversary when he attacks the scheme (i.e. he knows the length of the keys). Encryption and Pseudorandomness p. 7 / 61

10 Asymptotic Approach In this approach, we quantify the success probability of the attacker as well as the running time of the attack as functions of a security parameter n. When honest parties set-up the scheme, they choose the value n (which generally represents the length of the key). This value n is assumed to be known by the adversary when he attacks the scheme (i.e. he knows the length of the keys). Using this parameter-based approach, we represent the notion of efficient algorithm by probabilistic algorithms running in time polynomial in n (also denoted PPT as Probabilistic Polynomial Time). This means that for some constants a,c the algorithm runs in time an c. It is requested that the honest parties as well as the adversary run in polynomial time. However, the later can run much longer (i.e. he may be represented by a higher degree polynomial in n) than the honest parties. we represent the notion of small probability of success by success probabilities smaller than any inverse polynomial in n. This means that for every constant c the adversary s success probability is smaller than n c for large enough values of n. Encryption and Pseudorandomness p. 7 / 61

11 Asymptotic Approach This asymptotic approach can be summarized as: A scheme is secure if every PPT adversary succeeds in breaking the scheme with only negligible probability in the security parameter. This model only guarantees security for large values of the security parameter. Example 1 Assume that we have a secure scheme where an adversary running for n 3 minutes breaks the scheme with probability n. Whenn 40, then the scheme is broken (with probability 1) in about 6 weeks. When n = 50, then the scheme is broken (with probability 1/1000) in about 3 months. When n = 500, then the adversary needs to run for more than 200 years to break the scheme with probability Encryption and Pseudorandomness p. 8 / 61

12 Asymptotic Approach On the previous example, we see that increasing n leads to a better defense against the opponent. So, choosing longer keys is a way to thwart the adversary s attacks. In particular, this can be used to deal with the increase of computational power the enemy can gain over time. The asymptotic approach does not depends on any hardware assumption, needs to an understanding of the security benefits (small n s are bad). In the remaining of this course, we focus on the asymptotic approach exclusively. Encryption and Pseudorandomness p. 9 / 61

13 Efficient Computation Definition 1 An algorithm A is said to run in polynomial time if there exists a polynomial p( ) such that, for every input x {0,1}, the computation of A(x) terminates within at mostp( x ) steps. Definition 2 A probabilistic algorithm is one that has access to a source of randomness returning unbiased random bits that independent from each other and equal to 1 with probability1/2. Remark 2 We can compose PPT algorithms together. If A and A are two PPT algorithms then, when A runsa as a subroutine, the new algorithm à is still a PPT algorithm. Remark 3 The use of randomness is inherent in cryptography. It is required by the honest participants to generate keys. Thus, it is natural to assume that the adversary is probabilistic as well. Remark 4 It is not clear whether or not randomness provides extra-security guarantees (in a theoretical point of view). Nonetheless, assuming that the adversary is probabilistic dos not weaken the security of the scheme since a construction secure against probabilistic enemies will also be secure against deterministic ones. Encryption and Pseudorandomness p. 10 / 61

14 Generating Randomness The use of randomness is vital for cryptography. Indeed, if the participants are deterministic then the adversary can get their private key by running Gen in the same way as theirs. That algorithm is public due to Kerchkoffs principle. There are different ways to generate randomness (with different levels of success): hardware random number generators: they are based on some physical phenomenon (electric noise, radioactive decay,...) software random number generators: they are based on human behavior (hard drive access time, movement of the mouse,...)active: the receivers can adaptively ask for encryptions and/or decryption of his choice. Those are very unlikely to provide uniform distribution. In addition, their "randomness" is to be proved. For instance, the random function from the C language is not random. Thus, one must need to use a random number generator designed for cryptographic purposes. Encryption and Pseudorandomness p. 11 / 61

15 Negligibility of Functions Definition 3 ([Gol01]) A functionf : N R + is said to be negligible if for every positive polynomialp( ) there exists an integern such that for all n > N, we have: f(n) < 1 p(n) This is the formal definition of the notion "small probability of success" seen before. Remark 5 Two functions f 1 and f 2 may be negligible but approaching 0 at different rates. Consider f 1 (n) = 2 n and f 2 (n) = 2 n. We have: f 1 (n) < 10 6 when n 20 and f 2 (n) < 10 6 when n 400. Encryption and Pseudorandomness p. 12 / 61

16 Negligibility of Functions Proposition 1 Let f 1 andf 2 be two negligible function. Then: f 1 +f 2 is also negligible, for any positive polynomial p, the function p f 1 is also negligible. The second point of this proposition indicates that if an even occurs in a negligible way then, when repeating the experiment a polynomial number of times, the probability of occurrence is still negligible. We get the following outcome: Events that occur with negligible probability are so unlikely to occur that they can be ignored for all practical purposes. Therefore, a break of a cryptographic scheme that occurs with negligible probability is not significant. Encryption and Pseudorandomness p. 13 / 61

17 Security Proofs The notion of security can be expressed as: A scheme is secure if for every probabilistic polynomial-time adversary A carrying out an attack of some specified type, and for every positive polynomial p( ) there exists an integern such that the probability of the attack success is less than 1 for every p(n) n > N. In theory, when demonstrating that a scheme S is secure, one has to show that no PPT adversary can break it with non-negligible probability. Remark 6 In practice, we work in a different way. We try to show that there exists a "hard" problem S which can be broken if S is. We show that if one can break S using a PPT algorithm A then one can build another PPT algorithm A (usingaas a subroutine) which breaks the "hard" problem S. Encryption and Pseudorandomness p. 14 / 61

18 Computationally-Secure Encryption We recall the definition of a private key encryption scheme. Definition 4 A private key encryption scheme is a tuple of PPT algorithms Gen, Enc, Dec such that: Gen takes as input the security parameter 1 n and outputs a key k. We can assume, w.l.o.g, that k n. Enc takes as input a keyk and a plaintext messagem {0,1}. It outputs a ciphertext c. Enc may be randomized. Dec takes as input a keyk and a ciphertext c. It outputs a messagem. Dec is deterministic. It is required that for everyn, every keyk and every messagem, we have: Dec k (Enc k (m)) = m If for k output by the key generator, Enc k is only defined for messages m {0,1} l(n) then we say that (Gen, Enc, Dec) is a fixed-length private key encryption scheme for message of length l(n). Encryption and Pseudorandomness p. 15 / 61

19 Computationally-Secure Encryption We consider an experiment Priv eav A,Π in which an adversary A outputs two messages m 0,m 1. He is given the encryption of one of them chosen at random, using a randomly-generated key. The scheme is said to be perfectly secure is A cannot determine which message corresponds to the ciphertext with probability different from 1 2. In the case of computational security, we relax the previous requirements as follows: A is assumed to run in polynomial-time as a function of the security parameter. A may be able to determine the correct message from the cryptogram with negligible probability higher than 1 2. Encryption and Pseudorandomness p. 16 / 61

20 Computationally-Secure Encryption We consider an experiment Priv eav A,Π in which an adversary A outputs two messages m 0,m 1. He is given the encryption of one of them chosen at random, using a randomly-generated key. The scheme is said to be perfectly secure is A cannot determine which message corresponds to the ciphertext with probability different from 1 2. In the case of computational security, we relax the previous requirements as follows: A is assumed to run in polynomial-time as a function of the security parameter. A may be able to determine the correct message from the cryptogram with negligible probability higher than 1 2. The differences with the definition of perfect secrecy are: Priv eav A,Π depends on the security parameter n, the messages m 0,m 1 have the same length. Encryption and Pseudorandomness p. 16 / 61

21 Indistinguishability The experiment Priv eav A,Π (n) works as follows: 1. A is given input 1 n and outputs a pair of messages m 0,m 1 of the same length. 2. A key k is generated by Gen and a random bit b is chosen. We call c the challenge ciphertext. 3. A output a bit b. 4. The output of the experiment is defined to be 1 if b = b and 0 otherwise. If Priv eav A,Π (n) = 1, we say that A succeeded. The idea of indistinguishability is that the PPT A does not succeed in the above game with nonnegligible probability greater than 1 2. Encryption and Pseudorandomness p. 17 / 61

22 Indistinguishability Definition 5 A private key encryption scheme has indistinguishable encryptions in the presence of an eavesdropper if for all PPT adversariesa, there exists a negligible function ǫ such that: Prob(Priv eav A,Π (n) = 1) 1 2 +ǫ(n) where the probability is taken over the random coins used by A, as well as the random coins used in the experiment (for choosing the key, the random bit b and any random coins in the encryption process). The definition requires the above property to be true for all PPT algorithms. This means that the security holds whatever the strategy of attack A has decided to use. The definition means that, whatever the strategy A uses, he does not get any advantage more significant than the random guess (which returns the correct ciphertext index with probability 1 2 ). Remark 7 This security holds despite the fact that A was allowed to choose the valuesm 0 and m 1. Encryption and Pseudorandomness p. 18 / 61

23 Indistinguishability Another way to express indistinguishability is to say that A behaves in the same way whether he sees the encryption of m 0 or m 1. Definition 6 A private key encryption scheme has indistinguishable encryptions in the presence of an eavesdropper if for all PPT adversariesa, there exists a negligible function ǫ such that: Prob[output(Priv eav A,Π (n,0)) = 1] Prob[output(Priveav A,Π (n,1)) = 1] ǫ(n) where the probability is taken over the random coins used by A, as well as the random coins used in the experiment (for choosing the key, the random bit b and any random coins in the encryption process). Encryption and Pseudorandomness p. 19 / 61

24 Indistinguishability The property of indistinguishability implies that no single bit of a randomly chosen message m can be predicted with probability significantly better than 1/2. Consider a message m and denote m i its i th bit. Proposition 2 Let (Gen, Enc, Dec) be a private-key encryption scheme that has indistinguishable encryptions in the presence of an eavesdropper. Then, for all PPT adversaries A and all i, there exists a negligible functionǫsuch that: Prob[A(1 n,enc k (m)) = m i ] 1 2 +ǫ(n) where m is chosen uniformly at random from {0,1} n and the probability is taken over the random coins of A, the choice of m and the key k, and any random coins used in the encryption process. Encryption and Pseudorandomness p. 20 / 61

25 Indistinguishability We assume that, when the security parameter 1 n is given, we have an efficient algorithm which can return an element of S n (strings of length n over the alphabet S). When this exists, the set S is said to be efficiently sampleable. Proposition 3 Let (Gen, Enc, Dec) be a private-key encryption scheme that has indistinguishable encryptions in the presence of an eavesdropper. Then, for all PPT adversaries A, there exists a PPT algorithm A such that for all polynomial time computable function f and all efficiently-sampleable sets S, there exists a negligible function ǫ such that: Prob[A(1 n,enc k (m)) = f(m)] Prob[A (1 n ) = f(m)] ǫ(n) where m is chosen uniformly at random from S n and the probabilities are taken over the choice of m and the key k, and any random coins used bya, A and the encryption process. Encryption and Pseudorandomness p. 21 / 61

26 Semantic Security In practice, when once is given a ciphertext, he may have already got some pre-knowledge of the cryptosystem (by eavesdropping the channel for instance). In addition, the plaintexts sent through the network may not be created uniformly at random. The purpose of semantic security is to guarantee the security of the scheme against such a threat. Definition 7 A private key encryption scheme (Gen, Enc, Dec) is semantically secure in the presence of an eavesdropper if for all PPT algorithms A, there exists a PPT algorithm A such that for all efficientlysampleable distributionsx 1,X 2,X 3,...and all polynomial-time computable functionsf andh, there exists a negligible function ǫ such that: Prob[A(1 n,enc k (m),h(m)) = f(m)] Prob[A (1 n,h(m)) = f(m)] ǫ(n) wheremis chosen according to the distributionx n and the probabilities are taken over the choice ofmand the key k and any random coins used by A,A and the encryption process. In the definition above, the element h(m) represents the extra information that the adversary may have about the system. Encryption and Pseudorandomness p. 22 / 61

27 Semantic Security Definition 7 seems to guarantee a higher level of security than indistinguishability as the earlier allows a more complex opponent model. Nonetheless, we have the following result. Theorem 1 A private-key encryption scheme has indistinguishable encryptions in the presence of an eavesdropper if and only if it is semantically secure in the presence of an eavesdropper. As a consequence, it is enough to focus to work with the definition of indistinguishability. Encryption and Pseudorandomness p. 23 / 61

28 Pseudorandomness This notion is very important in cryptography. In the context of private key encryption, it is central to the security of schemes as key are to be generated according to some specific probability distributions. The purpose of pseudorandomness is to relax the requirement of randomness. A string is pseudorandom if it looks like a uniformly distributed string for every entity running in polynomial time. Pseudorandomness is a computational assumption. If the adversary is unbounded computationally then nothing is pseudorandom. Pseudorandomness is related to distribution on strings and not the strings themselves. When we say that a distribution D over strings of length l is pseudorandom, it means that D is indistinguishable from the uniform distribution over the string of length l. The advantage of the notion of pseudorandomness is that it can be implemented and an pseudorandom string can be generated from a short string. Thus, a long message can be encrypted using a short key. Note that this is impossible for perfectly secret encryption schemes. Encryption and Pseudorandomness p. 24 / 61

29 Pseudorandom Generators A pseudorandom number generator is a deterministic algorithm that receives a small amount of true randomness (seed) and stretches it into a large amount of pseudorandomness. Definition 8 Let l( ) be a polynomial and let G be a deterministic polynomial-time algorithm such that for any input s {0,1} n, algorithm G outputs a string of length l(n). We say that G is a pseudorandom generator (PRG) if the following two conditions hold: (expansion) For every n it holds that l(n) > n. (pseudorandomness) For all probabilistic polynomial-time distinguisherd, there exists a negligible function ǫ such that: Prob[D(r) = 1] Prob[D(G(s)) = 1] < ǫ(n) where r is chosen uniformly at random from {0,1} l(n), the seed s is chosen uniformly at random from {0,1} n and the probabilities are taken over the random coins used by D and the choice of r ands. The function l( ) is called the expansion factor ofg. Encryption and Pseudorandomness p. 25 / 61

30 Pseudorandom Generators The seed for a PRG must be chosen uniformly at random and kept secret from the distinguisher D. Moreover, the number of possible seeds (thus, the length of the seed) must be large enough so that a brute force attack cannot be used by a PPT adversary to recover the secret value s. An issue with PRGs is that we do not know if they exist. It is believed that they actually exist. In fact, under the assumption that one-way functions exist, we can construct PRGs. Encryption and Pseudorandomness p. 26 / 61

31 Fixed-Length Secure Cryptosystem A intuitive simple way to construct a cryptosystem with indistinguishable encryptions is to instantiate the one-time pad using a PRG to issue the key/pad. Let G be a PRG with the expansion factor l. Define a private-key encryption scheme for messages of length l as follows: Gen: on input 1 n, choose k uniformly at random from {0,1} n and return it as the key, Enc: on input a key k {0,1} n, and a message m {0,1} l(n), return the ciphertext: c := G(k) m Dec: on input a key k {0,1} n, and a ciphertext c {0,1} l(n) and return the message: m := G(k) c Encryption and Pseudorandomness p. 27 / 61

32 Fixed-Length Secure Cryptosystem A intuitive simple way to construct a cryptosystem with indistinguishable encryptions is to instantiate the one-time pad using a PRG to issue the key/pad. Let G be a PRG with the expansion factor l. Define a private-key encryption scheme for messages of length l as follows: Gen: on input 1 n, choose k uniformly at random from {0,1} n and return it as the key, Enc: on input a key k {0,1} n, and a message m {0,1} l(n), return the ciphertext: c := G(k) m Dec: on input a key k {0,1} n, and a ciphertext c {0,1} l(n) and return the message: m := G(k) c Theorem 2 If G is a PRG then the previous construction is a fixed-length private-key encryption scheme that has indistinguishable encryptions in the presence of an eavesdropper. Encryption and Pseudorandomness p. 27 / 61

33 Fixed-Length Secure Cryptosystem A natural question is to know what this approach brings us new. At first sight, we achieve the same purpose as the one-time pad (i.e. the encryption of l-bit messages message using a pad of identical length). But, we lost the perfect secrecy of the one-time pad, for the computational security of the PRG. Encryption and Pseudorandomness p. 28 / 61

34 Fixed-Length Secure Cryptosystem A natural question is to know what this approach brings us new. At first sight, we achieve the same purpose as the one-time pad (i.e. the encryption of l-bit messages message using a pad of identical length). But, we lost the perfect secrecy of the one-time pad, for the computational security of the PRG. The purpose of this construction is that the l-bit string can be much longer than the secret key k which is not possible to achieve with perfectly-secure schemes. Encryption and Pseudorandomness p. 28 / 61

35 Handling Variable-Length Messages In the previous construction, one was only able to encrypt message of lengthl(n) the value of which was determined by the security parameter n. In order to overcome this issue, one may use a variable output-length pseudorandom generator. These generators are very practical as one does not know a priori the total number of bits to be used during the lifetime of the scheme. As a consequence, one would need to create a PRG having two inputs: the seed s and the required length of the output l. Definition 9 holds: A deterministic polynomial-time algorithm G is a variable output-length PRG if the following Letsbe a string andlbe a positive integer. ThenG(s,1 l ) outputs a string of length l. For all s,l,l with l < l, the stringg(s,1 l ) is a prefix ofg(s,1 l ). Define G l (s) := G(s,1 l( s ) ). Then, for every polynomial l( ) it holds that G l is a PRG with expansion factorl. We have the following important results about PRGs. Theorem 3 Any fixed output-length PRG can be converted into a variable output-length PRG. Encryption and Pseudorandomness p. 29 / 61

36 Stream Ciphers The terminology of "stream cipher" is not well defined in the way that it is sometimes used to speak about the PRG while it may also be employed to designate the whole cryptosystem. We consider that "stream cipher" refers to the algorithm used to generate the pseudorandom stream. A few stream ciphers: RC4: the first few bytes have been showed to be biased. This leads to a weakness into WEP encryption scheme for wireless networks. Bluetooth: attacks based on the linear correlation of the inputs conditioned on a given output pattern of some specific nonlinear function [LMV05] Linear Feedback Shift Registers (LFSR): it has been shown how to recover the key from sufficiently many bytes of out put. They must not be used. Remark 8 In practice, one uses block ciphers to generate pseudorandom strings. They seems more secure than existing stream ciphers. Remark 9 One can generate stream ciphers from block ciphers. But, these stream ciphers are usually less efficient than those not created by this technique. Encryption and Pseudorandomness p. 30 / 61

37 Multiple Encryptions So far, we assume that the adversary was able to receive a single ciphertext. However, in real life, many cryptograms are exchanged through the communication channel and it is likely that the attacker is able to have access to many of them. We need to redefine the opponent s model for such a setting. The experiment Priv mult A,Π (n) works as follows: 1. A is given input 1 n and outputs a pair of vectors of messages M0 = (m 1 0,...,mt 0 ) and M 1 = (m 1 1,...,mt 1 ) with mi 0 = mi 1 for all i. 2. A key k is generated by running Gen(1 n ) and a random bit b is chosen. The vector of cryptograms C := (Enc k (m 1 b ),...,Enc k(m t b )) is given to A. 3. A output a bit b. 4. The output of the experiment is defined to be 1 if b = b and 0 otherwise. If Priv mult A,Π (n) = 1, we say that A succeeded. Encryption and Pseudorandomness p. 31 / 61

38 Multiple Encryptions Definition 10 A private key encryption scheme has indistinguishable multiple encryptions in the presence of an eavesdropper if for all PPT adversariesa, there exists a negligible function ǫ such that: Prob ( Priv mult A,Π (n) = 1 ) 1 2 +ǫ(n) where the probability is taken over the random coins used by A, as well as the random coins used in the experiment (for choosing the key, the random bit b and any random coins in the encryption process). It is important that the security against a single encryption is a priori not enough to guarantee the security against multiple encryption. Proposition 4 There exist private-key encryption schemes that have indistinguishable encryptions in the presence of an eavesdropper but do not have indistinguishable multiple encryptions in the presence of an eavesdropper. Encryption and Pseudorandomness p. 32 / 61

39 Probabilistic Encryption An example of such a scheme is on Slide 27 (instantiation of the one-time pad using a PRG). In fact, this is a particular case of a more general result: Theorem 4 Let = (Gen,Enc,Dec) be an encryption scheme for which Enc is a deterministic function of the key and the message. Then, does not have indistinguishable multiple encryptions in the presence of an eavesdropper. Thus, a necessary condition to achieve multiple encryptions security is to randomize the encryption machine. More precisely, one needs to obtain different cryptograms when the encryption algorithm Enc is run different times on the same message m and key k. This seems to be complicated to achieve as the decryption algorithm must be deterministic. But, it can be done! Encryption and Pseudorandomness p. 33 / 61

40 Stream Cipher for Multiple Encryptions Practically, there are two ways to use PRGs to obtain multiple secure encryptions. Synchronized Mode. K IV 1 G Part 1 Part 2 Part 3 m 1 c 1 m 2 c 2 m 3 c 3 In this mode, the communicating parties use a different part of the stream output by G to encrypt each message. This mode is synchronized in the way that both parties need to know which part of the stream has been used. Reusing a part of the stream is not secure. Encryption and Pseudorandomness p. 34 / 61

41 Stream Cipher for Multiple Encryptions This mode is: useful when parties communicate in a single session. The first party uses Part 1 of the stream to encrypt m 1. The second party decrypts c 1 and sends his reply m 2 using Part 2 of the stream as a mask and so on. not suitable in applications where pieces of the string are not used sequentially as the users have to keep track of parts already utilized. Encryption and Pseudorandomness p. 35 / 61

42 Stream Cipher for Multiple Encryptions Unsynchronized Mode. K G Part 1 G Part 2 G Part 3 IV 1 m 1 c 1 IV 2 m 2 c 2 IV 3 m 3 c 3 In this mode, encryption are carried out independently of one another. The parties do not need to maintain records of the pieces of stream already used. Encryption and Pseudorandomness p. 36 / 61

43 Stream Cipher for Multiple Encryptions In such a situation, we require the PRG to be stronger as the security must be guaranteed even when the IVs are known. Only the seed s is to be kept secret. In addition, we want that, for any pair(iv 1, IV 2 ) chosen uniformly at random, the streamsg(s, IV 1 ) and G(s, IV 2 ) should remain pseudorandom even when considered together. Using such a PRG, encryption works as: Enc k (m) := IV [G(k, IV) m] with IV is chosen uniformly at random from {0,1} n. The value IV is to be refreshed at each encryption to guarantee security. Many stream ciphers used in practice are based on this augmented pseudorandomness property and thus, they can be used in the unsynchronized model. Note that a "standard" PRG may not exhibit such a property. Encryption and Pseudorandomness p. 37 / 61

44 Chosen-Plaintext Attacks (CPA) So far, the adversary was only a passive actor between the two communicating parties. We now present a model where A has temporary access to the encryption algorithm. In the CPA model, A can adaptively query Enc k on multiple messages. During those queries, Enc k behaves as a black-box. That is, A only gets the output of Enc k. He does not have access to the values inside Enc k during his queries. In particular, he does not have direct access to the secret key k. We expect the same security as before. Namely, we expect A not to be able to distinguish the encryption of two arbitrary messages m 0 and m 1 that he chose himself. This must occur despite the fact that A was given access to Enc k. Encryption and Pseudorandomness p. 38 / 61

45 Chosen-Plaintext Attacks (CPA) The experiment Priv cpa A,Π (n) works as follows: 1. A key k is generated by running Gen(1 n ). 2. A is given input 1 n and oracle access to Enc k and outputs a pair of messages m 0,m 1 of the same length. 3. A random bit b is chosen and the ciphertext Enc k (m b ) is given to A. 4. A continues to have oracle access to Enc k and outputs a bit b. 5. The output of the experiment is defined to be 1 if b = b and 0 otherwise. If Priv cpa A,Π (n) = 1, we say that A succeeded. Encryption and Pseudorandomness p. 39 / 61

46 Chosen-Plaintext Attacks (CPA) Definition 11 A private key encryption scheme has indistinguishable encryptions under a chosenplaintext attack (or is CPA-secure) if for all PPT adversaries A, there exists a negligible function ǫ such that: ( ) Prob Priv cpa A,Π (n) = ǫ(n) where the probability is taken over the random coins used by A, as well as the random coins used in the experiment (for choosing the key, the random bitband any random coins in the encryption process). Encryption and Pseudorandomness p. 40 / 61

47 Chosen-Plaintext Attacks (CPA) Definition 11 A private key encryption scheme has indistinguishable encryptions under a chosenplaintext attack (or is CPA-secure) if for all PPT adversaries A, there exists a negligible function ǫ such that: ( ) Prob Priv cpa A,Π (n) = ǫ(n) where the probability is taken over the random coins used by A, as well as the random coins used in the experiment (for choosing the key, the random bitband any random coins in the encryption process). Proposition 5 If a cryptosystem is CPA-secure then it is secure against an eavesdropper. Encryption and Pseudorandomness p. 40 / 61

48 Chosen-Plaintext Attacks (CPA) Definition 11 A private key encryption scheme has indistinguishable encryptions under a chosenplaintext attack (or is CPA-secure) if for all PPT adversaries A, there exists a negligible function ǫ such that: ( ) Prob Priv cpa A,Π (n) = ǫ(n) where the probability is taken over the random coins used by A, as well as the random coins used in the experiment (for choosing the key, the random bitband any random coins in the encryption process). Proposition 5 If a cryptosystem is CPA-secure then it is secure against an eavesdropper. Remark 10 It seems that no scheme can verify Definition 11. Indeed, given the game played by A, it is enough for him to query the encryption algorithm as an oracle at Step 4 to determine the value of the secret bitb. This is true if the encryption scheme is deterministic but is false if it is deterministic. Encryption and Pseudorandomness p. 40 / 61

49 Chosen-Plaintext Attacks (CPA) Definition 11 A private key encryption scheme has indistinguishable encryptions under a chosenplaintext attack (or is CPA-secure) if for all PPT adversaries A, there exists a negligible function ǫ such that: ( ) Prob Priv cpa A,Π (n) = ǫ(n) where the probability is taken over the random coins used by A, as well as the random coins used in the experiment (for choosing the key, the random bitband any random coins in the encryption process). Proposition 5 If a cryptosystem is CPA-secure then it is secure against an eavesdropper. Remark 10 It seems that no scheme can verify Definition 11. Indeed, given the game played by A, it is enough for him to query the encryption algorithm as an oracle at Step 4 to determine the value of the secret bitb. This is true if the encryption scheme is deterministic but is false if it is deterministic. Proposition 6 No deterministic encryption scheme is CPA-secure. In other words, if a cryptosystem is CPAsecure then it must use a probabilistic encryption algorithm. Encryption and Pseudorandomness p. 40 / 61

50 Chosen-Plaintext Attacks (CPA) The practical costs of the CPA-security is to use less computationally efficient scheme than those only requiring security against an eavesdropper. Nonetheless, CPAs corresponds to realistic scenarii. For instance, if your encryption machine is physically captured by an adversary (as this may occur in times of war). Another case is related to communication between servers. Those communications are encrypted to provide security but those communications are about requests performed by users. So, those ciphertexts sent from one server to another one correspond to messages chosen by the users. Thus, in many case, one does not have a choice and one must opt for a slower but more secure cryptosystem to ensure the security of his applications. Encryption and Pseudorandomness p. 41 / 61

51 CPA Security and Multiple Encryptions We can generalize the security of an encryption scheme in the same way as in the case of an eavesdropper by giving A a vector of cryptograms to decrypt. Nonetheless, contrary to the case of an eavesdropper, we have the following result: Proposition 7 Any private key encryption scheme that has indistinguishable encryptions under CPA also has indistinguishable multiple encryptions under CPA. Thus, it is enough to prove that a scheme is CPA-secure for a single encryption to earn the property for multiple encryptions. Encryption and Pseudorandomness p. 42 / 61

52 CPA Security and Message Length Another advantage with CPA-secure encryption schemes is that it is easy to construct arbitrary-length CPA-secure scheme from any fixed-length CPA-secure cryptosystem. If (Gen, Enc, Dec) is a CPA-secure cryptosystem encrypting 1-bit long messages then it is easy to encrypt l-bit long messages m := m 1 m l as: Enc k (m) = Enc k(m 1 ) Enc k (m l ) Note that, in practice, there may be more efficient ways to construct variable-length message encryption schemes. Encryption and Pseudorandomness p. 43 / 61

53 Pseudorandom Functions We now look at functions mapping n-bit strings to n-bit strings. We are interested in keyed two-input functions F : {0,1} {0,1} {0,1}. The first input of F is called the key. For simplicity, we can assume that F is length-preserving meaning that the key, the second input and the output of F have the same length. So, if we pick k {0,1} n, the function F k := F(k, ) is a mapping from n-bit strings to n-bit strings. The keyed function F induced a probabilistic distribution on functions given by the random choice of the key k. Definition 12 Let F : {0,1} {0,1} {0,1} be an efficient, length-preserving, keyed function. We say that F is a pseudorandom function (PRF) if for all PPT distinguishers D, there exists a negligible functionǫsuch that: Prob[D Fk( ) (1 n ) = 1] Prob[D f( ) (1 n ) = 1] ǫ(n) where k is chosen uniformly at random from {0,1} n and f is chosen uniformly at random from the set of functions mappingn-bit strings ton-bit strings. Encryption and Pseudorandomness p. 44 / 61

54 Pseudorandom Functions As for PRGs, it is important to ask whether PRFs exist. In practice, efficient primitives called block ciphers exist and are believed to be PRFs. In a theoretical point of view, we have: Theorem 5 PRFs exist if and only if PRGs exist. One of the use of PRFs is the design of CPA-secure cryptosystems. Encryption and Pseudorandomness p. 45 / 61

55 CPA-Secure Cryptosystems A simple tentative to use PRFs in this context is to define the encryption algorithm as: Enc k (m) = F k (m). Unfortunately, this approach is deterministic and therefore it cannot be CPA-secure. The idea is to use a random element and a pseudorandom pad to achieve CPA-security. Let F be a PRF. Define a private-key encryption scheme for messages of length n as follows: Gen: on input 1 n, choose k uniformly at random from {0,1} n and return it as the key, Enc: on input a key k {0,1} n, and a message m {0,1} n, choose r uniformly at random from {0,1} n and return the ciphertext: c := r,f k (r) m Dec: on input a key k {0,1} n, and a ciphertext c = r,s and return the message: m := F k (r) s Encryption and Pseudorandomness p. 46 / 61

56 CPA-Secure Cryptosystems Intuitively, the security is due to the fact that F k (r) looks random to an attacker who only sees a ciphertext r,s. More precisely, we have: Theorem 6 If F is a PRF, then the previous construction is a fixed-length private-key encryption scheme for messages of length n that has indistinguishable encryptions under a CPA. We can extend this construction to arbitrary-length plaintexts m = m 1 m l as: r 1,F k (r 1 ) m 1,,r l,f k (r l ) m l Corollary 1 If F is a PRF, then the above construction is a private-key encryption scheme for arbitrarylength messages that has indistinguishable encryptions under a CPA. Remark 11 An issue with the last two constructions is that the length of a cryptogram is twice as large as the size of its corresponding plaintext. Encryption and Pseudorandomness p. 47 / 61

57 Pseudorandom Permutations Let F : {0,1} {0,1} {0,1} be an efficient, length-preserving, keyed function. Definition 13 We call F a keyed permutation if for every k, the function F k ( ) is one-to-one. We said that a keyed permutation is efficient if there exist a polynomial-time algorithm computing F k (x) when k and x are given and a polynomial-time algorithm computing F 1 k (x) given k andx. Proposition 8 If F is a pseudorandom permutation then it is also a PRF. If F is a pseudorandom permutation then cryptographic primitives may require that only honest parties can compute the inverse F 1 k. This is a stronger requirement than being pseudorandom. In such a case F must be indistinguishable from a random permutation even if the distinguisher D is given oracle access to the inverse of the permutation. Encryption and Pseudorandomness p. 48 / 61

58 Pseudorandom Permutations Definition 14 LetF : {0,1} {0,1} {0,1} be an efficient, keyed permutation. We say thatf is a strong pseudorandom function if for all PPT distinguishersd, there exists a negligible function ǫ such that: Prob[D F k( ),F k ( ) 1 (1 n ) = 1] Prob[D f( ),F k( ) 1 (1 n ) = 1] ǫ(n) where k is chosen uniformly at random from {0,1} n and f is chosen uniformly at random from the set of permutationsn-bit strings. Previously, we said that a stream cipher can be modeled as a PRG. Similarly, strong pseudorandom functions can be represented in practice by block ciphers. Encryption and Pseudorandomness p. 49 / 61

59 Block Ciphers As stream ciphers, block ciphers are tools used to construct a secure cryptosystem. A block cipher processes data per chunks. The message to be processed is first padded unambiguously so that the number of bits becomes a multiple of the block length. Then, the block cipher processes information following one of the following modes: Electronic Code Block (ECB) mode, Cipher Block Chaining (CBC) mode, Output Feedback (OFB) Mode, Counter (CTR) Mode. Note that there exists other modes but the four modes above are standard. Encryption and Pseudorandomness p. 50 / 61

60 Block Ciphers: ECB Mode m 1 m 2 m 3 F k F k F k C 1 This is the simplest way that one can think of. The description is performed using F 1 k. C 2 Unfortunately, the scheme is deterministic. Therefore, it cannot be CPA-secure. Even worse, ECBmode encryption does not have indistinguishable encryptions in the presence of an eavesdropper. Thus, this mode must never be used. C 3 Encryption and Pseudorandomness p. 51 / 61

61 Block Ciphers: CBC Mode m 1 m 2 m 3 IV F k F k F k IV C 1 C 2 C 3 In this mode, the initial vector IV of length n is chosen first. Then, encryption is done using the recursive formula: { c 0 = IV c i = F k (c i 1 m i ) Encryption and Pseudorandomness p. 52 / 61

62 Block Ciphers: CBC Mode The CBC mode is probabilistic and it has been shown that if F is a pseudorandom permutation then this mode is CPA-secure. The issue with this mode is that encryption is to be performed sequentially. Thus, one cannot use parallel mode to speed-up this mode. Encryption and Pseudorandomness p. 53 / 61

63 Block Ciphers: OFB Mode IV F k F k F k m 1 m 2 m 32 IV C 1 C 2 C 3 In this mode, the initial vector IV of length n is chosen first. The stream is generated from IV and does not depend on the messages to be sent. The encryption is done using the recursive formula: r 0 = IV r i = F k (r i 1 ) c i = r i m i Encryption and Pseudorandomness p. 54 / 61

64 Block Ciphers: OFB Mode In this mode, it is not required that F be invertible. As the CBC mode, the OFB mode is probabilistic and it is CPA-secure if F is a pseudorandom too. The advantage of this mode is that most of the computation is independent from the messages. It can be done separately using pre-processing with speed-up the encryption process. Encryption and Pseudorandomness p. 55 / 61

65 Block Ciphers: CTR Mode ctr ctr + 1 ctr + 2 ctr + 3 F k F k F k m 1 m 2 m 3 ctr C 1 C 2 C 3 There are many variants of the CTR mode. The proposed example is the randomized counter mode. In this mode, the initial vector CTR of length n is chosen first. The encryption is done using the recursive formula: { r i = F k (ctr+i) c i = r i m i Encryption and Pseudorandomness p. 56 / 61

66 Block Ciphers: CTR Mode One property is that this mode can be used in parallel computations and, as OFB, it is possible to generate the stream ahead of time independently from the message. In addition, one can process the i th block ciphertext without having to decrypt its predecessors or followers (random access). Finally, we have the following security result: Theorem 7 CPA. If F is a PRF, then the randomized counter mode has indistinguishable encryptions under a All these properties make this mode very attractive for practical implementations. Encryption and Pseudorandomness p. 57 / 61

67 Comparison: Block/Stream Ciphers Stream cipher are somewhat faster than block cipher but only by a factor between one and two. Thus, they are only advantageous over limited capacity devices such as PDAs and cell phones. On the other hand, stream cipher appear to be less studied in practice than block ciphers. There are many block ciphers which are efficient and are perceived as being quite secure while stream ciphers tend to be broken more easily. There is also the misuse of stream ciphers which consists of using the same pseudorandom string twice. For all this reasons, it seems safer to utilize block ciphers. Encryption and Pseudorandomness p. 58 / 61

68 Chosen-Ciphertext Attacks (CCA) In this attacking model, the adversary is also allowed to obtain the decryption of messages of his choice via a second black box. The experiment Priv cca A,Π (n) works as follows: 1. A key k is generated by running Gen(1 n ). 2. A is given input 1 n and oracle access to Enc k and Dec k. He outputs a pair of messages m 0,m 1 of the same length. 3. A random bit b is chosen and the ciphertext c := Enc k (m b ) is given to A. 4. A continues to have oracle access to Enc k and Dec k (except on the challenge ciphertext c). He outputs a bit b. 5. The output of the experiment is defined to be 1 if b = b and 0 otherwise. If Priv cca A,Π (n) = 1, we say that A succeeded. Encryption and Pseudorandomness p. 59 / 61

69 Chosen-Ciphertext Attacks (CCA) Definition 15 A private key encryption scheme has indistinguishable encryptions under a chosenciphertext attack (or is CCA-secure) if for all PPT adversaries A, there exists a negligible function ǫ such that: ( ) Prob Priv cca A,Π (n) = ǫ(n) where the probability is taken over the random coins used by A, as well as the random coins used in the experiment (for choosing the key, the random bit b and any random coins in the encryption process). The restriction of the adversary to query Dec k on the challenge c comes from the fact that Dec k is deterministic. Remark 12 None of the schemes seen so far is CCA-secure. Encryption and Pseudorandomness p. 60 / 61

70 References [Gol01] [LMV05] Oded Goldreich. Foundations of Cryptography: Volume I - Basic Tools. Cambridge University Press, Yi Lu, Willi Meier, and Serge Vaudenay. The conditional correlation attack: A practical attack on Bluetooth encryption. In Advances in Cryptology - Crypto 05, volume 3621 of Lecture Notes in Computer Science, pages , Santa Barbara, USA, August Springer - Verlag. Encryption and Pseudorandomness p. 61 / 61

Computer Security CS 526

Computer Security CS 526 Computer Security CS 526 Topic 4 Cryptography: Semantic Security, Block Ciphers and Encryption Modes CS555 Topic 4 1 Readings for This Lecture Required reading from wikipedia Block Cipher Ciphertext Indistinguishability

More information

Information Security CS526

Information Security CS526 Information CS 526 Topic 3 Ciphers and Cipher : Stream Ciphers, Block Ciphers, Perfect Secrecy, and IND-CPA 1 Announcements HW1 is out, due on Sept 10 Start early, late policy is 3 total late days for

More information

Cryptography CS 555. Topic 11: Encryption Modes and CCA Security. CS555 Spring 2012/Topic 11 1

Cryptography CS 555. Topic 11: Encryption Modes and CCA Security. CS555 Spring 2012/Topic 11 1 Cryptography CS 555 Topic 11: Encryption Modes and CCA Security CS555 Spring 2012/Topic 11 1 Outline and Readings Outline Encryption modes CCA security Readings: Katz and Lindell: 3.6.4, 3.7 CS555 Spring

More information

Introduction to Cryptography. Lecture 3

Introduction to Cryptography. Lecture 3 Introduction to Cryptography Lecture 3 Benny Pinkas March 6, 2011 Introduction to Cryptography, Benny Pinkas page 1 Pseudo-random generator seed s (random, s =n) Pseudo-random generator G Deterministic

More information

Paper presentation sign up sheet is up. Please sign up for papers by next class. Lecture summaries and notes now up on course webpage

Paper presentation sign up sheet is up. Please sign up for papers by next class. Lecture summaries and notes now up on course webpage 1 Announcements Paper presentation sign up sheet is up. Please sign up for papers by next class. Lecture summaries and notes now up on course webpage 2 Recap and Overview Previous lecture: Symmetric key

More information

Chapter 3 : Private-Key Encryption

Chapter 3 : Private-Key Encryption COMP547 Claude Crépeau INTRODUCTION TO MODERN CRYPTOGRAPHY _ Second Edition _ Jonathan Katz Yehuda Lindell Chapter 3 : Private-Key Encryption 1 Private-Key Encryption 3.1 Computational Security 3.1.1 The

More information

1 Achieving IND-CPA security

1 Achieving IND-CPA security ISA 562: Information Security, Theory and Practice Lecture 2 1 Achieving IND-CPA security 1.1 Pseudorandom numbers, and stateful encryption As we saw last time, the OTP is perfectly secure, but it forces

More information

Cryptography CS 555. Topic 8: Modes of Encryption, The Penguin and CCA security

Cryptography CS 555. Topic 8: Modes of Encryption, The Penguin and CCA security Cryptography CS 555 Topic 8: Modes of Encryption, The Penguin and CCA security 1 Reminder: Homework 1 Due on Friday at the beginning of class Please typeset your solutions 2 Recap Pseudorandom Functions

More information

Introduction to Cryptography. Lecture 3

Introduction to Cryptography. Lecture 3 Introduction to Cryptography Lecture 3 Benny Pinkas March 6, 2011 Introduction to Cryptography, Benny Pinkas page 1 Pseudo-random generator seed s (random, s =n) Pseudo-random generator G Deterministic

More information

page 1 Introduction to Cryptography Benny Pinkas Lecture 3 November 18, 2008 Introduction to Cryptography, Benny Pinkas

page 1 Introduction to Cryptography Benny Pinkas Lecture 3 November 18, 2008 Introduction to Cryptography, Benny Pinkas Introduction to Cryptography Lecture 3 Benny Pinkas page 1 1 Pseudo-random generator Pseudo-random generator seed output s G G(s) (random, s =n) Deterministic function of s, publicly known G(s) = 2n Distinguisher

More information

ISA 562: Information Security, Theory and Practice. Lecture 1

ISA 562: Information Security, Theory and Practice. Lecture 1 ISA 562: Information Security, Theory and Practice Lecture 1 1 Encryption schemes 1.1 The semantics of an encryption scheme. A symmetric key encryption scheme allows two parties that share a secret key

More information

Lecture 5. Constructions of Block ciphers. Winter 2018 CS 485/585 Introduction to Cryptography

Lecture 5. Constructions of Block ciphers. Winter 2018 CS 485/585 Introduction to Cryptography 1 Winter 2018 CS 485/585 Introduction to Cryptography Lecture 5 Portland State University Jan. 23, 2018 Lecturer: Fang Song Draft note. Version: January 25, 2018. Email fang.song@pdx.edu for comments and

More information

Block cipher modes. Lecturers: Mark D. Ryan and David Galindo. Cryptography Slide: 75

Block cipher modes. Lecturers: Mark D. Ryan and David Galindo. Cryptography Slide: 75 Block cipher modes Lecturers: Mark D. Ryan and David Galindo. Cryptography 2017. Slide: 75 Lecturers: Mark D. Ryan and David Galindo. Cryptography 2017. Slide: 76 Block cipher modes Block ciphers (like

More information

Information Security CS526

Information Security CS526 Information Security CS 526 Topic 3 Cryptography: One-time Pad, Information Theoretic Security, and Stream CIphers 1 Announcements HW1 is out, due on Sept 11 Start early, late policy is 3 total late days

More information

CS408 Cryptography & Internet Security

CS408 Cryptography & Internet Security CS408 Cryptography & Internet Security Lectures 16, 17: Security of RSA El Gamal Cryptosystem Announcement Final exam will be on May 11, 2015 between 11:30am 2:00pm in FMH 319 http://www.njit.edu/registrar/exams/finalexams.php

More information

2 Secure Communication in Private Key Setting

2 Secure Communication in Private Key Setting CSA E0 235: Cryptography January 11, 2016 Instructor: Arpita Patra Scribe for Lecture 2 Submitted by: Jayam Modi 1 Discrete Probability Background Probability Distribution -A probability distribution over

More information

Goals of Modern Cryptography

Goals of Modern Cryptography Goals of Modern Cryptography Providing information security: Data Privacy Data Integrity and Authenticity in various computational settings. Data Privacy M Alice Bob The goal is to ensure that the adversary

More information

Lecture 1 Applied Cryptography (Part 1)

Lecture 1 Applied Cryptography (Part 1) Lecture 1 Applied Cryptography (Part 1) Patrick P. C. Lee Tsinghua Summer Course 2010 1-1 Roadmap Introduction to Security Introduction to Cryptography Symmetric key cryptography Hash and message authentication

More information

Lecture 18 - Chosen Ciphertext Security

Lecture 18 - Chosen Ciphertext Security Lecture 18 - Chosen Ciphertext Security Boaz Barak November 21, 2005 Public key encryption We now go back to public key encryption. As we saw in the case of private key encryption, CPA security is not

More information

Cryptography [Symmetric Encryption]

Cryptography [Symmetric Encryption] CSE 484 / CSE M 584: Computer Security and Privacy Cryptography [Symmetric Encryption] Spring 2017 Franziska (Franzi) Roesner franzi@cs.washington.edu Thanks to Dan Boneh, Dieter Gollmann, Dan Halperin,

More information

Block ciphers used to encode messages longer than block size Needs to be done correctly to preserve security Will look at five ways of doing this

Block ciphers used to encode messages longer than block size Needs to be done correctly to preserve security Will look at five ways of doing this Lecturers: Mark D. Ryan and David Galindo. Cryptography 2015. Slide: 74 Block ciphers used to encode messages longer than block size Needs to be done correctly to preserve security Will look at five ways

More information

Feedback Week 4 - Problem Set

Feedback Week 4 - Problem Set 4/26/13 Homework Feedback Introduction to Cryptography Feedback Week 4 - Problem Set You submitted this homework on Mon 17 Dec 2012 11:40 PM GMT +0000. You got a score of 10.00 out of 10.00. Question 1

More information

Lecture 14 Alvaro A. Cardenas Kavitha Swaminatha Nicholas Sze. 1 A Note on Adaptively-Secure NIZK. 2 The Random Oracle Model

Lecture 14 Alvaro A. Cardenas Kavitha Swaminatha Nicholas Sze. 1 A Note on Adaptively-Secure NIZK. 2 The Random Oracle Model CMSC 858K Advanced Topics in Cryptography March 11, 2004 Lecturer: Jonathan Katz Lecture 14 Scribe(s): Alvaro A. Cardenas Kavitha Swaminatha Nicholas Sze 1 A Note on Adaptively-Secure NIZK A close look

More information

Private-Key Encryption

Private-Key Encryption Private-Key Encryption Ali El Kaafarani Mathematical Institute Oxford University 1 of 32 Outline 1 Historical Ciphers 2 Probability Review 3 Security Definitions: Perfect Secrecy 4 One Time Pad (OTP) 2

More information

Applied Cryptography and Computer Security CSE 664 Spring 2018

Applied Cryptography and Computer Security CSE 664 Spring 2018 Applied Cryptography and Computer Security Lecture 13: Public-Key Cryptography and RSA Department of Computer Science and Engineering University at Buffalo 1 Public-Key Cryptography What we already know

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Michael J. Fischer Lecture 4 September 11, 2017 CPSC 467, Lecture 4 1/23 Analyzing Confidentiality of Cryptosystems Secret ballot elections Information protection Adversaries

More information

ENEE 457: Computer Systems Security 09/12/16. Lecture 4 Symmetric Key Encryption II: Security Definitions and Practical Constructions

ENEE 457: Computer Systems Security 09/12/16. Lecture 4 Symmetric Key Encryption II: Security Definitions and Practical Constructions ENEE 457: Computer Systems Security 09/12/16 Lecture 4 Symmetric Key Encryption II: Security Definitions and Practical Constructions Charalampos (Babis) Papamanthou Department of Electrical and Computer

More information

CSCI 5440: Cryptography Lecture 5 The Chinese University of Hong Kong, Spring and 6 February 2018

CSCI 5440: Cryptography Lecture 5 The Chinese University of Hong Kong, Spring and 6 February 2018 CSCI 5440: Cryptography Lecture 5 The Chinese University of Hong Kong, Spring 2018 5 and 6 February 2018 Identification schemes are mechanisms for Alice to prove her identity to Bob They comprise a setup

More information

Information Security

Information Security SE 4472b Information Security Week 2-2 Some Formal Security Notions Aleksander Essex Fall 2015 Formalizing Security As we saw, classical ciphers leak information: Caeser/Vigenere leaks letter frequency

More information

Lecture 15: Public Key Encryption: I

Lecture 15: Public Key Encryption: I CSE 594 : Modern Cryptography 03/28/2017 Lecture 15: Public Key Encryption: I Instructor: Omkant Pandey Scribe: Arun Ramachandran, Parkavi Sundaresan 1 Setting In Public-key Encryption (PKE), key used

More information

Katz, Lindell Introduction to Modern Cryptrography

Katz, Lindell Introduction to Modern Cryptrography Katz, Lindell Introduction to Modern Cryptrography Slides Chapter 4 Markus Bläser, Saarland University Message authentication How can you be sure that a message has not been modified? Encyrption is not

More information

Introduction to Cryptography. Lecture 2. Benny Pinkas. Perfect Cipher. Perfect Ciphers. Size of key space

Introduction to Cryptography. Lecture 2. Benny Pinkas. Perfect Cipher. Perfect Ciphers. Size of key space Perfect Cipher Introduction to Cryptography Lecture 2 Benny Pinkas What type of security would we like to achieve? Given C, the adversary has no idea what M is Impossible since adversary might have a-priori

More information

Block ciphers. CS 161: Computer Security Prof. Raluca Ada Popa. February 26, 2016

Block ciphers. CS 161: Computer Security Prof. Raluca Ada Popa. February 26, 2016 Block ciphers CS 161: Computer Security Prof. Raluca Ada Popa February 26, 2016 Announcements Last time Syntax of encryption: Keygen, Enc, Dec Security definition for known plaintext attack: attacker provides

More information

Block ciphers, stream ciphers

Block ciphers, stream ciphers Block ciphers, stream ciphers (start on:) Asymmetric cryptography CS 161: Computer Security Prof. Raluca Ada Popa Jan 31, 2018 Announcements Project 1 is out, due Feb 14 midnight Recall: Block cipher A

More information

Lecture 1: Perfect Security

Lecture 1: Perfect Security CS 290G (Fall 2014) Introduction to Cryptography Oct 2nd, 2014 Instructor: Rachel Lin 1 Recap Lecture 1: Perfect Security Scribe: John Retterer-Moore Last class, we introduced modern cryptography and gave

More information

CSC 5930/9010 Modern Cryptography: Public Key Cryptography

CSC 5930/9010 Modern Cryptography: Public Key Cryptography CSC 5930/9010 Modern Cryptography: Public Key Cryptography Professor Henry Carter Fall 2018 Recap Number theory provides useful tools for manipulating integers and primes modulo a large value Abstract

More information

Cryptographic Primitives A brief introduction. Ragesh Jaiswal CSE, IIT Delhi

Cryptographic Primitives A brief introduction. Ragesh Jaiswal CSE, IIT Delhi Cryptographic Primitives A brief introduction Ragesh Jaiswal CSE, IIT Delhi Cryptography: Introduction Throughout most of history: Cryptography = art of secret writing Secure communication M M = D K (C)

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Lecture 6 Michael J. Fischer Department of Computer Science Yale University January 27, 2010 Michael J. Fischer CPSC 467b, Lecture 6 1/36 1 Using block ciphers

More information

1 Defining Message authentication

1 Defining Message authentication ISA 562: Information Security, Theory and Practice Lecture 3 1 Defining Message authentication 1.1 Defining MAC schemes In the last lecture we saw that, even if our data is encrypted, a clever adversary

More information

CS 6903 Modern Cryptography February 14th, Lecture 4: Instructor: Nitesh Saxena Scribe: Neil Stewart, Chaya Pradip Vavilala

CS 6903 Modern Cryptography February 14th, Lecture 4: Instructor: Nitesh Saxena Scribe: Neil Stewart, Chaya Pradip Vavilala CS 6903 Modern Cryptography February 14th, 2008 Lecture 4: Instructor: Nitesh Saxena Scribe: Neil Stewart, Chaya Pradip Vavilala Definition 1 (Indistinguishability (IND-G)) IND-G is a notion that was defined

More information

CSE 127: Computer Security Cryptography. Kirill Levchenko

CSE 127: Computer Security Cryptography. Kirill Levchenko CSE 127: Computer Security Cryptography Kirill Levchenko October 24, 2017 Motivation Two parties want to communicate securely Secrecy: No one else can read messages Integrity: messages cannot be modified

More information

symmetric cryptography s642 computer security adam everspaugh

symmetric cryptography s642 computer security adam everspaugh symmetric cryptography s642 adam everspaugh ace@cs.wisc.edu computer security Announcement Midterm next week: Monday, March 7 (in-class) Midterm Review session Friday: March 4 (here, normal class time)

More information

Cryptology complementary. Symmetric modes of operation

Cryptology complementary. Symmetric modes of operation Cryptology complementary Symmetric modes of operation Pierre Karpman pierre.karpman@univ-grenoble-alpes.fr https://www-ljk.imag.fr/membres/pierre.karpman/tea.html 2018 05 03 Symmetric modes 2018 05 03

More information

B) Symmetric Ciphers. B.a) Fundamentals B.b) Block Ciphers B.c) Stream Ciphers

B) Symmetric Ciphers. B.a) Fundamentals B.b) Block Ciphers B.c) Stream Ciphers 1 B) Symmetric Ciphers B.a) Fundamentals B.b) Block Ciphers B.c) Stream Ciphers B.a) Fundamentals 2 B.1 Definition 3 A mapping Enc: P K C for which ϕ k := Enc(,k): P C is bijective for each k K is called

More information

COMP4109 : Applied Cryptography

COMP4109 : Applied Cryptography COMP4109 : Applied Cryptography Fall 2013 M. Jason Hinek Carleton University Applied Cryptography Day 4 (and 5 and maybe 6) secret-key primitives symmetric-key encryption security notions and types of

More information

Symmetric-Key Cryptography Part 1. Tom Shrimpton Portland State University

Symmetric-Key Cryptography Part 1. Tom Shrimpton Portland State University Symmetric-Key Cryptography Part 1 Tom Shrimpton Portland State University Building a privacy-providing primitive I want my communication with Bob to be private -- Alice What kind of communication? SMS?

More information

Computational Security, Stream and Block Cipher Functions

Computational Security, Stream and Block Cipher Functions Computational Security, Stream and Block Cipher Functions 18 March 2019 Lecture 3 Most Slides Credits: Steve Zdancewic (UPenn) 18 March 2019 SE 425: Communication and Information Security 1 Topics for

More information

Lecturers: Mark D. Ryan and David Galindo. Cryptography Slide: 24

Lecturers: Mark D. Ryan and David Galindo. Cryptography Slide: 24 Assume encryption and decryption use the same key. Will discuss how to distribute key to all parties later Symmetric ciphers unusable for authentication of sender Lecturers: Mark D. Ryan and David Galindo.

More information

Message Authentication ( 消息认证 )

Message Authentication ( 消息认证 ) Message Authentication ( 消息认证 ) Sheng Zhong Yuan Zhang Computer Science and Technology Department Nanjing University 2017 Fall Sheng Zhong, Yuan Zhang (CS@NJU) Message Authentication ( 消息认证 ) 2017 Fall

More information

CS 495 Cryptography Lecture 6

CS 495 Cryptography Lecture 6 CS 495 Cryptography Lecture 6 Dr. Mohammad Nabil Alaggan malaggan@fci.helwan.edu.eg Helwan University Faculty of Computers and Information CS 495 Fall 2014 http://piazza.com/fci_helwan_university/fall2014/cs495

More information

Homework 2: Symmetric Crypto Due at 11:59PM on Monday Feb 23, 2015 as a PDF via websubmit.

Homework 2: Symmetric Crypto Due at 11:59PM on Monday Feb 23, 2015 as a PDF via websubmit. Homework 2: Symmetric Crypto February 17, 2015 Submission policy. information: This assignment MUST be submitted as a PDF via websubmit and MUST include the following 1. List of collaborators 2. List of

More information

Lecture 6: Symmetric Cryptography. CS 5430 February 21, 2018

Lecture 6: Symmetric Cryptography. CS 5430 February 21, 2018 Lecture 6: Symmetric Cryptography CS 5430 February 21, 2018 The Big Picture Thus Far Attacks are perpetrated by threats that inflict harm by exploiting vulnerabilities which are controlled by countermeasures.

More information

Chapter 11 : Private-Key Encryption

Chapter 11 : Private-Key Encryption COMP547 Claude Crépeau INTRODUCTION TO MODERN CRYPTOGRAPHY _ Second Edition _ Jonathan Katz Yehuda Lindell Chapter 11 : Private-Key Encryption 1 Chapter 11 Public-Key Encryption Apologies: all numbering

More information

1 A Tale of Two Lovers

1 A Tale of Two Lovers CS 120/ E-177: Introduction to Cryptography Salil Vadhan and Alon Rosen Dec. 12, 2006 Lecture Notes 19 (expanded): Secure Two-Party Computation Recommended Reading. Goldreich Volume II 7.2.2, 7.3.2, 7.3.3.

More information

2 What does it mean that a crypto system is secure?

2 What does it mean that a crypto system is secure? Cryptography Written by: Marius Zimand Notes: On the notion of security 1 The One-time Pad cryptosystem The one-time pad cryptosystem was introduced by Vernam and Mauborgne in 1919 (for more details about

More information

Lectures 4+5: The (In)Security of Encrypted Search

Lectures 4+5: The (In)Security of Encrypted Search Lectures 4+5: The (In)Security of Encrypted Search Contents 1 Overview 1 2 Data Structures 2 3 Syntax 3 4 Security 4 4.1 Formalizing Leaky Primitives.......................... 5 1 Overview In the first

More information

CSC 580 Cryptography and Computer Security

CSC 580 Cryptography and Computer Security CSC 580 Cryptography and Computer Security Encryption Concepts, Classical Crypto, and Binary Operations January 30, 2018 Overview Today: Cryptography concepts and classical crypto Textbook sections 3.1,

More information

6 Pseudorandom Functions

6 Pseudorandom Functions 6 Pseudorandom Functions A pseudorandom generator allows us to take a small amount of uniformly sampled bits, and amplify them into a larger amount of uniform-looking bits A PRG must run in polynomial

More information

Introduction to Cryptography

Introduction to Cryptography Introduction to Cryptography 89-656 Yehuda Lindell 1 October 19, 2006 1 This is an outdated draft of lecture notes written for an undergraduate course in cryptography at Bar-Ilan University, Israel. The

More information

Cryptography Lecture 4. Attacks against Block Ciphers Introduction to Public Key Cryptography. November 14, / 39

Cryptography Lecture 4. Attacks against Block Ciphers Introduction to Public Key Cryptography. November 14, / 39 Cryptography 2017 Lecture 4 Attacks against Block Ciphers Introduction to Public Key Cryptography November 14, 2017 1 / 39 What have seen? What are we discussing today? What is coming later? Lecture 3

More information

Secret Key Algorithms (DES)

Secret Key Algorithms (DES) Secret Key Algorithms (DES) G. Bertoni L. Breveglieri Foundations of Cryptography - Secret Key pp. 1 / 34 Definition a symmetric key cryptographic algorithm is characterized by having the same key used

More information

MTAT Research Seminar in Cryptography IND-CCA2 secure cryptosystems

MTAT Research Seminar in Cryptography IND-CCA2 secure cryptosystems MTAT.07.006 Research Seminar in Cryptography IND-CCA2 secure cryptosystems Dan Bogdanov October 31, 2005 Abstract Standard security assumptions (IND-CPA, IND- CCA) are explained. A number of cryptosystems

More information

Stream Ciphers An Overview

Stream Ciphers An Overview Stream Ciphers An Overview Palash Sarkar Indian Statistical Institute, Kolkata email: palash@isicalacin stream cipher overview, Palash Sarkar p1/51 Classical Encryption Adversary message ciphertext ciphertext

More information

Symmetric Cryptography

Symmetric Cryptography CSE 484 (Winter 2010) Symmetric Cryptography Tadayoshi Kohno Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell, Vitaly Shmatikov, Bennet Yee, and many others for sample slides and materials...

More information

Great Theoretical Ideas in Computer Science. Lecture 27: Cryptography

Great Theoretical Ideas in Computer Science. Lecture 27: Cryptography 15-251 Great Theoretical Ideas in Computer Science Lecture 27: Cryptography What is cryptography about? Adversary Eavesdropper I will cut his throat I will cut his throat What is cryptography about? loru23n8uladjkfb!#@

More information

Introduction. CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell

Introduction. CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell 1 Cryptography Merriam-Webster Online Dictionary: 1. secret writing 2. the enciphering and deciphering

More information

Secret Key Algorithms (DES) Foundations of Cryptography - Secret Key pp. 1 / 34

Secret Key Algorithms (DES) Foundations of Cryptography - Secret Key pp. 1 / 34 Secret Key Algorithms (DES) Foundations of Cryptography - Secret Key pp. 1 / 34 Definition a symmetric key cryptographic algorithm is characterized by having the same key used for both encryption and decryption.

More information

CSC 5930/9010 Modern Cryptography: Cryptographic Hashing

CSC 5930/9010 Modern Cryptography: Cryptographic Hashing CSC 5930/9010 Modern Cryptography: Cryptographic Hashing Professor Henry Carter Fall 2018 Recap Message integrity guarantees that a message has not been modified by an adversary Definition requires that

More information

Parallel Coin-Tossing and Constant-Round Secure Two-Party Computation

Parallel Coin-Tossing and Constant-Round Secure Two-Party Computation Parallel Coin-Tossing and Constant-Round Secure Two-Party Computation Yehuda Lindell Department of Computer Science and Applied Math, Weizmann Institute of Science, Rehovot, Israel. lindell@wisdom.weizmann.ac.il

More information

Lecture 8. 1 Some More Security Definitions for Encryption Schemes

Lecture 8. 1 Some More Security Definitions for Encryption Schemes U.C. Berkeley CS276: Cryptography Lecture 8 Professor David Wagner February 9, 2006 Lecture 8 1 Some More Security Definitions for Encryption Schemes 1.1 Real-or-random (rr) security Real-or-random security,

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 6 January 25, 2012 CPSC 467b, Lecture 6 1/46 Byte padding Chaining modes Stream ciphers Symmetric cryptosystem families Stream ciphers

More information

7. Symmetric encryption. symmetric cryptography 1

7. Symmetric encryption. symmetric cryptography 1 CIS 5371 Cryptography 7. Symmetric encryption symmetric cryptography 1 Cryptographic systems Cryptosystem: t (MCKK GED) (M,C,K,K,G,E,D) M, plaintext message space C, ciphertext message space K, K, encryption

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 8 September 28, 2015 CPSC 467, Lecture 8 1/44 Chaining Modes Block chaining modes Extending chaining modes to bytes Public-key Cryptography

More information

Summary on Crypto Primitives and Protocols

Summary on Crypto Primitives and Protocols Summary on Crypto Primitives and Protocols Levente Buttyán CrySyS Lab, BME www.crysys.hu 2015 Levente Buttyán Basic model of cryptography sender key data ENCODING attacker e.g.: message spatial distance

More information

Homework 3: Solution

Homework 3: Solution Homework 3: Solution March 28, 2013 Thanks to Sachin Vasant and Xianrui Meng for contributing their solutions. Exercise 1 We construct an adversary A + that does the following to win the CPA game: 1. Select

More information

Cryptography 2017 Lecture 3

Cryptography 2017 Lecture 3 Cryptography 2017 Lecture 3 Block Ciphers - AES, DES Modes of Operation - ECB, CBC, CTR November 7, 2017 1 / 1 What have seen? What are we discussing today? What is coming later? Lecture 2 One Time Pad

More information

Some Aspects of Block Ciphers

Some Aspects of Block Ciphers Some Aspects of Block Ciphers Palash Sarkar Applied Statistics Unit Indian Statistical Institute, Kolkata India palash@isical.ac.in CU-ISI Tutorial Workshop on Cryptology, 17 th July 2011 Palash Sarkar

More information

Overview of Cryptography

Overview of Cryptography 18739A: Foundations of Security and Privacy Overview of Cryptography Anupam Datta CMU Fall 2007-08 Is Cryptography A tremendous tool The basis for many security mechanisms Is not The solution to all security

More information

Random Oracles - OAEP

Random Oracles - OAEP Random Oracles - OAEP Anatoliy Gliberman, Dmitry Zontov, Patrick Nordahl September 23, 2004 Reading Overview There are two papers presented this week. The first paper, Random Oracles are Practical: A Paradigm

More information

Lecture 4: Authentication and Hashing

Lecture 4: Authentication and Hashing Lecture 4: Authentication and Hashing Introduction to Modern Cryptography 1 Benny Applebaum Tel-Aviv University Fall Semester, 2011 12 1 These slides are based on Benny Chor s slides. Some Changes in Grading

More information

3 Symmetric Key Cryptography 3.1 Block Ciphers Symmetric key strength analysis Electronic Code Book Mode (ECB) Cipher Block Chaining Mode (CBC) Some

3 Symmetric Key Cryptography 3.1 Block Ciphers Symmetric key strength analysis Electronic Code Book Mode (ECB) Cipher Block Chaining Mode (CBC) Some 3 Symmetric Key Cryptography 3.1 Block Ciphers Symmetric key strength analysis Electronic Code Book Mode (ECB) Cipher Block Chaining Mode (CBC) Some popular block ciphers Triple DES Advanced Encryption

More information

Cryptography (cont.)

Cryptography (cont.) CSE 484 / CSE M 584 (Autumn 2011) Cryptography (cont.) Daniel Halperin Tadayoshi Kohno Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell, Vitaly Shmatikov, Bennet Yee, and many others

More information

Course Map. COMP 7/8120 Cryptography and Data Security. Learning Objectives. How to use PRPs (Block Ciphers)? 2/14/18

Course Map. COMP 7/8120 Cryptography and Data Security. Learning Objectives. How to use PRPs (Block Ciphers)? 2/14/18 Course Map Key Establishment Authenticated Encryption Key Management COMP 7/8120 Cryptography and Data Security Lecture 8: How to use Block Cipher - many time key Stream Ciphers Block Ciphers Secret Key

More information

Lecture 2: Secret Key Cryptography

Lecture 2: Secret Key Cryptography T-79.159 Cryptography and Data Security Lecture 2: Secret Key Cryptography Helger Lipmaa Helsinki University of Technology helger@tcs.hut.fi 1 Reminder: Communication Model Adversary Eve Cipher, Encryption

More information

Secure Multiparty Computation

Secure Multiparty Computation CS573 Data Privacy and Security Secure Multiparty Computation Problem and security definitions Li Xiong Outline Cryptographic primitives Symmetric Encryption Public Key Encryption Secure Multiparty Computation

More information

On Compression of Data Encrypted with Block Ciphers

On Compression of Data Encrypted with Block Ciphers On Compression of Data Encrypted with Block Ciphers Demijan linc, Carmit Hazay, Ashish Jagmohan, Hugo rawczyk, and Tal Rabin 1 Abstract This paper investigates compression of data encrypted with block

More information

Introduction to Secure Multi-Party Computation

Introduction to Secure Multi-Party Computation Introduction to Secure Multi-Party Computation Many thanks to Vitaly Shmatikov of the University of Texas, Austin for providing these slides. slide 1 Motivation General framework for describing computation

More information

Defining Encryption. Lecture 2. Simulation & Indistinguishability

Defining Encryption. Lecture 2. Simulation & Indistinguishability Defining Encryption Lecture 2 Simulation & Indistinguishability Roadmap First, Symmetric Key Encryption Defining the problem We ll do it elaborately, so that it will be easy to see different levels of

More information

CPS2323. Symmetric Ciphers: Stream Ciphers

CPS2323. Symmetric Ciphers: Stream Ciphers Symmetric Ciphers: Stream Ciphers Content Stream and Block Ciphers True Random (Stream) Generators, Perfectly Secure Ciphers and the One Time Pad Cryptographically Strong Pseudo Random Generators: Practical

More information

Definitions and Notations

Definitions and Notations Chapter 2 Definitions and Notations In this chapter, we present definitions and notation. We start with the definition of public key encryption schemes and their security models. This forms the basis of

More information

Lecture 8: Cryptography in the presence of local/public randomness

Lecture 8: Cryptography in the presence of local/public randomness Randomness in Cryptography Febuary 25, 2013 Lecture 8: Cryptography in the presence of local/public randomness Lecturer: Yevgeniy Dodis Scribe: Hamidreza Jahanjou So far we have only considered weak randomness

More information

Introduction to Secure Multi-Party Computation

Introduction to Secure Multi-Party Computation CS 380S Introduction to Secure Multi-Party Computation Vitaly Shmatikov slide 1 Motivation General framework for describing computation between parties who do not trust each other Example: elections N

More information

Private-Key Encryption

Private-Key Encryption Private-Key Encryption Ali El Kaafarani Mathematical Institute Oxford University 1 of 50 Outline 1 Block Ciphers 2 The Data Encryption Standard (DES) 3 The Advanced Encryption Standard (AES) 4 Attacks

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS276: Cryptography Handout N24 Luca Trevisan April 21, 2009 Notes for Lecture 24 Scribed by Milosh Drezgich, posted May 11, 2009 Summary Today we introduce the notion of zero knowledge proof

More information

RSA. Public Key CryptoSystem

RSA. Public Key CryptoSystem RSA Public Key CryptoSystem DIFFIE AND HELLMAN (76) NEW DIRECTIONS IN CRYPTOGRAPHY Split the Bob s secret key K to two parts: K E, to be used for encrypting messages to Bob. K D, to be used for decrypting

More information

On the Security of a Certificateless Public-Key Encryption

On the Security of a Certificateless Public-Key Encryption On the Security of a Certificateless Public-Key Encryption Zhenfeng Zhang, Dengguo Feng State Key Laboratory of Information Security, Institute of Software, Chinese Academy of Sciences, Beijing 100080,

More information

CS573 Data Privacy and Security. Cryptographic Primitives and Secure Multiparty Computation. Li Xiong

CS573 Data Privacy and Security. Cryptographic Primitives and Secure Multiparty Computation. Li Xiong CS573 Data Privacy and Security Cryptographic Primitives and Secure Multiparty Computation Li Xiong Outline Cryptographic primitives Symmetric Encryption Public Key Encryption Secure Multiparty Computation

More information

Lectures 6+7: Zero-Leakage Solutions

Lectures 6+7: Zero-Leakage Solutions Lectures 6+7: Zero-Leakage Solutions Contents 1 Overview 1 2 Oblivious RAM 1 3 Oblivious RAM via FHE 2 4 Oblivious RAM via Symmetric Encryption 4 4.1 Setup........................................ 5 4.2

More information

Understanding Cryptography A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl

Understanding Cryptography A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl Understanding Cryptography A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl www.crypto-textbook.com Chapter 5 More About Block Ciphers ver. November 26, 2010 Last modified 10-2-17

More information

COS433/Math 473: Cryptography. Mark Zhandry Princeton University Spring 2017

COS433/Math 473: Cryptography. Mark Zhandry Princeton University Spring 2017 COS433/Math 473: Cryptography Mark Zhandry Princeton University Spring 2017 Previously on COS 433 Pseudorandom Permutations unctions that look like random permutations Syntax: Key space K (usually {0,1}

More information