# Lecture 9. Lecturer: Yevgeniy Dodis Spring 2012

Save this PDF as:

Size: px
Start display at page:

## Transcription

3 section, both to demonstrate the use of such technique and because the argument becomes simpler. Lecture 9, page-3

4 Theorem 1 The CTR scheme defined above is an IND-CPA-secure SKE. Proof: The CTR scheme is clearly an SKE since both the encryption and the decryption algorithm can be efficiently computed (notice that f s is poly-time computable by the definition of PRF family), and the correctness property is trivially fulfilled. Following the steps suggested in the previous subsection, we argue about the security of this scheme in the Random Function Model. Since the adversary does not know the seed s used in the pseudo random function f s, it is legitimate to replace this function with a truly random function F within the Encryption and the Decryption algorithms: E F (m) : D F (c) : set: c F(ctr) m, ctr ctr + 1 output: c set: m F(ctr) c, ctr ctr + 1 output: m In the chosen plaintext attack, Eve, after having queried her encryption oracle a number of times, chooses a pair of messages m 0 and m 1 whose encryptions she believes to be able to distinguish from each other. Once challenged with the encryption c = F(ctr) m b, for a random b {0, 1}, she can make polynomially more queries to the oracle, and then she has to decide which message was encrypted. How likely is she to succeed? We claim that her probability of success is exactly 1/2. To see why, notice that we are working in the Random Function Model, and thus the value F(ctr) is completely random and independent from the values F(0),..., F(ctr 1) computed so far, and possibly known to Eve. Moreover, it is independent from all values used in subsequent queries made by Eve to her oracle, since the counter consists of l(k) bits, and so it would take 2 l(k) queries for the counter to overflow and take again the same value. From the non-triviality condition for PRF families, this is more than polynomial, and thus Eve does not have enough time to wait until this happens. It follows that each time she ask the oracle to encrypt a message, she will get back a ciphertext c = F(ctr ) m which is a completely random quantity (thanks to the randomness of F(ctr )), and thus she cannot learn anything from it. Therefore, the best she can do to guess the bit b is flipping a coin, and hence the CTR scheme is IND-CPA-secure in the Random Function Model. From the pseudorandomness of the family F we can now conclude that the original CTR scheme is IND-CPA-secure, since otherwise Eve would have a different behavior whether accessing the oracle f s or the random oracle F, contradicting the assumption that F is a family if PRFs. Remark 1 Notice that the advantage of Eve in the Random Function Model is exactly 1/2, since although she has access to an oracle, she cannot learn anything from its responses, so that she cannot do anything better then guessing a bit at random. When we go from the Random Function Model back to the real world, Eve gains at most the same negligible advantage possible in distinguish between the two worlds, which is known to be at most negligible from the pseudorandomness of the family F. Lecture 9, page-4

5 1.4 Construction of a stateless IND-CPA-secure SKE Once we have seen the CTR scheme, it is easy to modify it so that no state is required neither for encryption nor for decryption. Indeed, in the CTR SKE each ciphertext has the form F(ctr) m, and the legitimate recipient (Bob) is able to decrypt it because it maintains his state in sync with Alice s state. What if the synchronization is lost? The two parties can simply exchange their own states, since this would be of no help for the attacker. But therefore, why do we need synchronization? Alice and Bob can simply exchange their states each time, or, even better, they can avoid keeping state at all, by having the encryption algorithm choose a new, fresh random value to be used as the state for the encryption at hand, and send it along with the real ciphertext to Bob. This leads to the definition of the XOR scheme, included below. 1. On input 1 k, the key-generation algorithm G chooses a family F of PRFs, and sets the public key PK to be the description of that particular family (for example, in the case of the NR construction, this consists of the choice of the strong prime p = 2q +1 along with a generator g of QR p.) Afterwards, G takes a random seed s {0, 1} k and sets SK = s. Finally, G outputs (PK, SK, M k ), where M k = {0, 1} L(k). 2. To encrypt a message m M k, the encryption algorithm E PK chooses a random value r {0, 1} k, compute c = f s (r) m and outputs the ciphertext c = r, c. 3. In order to decrypt a ciphertext c = r, c, the decryption algorithm D computes the pad f s (r) and then the message m = f s (r) c. Theorem 2 The XOR scheme defined above is an IND-CPA-secure SKE. Proof: The XOR scheme is clearly an SKE since both the encryption and the decryption algorithm can be efficiently computed; in addition, since the value used to generate the pad is sent to the intended recipient of the message, the correctness property is also satisfied. More interesting is the discussion of security: again, we consider the resilience of the XOR scheme from a chosen plaintext attack, in the Random Function Model. Since the adversary does not know the seed s used in the pseudo random function f s, it is legitimate to replace this function with a truly random function F within the Encryption and the Decryption algorithms, obtaining: E F (m) : D F (c) : set: r R {0, 1} l(k), c F(r) m output: c = r, c set: m F(r) c output: m Suppose that Eve has queried the encryption oracle a total of q = q(k) times. Let r 1...r q be the random values chosen by the encryption oracle. And let r be the random value used to encrypt the challenge ciphertext r, F(r) m b, where bit b is random. It is clear the only way the attacker gets any information about the bit b is if the challenge value r belongs to the encryption oracle choices {r 1...r q }. But since r is random, this Lecture 9, page-5

6 probability is at most q/2 l, which is negligible. Therefore, in the Random Function Model the probability of success is at most 1/2 + q/2 l = 1/2 + negl(k). Hence the XOR scheme is IND-CPA-secure in the Random Function Model; from the pseudorandomness of the family F used in actual XOR construction, we can finally conclude that the original XOR scheme is IND-CPA-secure. Remark 2 It is worth pointing out that in th case of the XOR scheme Eve has an advantage slightly better than guessing even in the Random Function Model. Although this make no difference in an asymptotic sense (since her advantage is anyway negligible), in practice this can be an issue, since it may leads to the necessity of using bigger values for the security parameter k, thus worsening, in the long run, the efficiency performance of the system. This consideration shows that there is no simple answer to the third question we asked about SKE schemes; namely whether it is better to have stateful or randomized encryption schemes. Both the two approaches have their pro s and con s: the CTR scheme is a little bit inconvenient due to the necessity of maintaining a state, while the XOR scheme, albeit stateless, may look unsatisfactory in terms of exact security, and also because the length of the ciphertext is clisghly shorter (because it has to include the value r). 1.5 Encrypting Long Messages As we will see shortly, practical PRFs typically have fixed input and outputr size, often roughly equal to the security parameter k (say, both being 128 bits). How can we use such PRFs to encrypt arbitrarily long messages? There are several ways out. First, we notice that the CTR and XOR scheme only require long outputs size to support long messages. And we already mentioned that we can expand the output by a factor 2 a by wasting a input bits. Thus, to encrypt 1 Gigabyte 2 30 file using L = l = 128 = 2 7 one can create a new PRF with input size 128 (30 7) = 103 and output size Indeed, we will later study this scheme (under a different, but equivalent definition) which will be called CTR mode of operation. However, we will see that there are several other popular and effective ways to go about supporting long messages from fixed length PRFs. Historically, however, these methods, which will be called modes of operation originated from a stronger cryptographic primitive called a block cipher, or a pseudorandom permutation (PRP). 1 As it turned out, some of these modes of operations, like the counter mode, indeed work even better using regular PRFs. Others, like the CBC mode that we study shortly actually require the stronger structure of PRPs. Therefore, we make a brief detour and study PRPs, and then come back to various modes of operations used to encrypt long messages. 2 Pseudo Random Permutation Family The concept of Pseudo Random Permutations (PRPs) is motivated by the desire to create a length-preserving encryption, so that we do not have to transmit a lot of additional bits for each bit of data that we encrypt. By now we know that such an encryption cannot be 1 Usually, the term block cipher is used to describe a fixed length PRP. Lecture 9, page-6

8 2.2 Encryption from PRP s? To partially motivate previous definitions, let us propose a naive encryption scheme that is length preserving: given a secret key s and a message m, c = E s (m) = g s (m) m = D s (c) = g 1 s (c) If we let g s be taken from a family of Efficient PRPs, the scheme works, since c can be decrypted it PPT. Also, since E s is a permutation, this encryption is length preserving, and we need not transmit any excess data as part of the ciphertext. However, there is a serious security flaw in the scheme: the adversary can tell if we send the same message twice, since the encryption is deterministic. Hence, the scheme is certainly not CPA-secure (even though it is obviously one-time, but this is uninteresting). Intuitively, though, the only thing that the adversary can learn from seeing several encryptions is which encryptions correspond to the same message. This is clearly the best we can hope for with length-preserving encryption: namely such encryption must look like a random permutation! However, can we build an efficient CPA-secure system from a PRP family? As we will see, the answer is yes. In fact, there are several ways to do it. However, we will examine these later, and start by relating PRFs and PRPs. 3 PRF PRP It turns out that any valid PRG is also a PRF, so if we wish to construct a PRF from a PRP, don t really have to do any work at all. Theorem 3 (PRP PRF) Assume G is a PRP family. Then G is also a PRF family. Before turning to the proof of this statement, we need a result from Elementary Probability Theory, called the Birthday Paradox. Lemma 1 (Birthday Paradox) Choosing at random q values from a set of N q possible values, the probability of taking twice the same value is approximately q2 2N. Proof: We have Pr[ at least one repetition choosing q times an element out of N ] ( ) q Pr[ item i collides with item j ] = 1 q(q 1) = 2 N 2N q2 2N 1 i<j q Now we can prove Theorem 3. Proof: The proof uses the hybrid arguement. If we start by considering that members of G are indistinguishable from random permutations to the adversary Adv, all we need to show is that a random permutation is indistinguishable from a random function. In Lecture 9, page-8

9 other words, we must show Adv P Adv F, where P is a random permutation oracle and F is a random function oracle. However, the only way the adversary can tell something is a random function and not a random permutation is if a collision occurs: namely, Adv gets the same output for two different inputs. But the Birthday Paradox discussed above tells us that the probability of such a collision is negligible as long as Adv can only make polynomially many calls to its oracle (which is true since Adv is PPT). Therefore, random permutations are indistinguishable from random functions, completing the proof. Next, we need to show the more difficult construction, PRPs from PRFs. In order to do this, we will take a brief detour to define something known as a Feistel Network. 3.1 Feistel Networks The Feistel Network is a way of constructing an efficient, invertible permutation which can be neatly structured in rounds. Feistel Networks generally consist of multiple rounds of a Feistel transformation, which we now define. Definition 3 [Feistel Transform] Let f : {0, 1} k {0, 1} k be any efficient function. The Feistel Transform of f is a permutation H f : {0, 1} 2k {0, 1} 2k, given by: (below L and R are of length k each) H f (L, R) = (R, f(r) L) We sometimes write H f (L, R) = (L, R ) with L = R and R = f(r) L as a shorthand. In the following, we will always use f which is a (pseudo)random function. In this case, the permutation H f essentially takes two inputs of k bits, and outputs the right input in the clear (but on the left hand side of the output) and then uses the given function f of the right input to encrypt the left input (the result of the encryption is on the right side of the output). Indeed, (R, f(r) L) could be viewed as encryption of L when R is chosen at random and f is a shared PRF. To summarize, the right side is somehow mangled and used to encrypt the left side, and then the two halves are swapped. Remark 3 The Feistel Transform is indeed a permutation (even though f need not be!), as can be seen by choosing a fixed R first. It can be seen that the output L = R is the identity permutation of the right input R, and the output R = f(r) L for a fixed R has become a permutation of the input L. Thus there is a unique output pair (L, R ) for each input pair (L, R). More specifically, its inverse is given by: H 1 f (L, R ) = (f(l ) R, L ) This computation is strikingly similar to the original Feistel Transform, and in fact it is a mirror image of the Feistel Transform. Here are graphical representations for the definition of the Feistel transform and its inverse: These picture suggest the possibility of stacking one Feistel Transform on top of another. In fact, the Feistel transform was originally designed to be efficient (computationally) Lecture 9, page-9

10 Feistel Transform L R f L R Inverse Feistel Transform L R f L R Figure 1: The Feistel Transform and Inverse Feistel Transform when used in multiple rounds, and this is where the power of the Feistel transform lies. Repeated applications of the Feistel transform constitute what is known as a Feistel Network. To visualize a Feistel Network, and the corresponding Inverse Feistel Network, one need only stack copies of the above drawings so that the outputs of one stage become the inputs to the next. There is one very important point that must be made: even though one can use the same f from round to round, we will see that we should use different (pseudo)random f s in different rounds. Of course, in this case to invert the Feistel Network, it is important to reverse the ordering of f s as well. Definition 4 [Feistel Network] Given f 1...f n, the corresponding Feistel Network, H (f1,f 2,...,f n), is given by: H (f1,f 2,...,f n) = H fn (H fn 1 (...(H f1 (L, R))...)) The operation performed by the Feistel Network is invertible, and the inverse may be obtained by the following (Inverse Feistel Network): H 1 (f 1,f 2,...,f n) = H 1 f 1 (...(H 1 f n 1 (H 1 f n (L, R ))...) These Feistel Networks are used heavily in real world cryptographic schemes (perhaps most notably, the Data Encryption Standard (DES)). It is difficult to prove anything about these Feistel Networks in their most general form, however, and the construction of many cryptographic schemes that use Feistel Networks is considered a black art, since no one can really directly prove that it works. However, we can prove some formal results, by assuming that the functions f i used in the Feistel Network are independently drawn from a family F of PRFs! We now define a notation for such PRF Feistel Networks. Definition 5 [PRF Feistel Network] Let F be a PRF family whose functions map k bits to k bits (i.e. l(k) = L(k) = k). Let H n F = {H (f1,f 2,...,f n) f 1, f 2,...,f n F} Lecture 9, page-10

11 We denote by HF n a random member of Hn F, i.e. H (f 1,f 2,...,f n), where f 1, f 2,...,f n are random independently chosen members of F. That is, each round of the Feistel Transform uses a different, randomly chosen member of F. Now that we have these definitions in hand, we can proceed to produce PRPs from PRFs by something known as the Luby-Rackoff Construction, which makes use of these PRF Feistel Networks. 3.2 The Luby-Rackoff Construction Theorem 4 (PRF (Efficient) PRP) Let F be a PRF family whose functions map k bits to k bits (i.e. l(k) = L(k) = k). Then G = HF 3 is an efficient PRP family. Namely, 3 rounds of the Feistel Network yield an efficient PRP. Proof: The proof is by hybrid arguement over a sequence of worlds, informally shown in the table below. The goal is to start with a World 0 in which we have only a PRF, and through a sequence of intermediate worlds that are each indistinguishable from the previous world, construct a World 5 that is just the desire random permutation on 2k bits. World Input (L, R) (L, R) (L, R) (L, R) (L, R) (L, R) f 1, f 2, f 3 F f 1, f 2, f 3 are truly random H f1 (L, R) H f1 (L, R) H f1 (L, R) Inside (R,?) H f2 (R,?) H f2 (R,?) (?, \$) H f3 (?, \$) P random permutation Output H f1,f 2,f 3 (L, R) H f1,f 2,f 3 (L, R) H f2,f 3 (R,?) H f3 (?, \$) (\$, \$) P(L, R) Figure 2: Illustration of Luby-Rackoff Proof The following informal, but informative, notation is used in the table. Do not worry if it is confusing for now. (L, R) is used to represent a pair of inputs that are selected by the adversary Adv as the input to the oracle that he has. Clearly, many such pairs will be selected during the course of execution (wlog, we assume all the oracle calls are made with distinct inputs (L, R)). We use? to represent some string is in under direct or indirect control of the adversary (in particular, the adversary might know part or all of it). We use? to denote a value? which is always distinct from one oracle call to another. Namely, the adversary has partial knowledge or control over selecting this value, but w.h.p. the adversary cannot cause a collision among different such values. Finally, we use \$ to denote a truly random k-bit string. Namely, from one oracle call to the other, this string is selected randomly and independently from previous calls. As the first step, we look at the real World 0, where the oracle is H f1,f 2,f 3, where f 1, f 2, f 3 are PRF s. Recall from the previous lecture the discussion of The Random Function Model. Using this model, we know that World 0 is indistinguishable from World 1, Lecture 9, page-11

12 where f 1, f 2, f 3 are truly random functions (technically, we have to use three hybrid arguments eliminating one f i every time, but this is simple). Jumping ahead, World 4 will be a truly random function from 2k to 2k bits. By Theorem 3, we knows that a truly random function is indistinguishable from a truly random permutation, i.e. World 4 is indistinguishable from World 5. To summarize, the heart of the proof is to show that World 1 is indistinguishable from World 4: namely, H (f1,f 2,f 3 ), where f 1, f 2, f 3 are random functions, is indistinguishable from a truly random function from 2k to 2k bits. Here is the intuition. We want to say that as the input (L, R) travels through 3 layers of the Feistel network, the following changes happen: (L, R) H f1 (L1, R 1 ) = (R,?) H f2 (L2, R 2 ) = (?, \$) H f3 (L3, R 3 ) = (\$, \$) Thus, the first layer only achieves that the right half R 1 never repeats from one oracle call to the other, but Adv may know a lot about both the left and the right parts. The second layer uses this to produce a string whose right half R 2 always looks random and independent from everything else, while the left half L 2 = R 1 may still be very predictable. Finally, the third layer uses the the randomness and unpredictability of R 2 to make both L 3 = R 2 and R 3 look totally random, as desired. We now formalize the above intuition. World 2 is the same as World 1 with the following exception. If any two right halves R 1 happens to collide during the oracle calls, we stop the execution and tell Adv that a right-half collision happened. Thus, to show that Adv does not see the difference between World 1 and World 2, we must argue that the probability of collision is negligible. Assume Adv makes t calls to the its oracle. Take any two such calls with inputs (L, R) (L, R ). If R = R, we must have L L, and hence R 1 = L f 1 (R) = L f 1 (R ) L f 1 (R ) = R 1 i.e. the right half collision cannot happen then. On the other hand, assume R R. In order for R 1 = R 1, we must have L L = f 1 (R) f 1 (R ). Irrespective of the value Z l = L L, since f 1 is a truly random function and R R, Z r = f 1 (R) f 1 (R ) is a truly random string, so the probability that Z l = Z r is 1/2 k. Hence, in both cases, the probability that R 1 = R 1 is at most 1/2k. Since there are t 2 pairs of inputs, the probability that any two of them will yield a collision in the right half is at most t 2 /2 k, which is negligible (since t is polynomial). To summarize, World 1 and World 2 are indeed indistinguishable. We now go one more level down. World 3 is the same as level 2, except the value R 2, instead of being equal to f 2 (R 1 ) L 1, is always chosen random. However, this does not change the experiment at all: namely, World 2 and World 3 are the same. Indeed, since World 2 only runs when no two values R 1 are the same, all t inputs to f 2 are distinct. And since f 2 is a truly random function, all the values f 2 (R 1 ) are random and independent from each other. But, then irrespective of which values of L 1 are used, all R 2 = L 1 f 2 (R 1 ) are random and independent as well. Next, we go to World 4. It is the same as world 3 up to the last round of the Feistel. There, it sets L 3 = R 2, as it should, but selects a truly random R 3 instead of expected f 3 (R 2 ) L 2. First, since R 2 was completely random in World 3, L 3 = R 2 is completely Lecture 9, page-12

13 random as well. Next, by birthday paradox analysis, the probability that any two values R 2 (which are randomly selected) collide, is at most t 2 /2 k, which is negligible. Thus, with overwhelming probability all the values R 2 are distinct. But then, since f 3 is a random function, by similar argument to the previous paragraph we get that all the values f 3 (R 2 ) are random and independent, and thus, so are R 3 = f 2 (R 2 ) L 2. To summarize, with all but negligible probability World 3 and World 4 are the same as well. Finally, notice that World 4 is a truly random function provided no right half collision happens on the first layer (in which case we stop the experiment). But the latter has negligible chance as we know, so World 4 is indeed indistinguishable from a random function. This completes the proof. We conclude our discussion with another useful theorem, which will not be proven here. Theorem 5 (PRF Strong PRP) Let F be a PRF family whose functions map k bits to k bits (i.e. l(k) = L(k) = k). Then G = HF 4 is an efficient strong PRP family. Namely, 4 rounds of the Feistel Network yield an efficient strong PRP. 4 Using PRP s for Secret-Key Encryption 4.1 Several Schemes Using PRP s In these section we propose several schemes (called ciphers) using PRP s. In all of them, let G = {g s } be an efficient PRP family operating on the appropriate input length. The seed s will always be part of the shared secret key. Electronic Code Book (ECB) Cipher. This is the naive suggestion we started from: c = E s (m) = g s (m); m = D s (c) = g 1 s (m) We noted that ECB cipher is length-preserving and very efficient. However, it is obviously not CPA-secure, since the encryption of a message is completely deterministic (e.g. the adversary can tell if you send the same message twice). On the positive side, it is clearly one-message secure. Next, we examine two obvious schemes resulting when we treat our PRP family as a PRF family (which is justified by Theorem 3). Counter (CNT) Cipher. This is a stateful deterministic encryption. Players keep the counter value cnt which they increment after every encryption/decryption. c = E s (m) = g s (cnt) m; m = D s (c) = g s (cnt) c The CPA-security of this scheme was shown when we talked about PRF s. Lecture 9, page-13

14 XOR (aka R-CNT) Cipher. This is a stateless probabilistic encryption. (r, c) E s (m) = (r, g s (r) m); m = D s (r, c) = g s (r) c where r is chosen at random per each encryption. The CPA-security of this scheme was shown when we talked about PRF s. Next, we give several ciphers which really use the inversion power of PRP s. We start with what we call nonce ciphers, but first make a useful digression. The term nonce means something that should be unique (but possibly known to the adversary). For example, the counter and XOR schemes above effectively used a nonce to encrypt m via c = g s (R) m. Indeed, to analyze the security of the above schemes, we only cared that all the R s are distinct. For the counter scheme we ensured it explicitly by using the state cnt, while for the XOR scheme we selected R at random from a large enough domain, and argued the uniqueness with very probability (using the birthday paradox analysis). Similarly, the nonce ciphers below use nonce R as follows ( denotes a clearly marked concatenation): c E s (m) = g s (m R); D s (c) : get m R = g 1 s (c), output m Assuming all the nonces R are unique, the CPA-security of this scheme is easy. Depending whether we generate nonces using counters+state or at random, we get: C-Nonce Cipher. This is a stateful deterministic encryption. Players keep the counter value cnt which they increment after every encryption/decryption. c E s (m) = g s (m cnt); D s (c) : get m cnt = g 1 s (c), output m R-Nonce Cipher. This is a stateless probabilistic encryption. c E s (m) = g s (m r); where r is chosen at random per each encryption. Random IV (R-IV) Cipher. It operates as follows: (r, c) E s (m) = (r, g s (r m)); D s (c) : get m r = g 1 s (c), output m m = D s (r, c) = g 1 s (c) r where r is chosen at random per each encryption. r is sometime s called the Initialization Vector (IV). Notice the similarity with the R-CNT cipher: R-CNT sets c = g s (r) m, while R-IV sets c = g s (r m). Not surprisingly, the proof for CPA-security of R-IV is also very similar to R-CNT, with a slight extra trick. Proof Sketch: Rather than arguing that all the r s are distinct w.h.p., as we did for R-CNT, we argue that all (r m) s are distinct w.h.p. Indeed, irrespective of how the adversary chooses the message m to be encrypted, r is chosen at random, so (r m) is random and independent from everything else. Hence, by birthday paradox analysis w.h.p. all (r m) s are distinct, so our PRP (modeled as a truly random function, not permutation, for the analysis; see Theorem 3 for justification) operates on different inputs, so all the values g s (r m) are random and independent from each other. Thus, in particular, w.h.p. the challenge ciphertext is a random string independent from the bit b used to select m 0 or m 1 to be encrypted. Lecture 9, page-14

15 Remark 4 Notice, R-IV scheme does not work with counters instead of random strings. The corresponding insecure scheme C-IV would be the following (where cnt is incremented after each encryption/decryption): c E s (m) = g s (cnt m); m = D s (c) = g 1 s (c) cnt Looking at the analysis above, try to see what goes wrong! 4.2 Block Ciphers and Modes of Operation In the above schemes we assumed that we can choose a PRP whose input length is roughly the same as the length of the message. Hence, the longer is the message, the longer should PRP s input be. In practice, this is quite inconvenient. Instead, people usually design fixed length l PRP s (say, l = 128 bits), just long enough to avoid brute force attacks. Then to encrypt a long message m, m is split in to blocks m 1...m n, each of block length l, and the PRP is somehow used to encrypt these n blocks. For this reason, efficient PRP s with fixed (but large enough) block length are called block ciphers. The block cipher itself is assumed (or modeled) to be an efficient PRP. However, the main question is how to really use this block cipher to combine together the n message blocks m 1...m n. Each specific such method is called mode of operation. As we will see, there are many modes of operation for block cipher some secure and some not. The main goal of a good mode, aside from being secure, is to minimize the number of extra blocks output. Usually, at most one extra block/value is considered efficient, but there are many other important criteria as well. We now go through the previous single block schemes, and see how they yield a corresponding mode of operation. Electronic Code Book (ECB) Mode. Simply apply the ECB cipher block by block: c i = g s (m i ), for all i. Decryption is obvious. This mode is extremely efficient, lengthpreserving, but totally insecure. Counter (C-CTR) Mode. Simply apply the C-CTR cipher viewing m 1...m n as separate messages. Since C-CTR is CPA-secure, we know that the resulting scheme is CPAsecure as well: c i = g s (cnt + i 1) m i. At the end, update ctr = ctr + n. Here and everywhere, the addition is modulo 2 l. Notice, the encryption is length-preserving, but keeps state as the penalty. Decryption is obvious. Notice, this works (even better) with PRF s, and not only PRP s. Also, the scheme is parallelizable both for encryption and for decryption. The next three modes are motivated by the XOR (or R-CTR) cipher. Recall, it returns (r, g s (r) m). A straightforward way to iterate this cipher is to choose a brand new r i for every block m i. However, this requires to send all the r i s, which doubles the length of the ciphertext. Random Counter (R-CTR) Mode. This modes combines the idea of C-CTR and R-CTR modes. As a result, it avoids state, but yields only one extra block. Encryption picks a random r for every message, and sets c i = g s (r+i 1) m i. It outputs (r, c 1,...,c n ), Lecture 9, page-15

16 Decryption is obvious: m i = g s (r + i 1) c i. A similar analysis to R-CTR cipher shows that with high probability, all n-tuples (r, r+1,...,r+n 1) do not overlap, so no collision occurs. Notice, this works (even better) with PRF s, and not only PRP s. Also, the scheme is parallelizable both for encryption and for decryption. Cipher Feedback (CFB) Mode. This mode uses a different idea to get fresh randomness. After selecting an initial IV r, it sets c 1 = g s (r) m 1, and then uses c 1 itself as the next r! Namely, c 2 = g s (c 1 ) m 2. Intuitively, since g s looks like a random function (by Theorem 3), c 1 indeed looks random and independent from the original r, so we can use it to encrypt m 2. And so on. To summarize, set c 0 = r and c i = g s (c i 1 ) m i and output (c 0, c 1...c n ). To decrypt, recover m i = g s (c i 1 ) c i. Notice, this works (even better) with PRF s, and not only PRP s. Also, the scheme is parallelizable for decryption, but not for encryption. m 1 m 2 m 3 IV g s g s g s c 0 c1 c2 c3 Figure 3: Cipher Feedback Mode Output-Feedback (OFB) Mode. This mode also uses the block cipher itself to refresh randomness. Specifically, it picks a random IV r, and sets r 0 = c 0 = r. then, for each i, is sets one-time pad r i = g s (r i 1 ) and computes c i = r i m i = g s (r i 1 ) m i (the latter could also be viewed as the XOR cipher using r i 1 as the IV). It outputs (c 0, c 1...c n ). To decrypt, compute the r i s from r 0 = c 0 (via r i = g s (r i 1 )) and output m i = c i r i = c i g s (r i 1 ). In other words, the initial IV r defines a sequence of independently looking one-time pads: r 1 = g s (r), r 2 = g s (g s (r)), and so on: each r i is used to encrypt m i. Notice, this works (even better) with PRF s, and not only PRP s. Also, the scheme is not parallelizable for either encryption, or decryption. Nonce Modes. Those could be defined, both for the counter C-Nonce and the random R-Nonce versions, but are never used. The reason is that the overall size of encryption is by a constant fraction (rather than by one block length) larger than the length of the message, since a nonce should be used for each block. Notice, btw, all nonces have to be distinct. Cipher Block Chaining (CBC) Mode. Finally, we define the last mode originating from the R-IV cipher. It is the only one so far that uses the inversion power of block ciphers. Recall, R-IV returns (r, c), where c = g s (r m). A straightforward way to iterate this scheme is to use a different r i for each m i (check why one r does not suffice!). Again, this would double the length of the encryption. Similarly to the CFB mode above, the Lecture 9, page-16

17 m 1 m 2 m 3 IV g s g s g s. c 0 c 1 c 2 c 3 Figure 4: Output Feedback Mode CBC mode uses the previous cipher blocks themselves as the new r i s, but uses those in R-IV rather than R-CTR! Specifically, as before it picks a random IV c 0 = r, and sets c 1 = g s (c 0 m 1 ). Then, it simply uses c 1 as the next IV: c 2 = g s (c 1 m i ). Then it uses c 2 as the next IV, and so on. To summarize, set c 0 = r, c i = g s (c i 1 m i ) and output (c 0, c 1...c n ). To decrypt, recover m i = gs 1 (c i ) c i 1. Notice, the scheme is parallelizable for decryption, but not for encryption. m 1 m 2 m 3 IV g s g s g s c 0 c 1 c 2 c 3 Figure 5: Cipher Block Chaining Mode To summarize, C-CTR, R-CTR, CFB, OFB, CBC modes are all CPA-secure. For mysterious reason, CBC seems to be the most pervasively used mode in practice, despite being one of the lesser simple and secure of the above. Remark 5 One can also define stateful variants of CFB, OFB and CBC modes, denoted C-CFB, C-OFB and C-CBC, where the initialization vector IV is set to be a counter instead of being chosen fresh for each encryption. It turns out that the modes C-CFB and C-OFB are still CPA-secure, which C-CBC is not! Think why this is the case (also read the next section). Lecture 9, page-17

### Lecture 5 - CPA security, Pseudorandom functions

Lecture 5 - CPA security, Pseudorandom functions Boaz Barak October 2, 2007 Reading Pages 82 93 and 221 225 of KL (sections 3.5, 3.6.1, 3.6.2 and 6.5). See also Goldreich (Vol I) for proof of PRF construction.

### Victor Shoup Avi Rubin. fshoup,rubing@bellcore.com. Abstract

Session Key Distribution Using Smart Cards Victor Shoup Avi Rubin Bellcore, 445 South St., Morristown, NJ 07960 fshoup,rubing@bellcore.com Abstract In this paper, we investigate a method by which smart

### SYMMETRIC ENCRYPTION. Mihir Bellare UCSD 1

SYMMETRIC ENCRYPTION Mihir Bellare UCSD 1 Syntax A symmetric encryption scheme SE = (K,E,D) consists of three algorithms: K and E may be randomized, but D must be deterministic. Mihir Bellare UCSD 2 Correct

### Lecture 9 - Message Authentication Codes

Lecture 9 - Message Authentication Codes Boaz Barak March 1, 2010 Reading: Boneh-Shoup chapter 6, Sections 9.1 9.3. Data integrity Until now we ve only been interested in protecting secrecy of data. However,

### Lecture 10: CPA Encryption, MACs, Hash Functions. 2 Recap of last lecture - PRGs for one time pads

CS 7880 Graduate Cryptography October 15, 2015 Lecture 10: CPA Encryption, MACs, Hash Functions Lecturer: Daniel Wichs Scribe: Matthew Dippel 1 Topic Covered Chosen plaintext attack model of security MACs

### Talk announcement please consider attending!

Talk announcement please consider attending! Where: Maurer School of Law, Room 335 When: Thursday, Feb 5, 12PM 1:30PM Speaker: Rafael Pass, Associate Professor, Cornell University, Topic: Reasoning Cryptographically

### MAC. SKE in Practice. Lecture 5

MAC. SKE in Practice. Lecture 5 Active Adversary Active Adversary An active adversary can inject messages into the channel Active Adversary An active adversary can inject messages into the channel Eve

### Lecture 3: One-Way Encryption, RSA Example

ICS 180: Introduction to Cryptography April 13, 2004 Lecturer: Stanislaw Jarecki Lecture 3: One-Way Encryption, RSA Example 1 LECTURE SUMMARY We look at a different security property one might require

### 1 Message Authentication

Theoretical Foundations of Cryptography Lecture Georgia Tech, Spring 200 Message Authentication Message Authentication Instructor: Chris Peikert Scribe: Daniel Dadush We start with some simple questions

### Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

UT DALLAS Erik Jonsson School of Engineering & Computer Science Overview of Cryptographic Tools for Data Security Murat Kantarcioglu Pag. 1 Purdue University Cryptographic Primitives We will discuss the

### Overview of Symmetric Encryption

CS 361S Overview of Symmetric Encryption Vitaly Shmatikov Reading Assignment Read Kaufman 2.1-4 and 4.2 slide 2 Basic Problem ----- ----- -----? Given: both parties already know the same secret Goal: send

6.857 Computer and Network Security Fall Term, 1997 Lecture 4 : 16 September 1997 Lecturer: Ron Rivest Scribe: Michelle Goldberg 1 Conditionally Secure Cryptography Conditionally (or computationally) secure

### Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. #01 Lecture No. #10 Symmetric Key Ciphers (Refer

### 1 Construction of CCA-secure encryption

CSCI 5440: Cryptography Lecture 5 The Chinese University of Hong Kong 10 October 2012 1 Construction of -secure encryption We now show how the MAC can be applied to obtain a -secure encryption scheme.

### CS 758: Cryptography / Network Security

CS 758: Cryptography / Network Security offered in the Fall Semester, 2003, by Doug Stinson my office: DC 3122 my email address: dstinson@uwaterloo.ca my web page: http://cacr.math.uwaterloo.ca/~dstinson/index.html

### Cryptographic hash functions and MACs Solved Exercises for Cryptographic Hash Functions and MACs

Cryptographic hash functions and MACs Solved Exercises for Cryptographic Hash Functions and MACs Enes Pasalic University of Primorska Koper, 2014 Contents 1 Preface 3 2 Problems 4 2 1 Preface This is a

### 1 Domain Extension for MACs

CS 127/CSCI E-127: Introduction to Cryptography Prof. Salil Vadhan Fall 2013 Reading. Lecture Notes 17: MAC Domain Extension & Digital Signatures Katz-Lindell Ÿ4.34.4 (2nd ed) and Ÿ12.0-12.3 (1st ed).

### Network Security. Modes of Operation. Steven M. Bellovin February 3, 2009 1

Modes of Operation Steven M. Bellovin February 3, 2009 1 Using Cryptography As we ve already seen, using cryptography properly is not easy Many pitfalls! Errors in use can lead to very easy attacks You

### The application of prime numbers to RSA encryption

The application of prime numbers to RSA encryption Prime number definition: Let us begin with the definition of a prime number p The number p, which is a member of the set of natural numbers N, is considered

### Provable-Security Analysis of Authenticated Encryption in Kerberos

Provable-Security Analysis of Authenticated Encryption in Kerberos Alexandra Boldyreva Virendra Kumar Georgia Institute of Technology, School of Computer Science 266 Ferst Drive, Atlanta, GA 30332-0765

### Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur

Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur Module No. # 01 Lecture No. # 05 Classic Cryptosystems (Refer Slide Time: 00:42)

### Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 11 Block Cipher Standards (DES) (Refer Slide

### Chapter 11. Asymmetric Encryption. 11.1 Asymmetric encryption schemes

Chapter 11 Asymmetric Encryption The setting of public-key cryptography is also called the asymmetric setting due to the asymmetry in key information held by the parties. Namely one party has a secret

### Introduction. Digital Signature

Introduction Electronic transactions and activities taken place over Internet need to be protected against all kinds of interference, accidental or malicious. The general task of the information technology

### Error oracle attacks and CBC encryption. Chris Mitchell ISG, RHUL http://www.isg.rhul.ac.uk/~cjm

Error oracle attacks and CBC encryption Chris Mitchell ISG, RHUL http://www.isg.rhul.ac.uk/~cjm Agenda 1. Introduction 2. CBC mode 3. Error oracles 4. Example 1 5. Example 2 6. Example 3 7. Stream ciphers

### Lecture 13: Message Authentication Codes

Lecture 13: Message Authentication Codes Last modified 2015/02/02 In CCA security, the distinguisher can ask the library to decrypt arbitrary ciphertexts of its choosing. Now in addition to the ciphertexts

### Lecture 15 - Digital Signatures

Lecture 15 - Digital Signatures Boaz Barak March 29, 2010 Reading KL Book Chapter 12. Review Trapdoor permutations - easy to compute, hard to invert, easy to invert with trapdoor. RSA and Rabin signatures.

MACs Message authentication and integrity Foundations of Cryptography Computer Science Department Wellesley College Table of contents Introduction MACs Constructing Secure MACs Secure communication and

### Chair for Network Architectures and Services Department of Informatics TU München Prof. Carle. Network Security. Chapter 13

Chair for Network Architectures and Services Department of Informatics TU München Prof. Carle Network Security Chapter 13 Some More Secure Channel Issues Outline In the course we have yet only seen catastrophic

### Modes of Operation of Block Ciphers

Chapter 3 Modes of Operation of Block Ciphers A bitblock encryption function f: F n 2 Fn 2 is primarily defined on blocks of fixed length n To encrypt longer (or shorter) bit sequences the sender must

### Key Agreement from Close Secrets over Unsecured Channels Winter 2010

Key Agreement from Close Secrets over Unsecured Channels Winter 2010 Andreas Keller Contens 1. Motivation 2. Introduction 3. Building Blocks 4. Protocol Extractor Secure Sketches (MAC) message authentication

### 1 Signatures vs. MACs

CS 120/ E-177: Introduction to Cryptography Salil Vadhan and Alon Rosen Nov. 22, 2006 Lecture Notes 17: Digital Signatures Recommended Reading. Katz-Lindell 10 1 Signatures vs. MACs Digital signatures

### 1 Digital Signatures. 1.1 The RSA Function: The eth Power Map on Z n. Crypto: Primitives and Protocols Lecture 6.

1 Digital Signatures A digital signature is a fundamental cryptographic primitive, technologically equivalent to a handwritten signature. In many applications, digital signatures are used as building blocks

### Key Privacy for Identity Based Encryption

Key Privacy for Identity Based Encryption Internet Security Research Lab Technical Report 2006-2 Jason E. Holt Internet Security Research Lab Brigham Young University c 2006 Brigham Young University March

### Message Authentication Codes 133

Message Authentication Codes 133 CLAIM 4.8 Pr[Mac-forge A,Π (n) = 1 NewBlock] is negligible. We construct a probabilistic polynomial-time adversary A who attacks the fixed-length MAC Π and succeeds in

### CSC474/574 - Information Systems Security: Homework1 Solutions Sketch

CSC474/574 - Information Systems Security: Homework1 Solutions Sketch February 20, 2005 1. Consider slide 12 in the handout for topic 2.2. Prove that the decryption process of a one-round Feistel cipher

### Network Security CS 5490/6490 Fall 2015 Lecture Notes 8/26/2015

Network Security CS 5490/6490 Fall 2015 Lecture Notes 8/26/2015 Chapter 2: Introduction to Cryptography What is cryptography? It is a process/art of mangling information in such a way so as to make it

### Thinking of a (block) cipher as a permutation (depending on the key) on strings of a certain size, we would not want such a permutation to have many

Fixed points of permutations Let f : S S be a permutation of a set S. An element s S is a fixed point of f if f(s) = s. That is, the fixed points of a permutation are the points not moved by the permutation.

### The Data Encryption Standard (DES)

The Data Encryption Standard (DES) As mentioned earlier there are two main types of cryptography in use today - symmetric or secret key cryptography and asymmetric or public key cryptography. Symmetric

### CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

CIS 6930 Emerging Topics in Network Security Topic 2. Network Security Primitives 1 Outline Absolute basics Encryption/Decryption; Digital signatures; D-H key exchange; Hash functions; Application of hash

### Factoring & Primality

Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount

### Yale University Department of Computer Science

Yale University Department of Computer Science On Backtracking Resistance in Pseudorandom Bit Generation (preliminary version) Michael J. Fischer Michael S. Paterson Ewa Syta YALEU/DCS/TR-1466 October

### Cryptography and Network Security

Cryptography and Network Security Spring 2012 http://users.abo.fi/ipetre/crypto/ Lecture 3: Block ciphers and DES Ion Petre Department of IT, Åbo Akademi University January 17, 2012 1 Data Encryption Standard

### Security Analysis of DRBG Using HMAC in NIST SP 800-90

Security Analysis of DRBG Using MAC in NIST SP 800-90 Shoichi irose Graduate School of Engineering, University of Fukui hrs shch@u-fukui.ac.jp Abstract. MAC DRBG is a deterministic random bit generator

### Cryptography and Network Security Block Cipher

Cryptography and Network Security Block Cipher Xiang-Yang Li Modern Private Key Ciphers Stream ciphers The most famous: Vernam cipher Invented by Vernam, ( AT&T, in 1917) Process the message bit by bit

### Authenticated encryption

Authenticated encryption Dr. Enigma Department of Electrical Engineering & Computer Science University of Central Florida wocjan@eecs.ucf.edu October 16th, 2013 Active attacks on CPA-secure encryption

### Lecture 4 Data Encryption Standard (DES)

Lecture 4 Data Encryption Standard (DES) 1 Block Ciphers Map n-bit plaintext blocks to n-bit ciphertext blocks (n = block length). For n-bit plaintext and ciphertext blocks and a fixed key, the encryption

### Block encryption. CS-4920: Lecture 7 Secret key cryptography. Determining the plaintext ciphertext mapping. CS4920-Lecture 7 4/1/2015

CS-4920: Lecture 7 Secret key cryptography Reading Chapter 3 (pp. 59-75, 92-93) Today s Outcomes Discuss block and key length issues related to secret key cryptography Define several terms related to secret

### EXAM questions for the course TTM4135 - Information Security May 2013. Part 1

EXAM questions for the course TTM4135 - Information Security May 2013 Part 1 This part consists of 5 questions all from one common topic. The number of maximal points for every correctly answered question

### Computational Soundness of Symbolic Security and Implicit Complexity

Computational Soundness of Symbolic Security and Implicit Complexity Bruce Kapron Computer Science Department University of Victoria Victoria, British Columbia NII Shonan Meeting, November 3-7, 2013 Overview

### Identity-based encryption and Generic group model (work in progress) Peeter Laud Arvutiteaduse teooriaseminar Tallinn, 05.01.2012

Identity-based encryption and Generic group model (work in progress) Peeter Laud Arvutiteaduse teooriaseminar Tallinn, 05.01.2012 Identity-based encryption Public-key encryption, where public key = name

### Authentication and Encryption: How to order them? Motivation

Authentication and Encryption: How to order them? Debdeep Muhopadhyay IIT Kharagpur Motivation Wide spread use of internet requires establishment of a secure channel. Typical implementations operate in

### CS 4803 Computer and Network Security

pk CA User ID U, pk U CS 4803 Computer and Network Security Verifies the ID, picks a random challenge R (e.g. a message to sign) R I want pk U Alexandra (Sasha) Boldyreva PKI, secret key sharing, implementation

### Proofs in Cryptography

Proofs in Cryptography Ananth Raghunathan Abstract We give a brief overview of proofs in cryptography at a beginners level. We briefly cover a general way to look at proofs in cryptography and briefly

### Network Security. Chapter 3 Symmetric Cryptography. Symmetric Encryption. Modes of Encryption. Symmetric Block Ciphers - Modes of Encryption ECB (1)

Chair for Network Architectures and Services Department of Informatics TU München Prof. Carle Network Security Chapter 3 Symmetric Cryptography General Description Modes of ion Data ion Standard (DES)

### Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

### Pythagorean Triples. Chapter 2. a 2 + b 2 = c 2

Chapter Pythagorean Triples The Pythagorean Theorem, that beloved formula of all high school geometry students, says that the sum of the squares of the sides of a right triangle equals the square of the

Family Name:... First Name:... Section:... Advanced Cryptography Final Exam July 18 th, 2006 Start at 9:15, End at 12:00 This document consists of 12 pages. Instructions Electronic devices are not allowed.

### Cryptography and Network Security Chapter 6

Cryptography and Network Security Chapter 6 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits by RHB) Chapter 6 Block Cipher Operation Many savages at the present day regard

### Symmetric Key cryptosystem

SFWR C03: Computer Networks and Computer Security Mar 8-11 200 Lecturer: Kartik Krishnan Lectures 22-2 Symmetric Key cryptosystem Symmetric encryption, also referred to as conventional encryption or single

### AN ANALYSIS OF A WAR-LIKE CARD GAME. Introduction

AN ANALYSIS OF A WAR-LIKE CARD GAME BORIS ALEXEEV AND JACOB TSIMERMAN Abstract. In his book Mathematical Mind-Benders, Peter Winkler poses the following open problem, originally due to the first author:

### lundi 1 octobre 2012 In a set of N elements, by picking at random N elements, we have with high probability a collision two elements are equal

Symmetric Crypto Pierre-Alain Fouque Birthday Paradox In a set of N elements, by picking at random N elements, we have with high probability a collision two elements are equal N=365, about 23 people are

### Cryptography. Jonathan Katz, University of Maryland, College Park, MD 20742.

Cryptography Jonathan Katz, University of Maryland, College Park, MD 20742. 1 Introduction Cryptography is a vast subject, addressing problems as diverse as e-cash, remote authentication, fault-tolerant

### Digital Signatures. Prof. Zeph Grunschlag

Digital Signatures Prof. Zeph Grunschlag (Public Key) Digital Signatures PROBLEM: Alice would like to prove to Bob, Carla, David,... that has really sent them a claimed message. E GOAL: Alice signs each

### Ch.9 Cryptography. The Graduate Center, CUNY.! CSc 75010 Theoretical Computer Science Konstantinos Vamvourellis

Ch.9 Cryptography The Graduate Center, CUNY! CSc 75010 Theoretical Computer Science Konstantinos Vamvourellis Why is Modern Cryptography part of a Complexity course? Short answer:! Because Modern Cryptography

### CUNSHENG DING HKUST, Hong Kong. Computer Security. Computer Security. Cunsheng DING, HKUST COMP4631

Cunsheng DING, HKUST Lecture 08: Key Management for One-key Ciphers Topics of this Lecture 1. The generation and distribution of secret keys. 2. A key distribution protocol with a key distribution center.

### Lecture 13 - Basic Number Theory.

Lecture 13 - Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are non-negative integers. We say that A divides B, denoted

### Discrete Mathematics, Chapter 4: Number Theory and Cryptography

Discrete Mathematics, Chapter 4: Number Theory and Cryptography Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 4 1 / 35 Outline 1 Divisibility

### Universal Hash Proofs and a Paradigm for Adaptive Chosen Ciphertext Secure Public-Key Encryption

Universal Hash Proofs and a Paradigm for Adaptive Chosen Ciphertext Secure Public-Key Encryption Ronald Cramer Victor Shoup December 12, 2001 Abstract We present several new and fairly practical public-key

### 9 Modular Exponentiation and Cryptography

9 Modular Exponentiation and Cryptography 9.1 Modular Exponentiation Modular arithmetic is used in cryptography. In particular, modular exponentiation is the cornerstone of what is called the RSA system.

### Developing and Investigation of a New Technique Combining Message Authentication and Encryption

Developing and Investigation of a New Technique Combining Message Authentication and Encryption Eyas El-Qawasmeh and Saleem Masadeh Computer Science Dept. Jordan University for Science and Technology P.O.

### Lecture 3: Finding integer solutions to systems of linear equations

Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture

### Network Security: Secret Key Cryptography

1 Network Security: Secret Key Cryptography Henning Schulzrinne Columbia University, New York schulzrinne@cs.columbia.edu Columbia University, Fall 2000 c 1999-2000, Henning Schulzrinne Last modified September

### Public Key Cryptography: RSA and Lots of Number Theory

Public Key Cryptography: RSA and Lots of Number Theory Public vs. Private-Key Cryptography We have just discussed traditional symmetric cryptography: Uses a single key shared between sender and receiver

### Cryptography and Network Security, PART IV: Reviews, Patches, and11.2012 Theory 1 / 53

Cryptography and Network Security, PART IV: Reviews, Patches, and Theory Timo Karvi 11.2012 Cryptography and Network Security, PART IV: Reviews, Patches, and11.2012 Theory 1 / 53 Key Lengths I The old

### Network Security. Security. Security Services. Crytographic algorithms. privacy authenticity Message integrity. Public key (RSA) Message digest (MD5)

Network Security Security Crytographic algorithms Security Services Secret key (DES) Public key (RSA) Message digest (MD5) privacy authenticity Message integrity Secret Key Encryption Plain text Plain

### The Order of Encryption and Authentication for Protecting Communications (Or: How Secure is SSL?)

The Order of Encryption and Authentication for Protecting Communications (Or: How Secure is SSL?) Hugo Krawczyk Abstract. We study the question of how to generically compose symmetric encryption and authentication

### Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture No. # 31 Recursive Sets, Recursively Innumerable Sets, Encoding

### MESSAGE AUTHENTICATION IN AN IDENTITY-BASED ENCRYPTION SCHEME: 1-KEY-ENCRYPT-THEN-MAC

MESSAGE AUTHENTICATION IN AN IDENTITY-BASED ENCRYPTION SCHEME: 1-KEY-ENCRYPT-THEN-MAC by Brittanney Jaclyn Amento A Thesis Submitted to the Faculty of The Charles E. Schmidt College of Science in Partial

### ECON 459 Game Theory. Lecture Notes Auctions. Luca Anderlini Spring 2015

ECON 459 Game Theory Lecture Notes Auctions Luca Anderlini Spring 2015 These notes have been used before. If you can still spot any errors or have any suggestions for improvement, please let me know. 1

### Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures

Outline Computer Science 418 Digital Signatures Mike Jacobson Department of Computer Science University of Calgary Week 12 1 Digital Signatures 2 Signatures via Public Key Cryptosystems 3 Provable 4 Mike

### Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 11

CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note Conditional Probability A pharmaceutical company is marketing a new test for a certain medical condition. According

### CSCE 465 Computer & Network Security

CSCE 465 Computer & Network Security Instructor: Dr. Guofei Gu http://courses.cse.tamu.edu/guofei/csce465/ Secret Key Cryptography (I) 1 Introductory Remarks Roadmap Feistel Cipher DES AES Introduction

### I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

I GROUPS: BASIC DEFINITIONS AND EXAMPLES Definition 1: An operation on a set G is a function : G G G Definition 2: A group is a set G which is equipped with an operation and a special element e G, called

### CIS 5371 Cryptography. 8. Encryption --

CIS 5371 Cryptography p y 8. Encryption -- Asymmetric Techniques Textbook encryption algorithms In this chapter, security (confidentiality) is considered in the following sense: All-or-nothing secrecy.

### Security Aspects of. Database Outsourcing. Vahid Khodabakhshi Hadi Halvachi. Dec, 2012

Security Aspects of Database Outsourcing Dec, 2012 Vahid Khodabakhshi Hadi Halvachi Security Aspects of Database Outsourcing Security Aspects of Database Outsourcing 2 Outline Introduction to Database

### 8.1 Makespan Scheduling

600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programing: Min-Makespan and Bin Packing Date: 2/19/15 Scribe: Gabriel Kaptchuk 8.1 Makespan Scheduling Consider an instance

### Message Authentication Code

Message Authentication Code Ali El Kaafarani Mathematical Institute Oxford University 1 of 44 Outline 1 CBC-MAC 2 Authenticated Encryption 3 Padding Oracle Attacks 4 Information Theoretic MACs 2 of 44

### Mathematical Induction

Mathematical Induction (Handout March 8, 01) The Principle of Mathematical Induction provides a means to prove infinitely many statements all at once The principle is logical rather than strictly mathematical,

### The mathematics of cryptology

The mathematics of cryptology Paul E. Gunnells Department of Mathematics and Statistics University of Massachusetts, Amherst Amherst, MA 01003 www.math.umass.edu/ gunnells April 27, 2004 What is Cryptology?

### CHAPTER 3 Numbers and Numeral Systems

CHAPTER 3 Numbers and Numeral Systems Numbers play an important role in almost all areas of mathematics, not least in calculus. Virtually all calculus books contain a thorough description of the natural,

### Ciphertext verification security of symmetric encryption schemes

www.scichina.com info.scichina.com www.springerlink.com Ciphertext verification security of symmetric encryption schemes HU ZhenYu 1, SUN FuChun 1 & JIANG JianChun 2 1 National Laboratory of Information

### Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Karagpur

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Karagpur Lecture No. #06 Cryptanalysis of Classical Ciphers (Refer

### Lecture 11: The Goldreich-Levin Theorem

COM S 687 Introduction to Cryptography September 28, 2006 Lecture 11: The Goldreich-Levin Theorem Instructor: Rafael Pass Scribe: Krishnaprasad Vikram Hard-Core Bits Definition: A predicate b : {0, 1}

### Effective Secure Encryption Scheme [One Time Pad] Using Complement Approach Sharad Patil 1 Ajay Kumar 2

Effective Secure Encryption Scheme [One Time Pad] Using Complement Approach Sharad Patil 1 Ajay Kumar 2 Research Student, Bharti Vidyapeeth, Pune, India sd_patil057@rediffmail.com Modern College of Engineering,

### A New Credit Card Payment Scheme Using Mobile Phones Based on Visual Cryptography

A New Credit Card Payment Scheme Using Mobile Phones Based on Visual Cryptography Chao-Wen Chan and Chih-Hao Lin Graduate School of Computer Science and Information Technology, National Taichung Institute

### The Misuse of RC4 in Microsoft Word and Excel

The Misuse of RC4 in Microsoft Word and Excel Hongjun Wu Institute for Infocomm Research, Singapore hongjun@i2r.a-star.edu.sg Abstract. In this report, we point out a serious security flaw in Microsoft

### Efficient Constructions of Variable-Input-Length Block Ciphers

Efficient Constructions of Variable-Input-Length Block Ciphers Sarvar Patel 1, Zulfikar Ramzan 2 and Ganapathy S. Sundaram 1 1 Lucent Technologies {sarvar, ganeshs}@bell-labs.com 2 DoCoMo Communications