Pseudorandom Functions: Three Decades Later∗
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Pseudorandom Functions from Pseudorandom Generators
Lecture 5: Pseudorandom functions from pseudorandom generators Boaz Barak We have seen that PRF’s (pseudorandom functions) are extremely useful, and we’ll see some more applications of them later on. But are they perhaps too amazing to exist? Why would someone imagine that such a wonderful object is feasible? The answer is the following theorem: The PRF Theorem: Suppose that the PRG Conjecture is true, then there n exists a secure PRF collection {fs}s∈{0,1}∗ such that for every s ∈ {0, 1} , fs maps {0, 1}n to {0, 1}n. Proof: If the PRG Conjecture is true then in particular by the length extension theorem there exists a PRG G : {0, 1}n → {0, 1} that maps n bits into 2n bits. Let’s denote G(s) = G0(s)◦G1(s) where ◦ denotes concatenation. That is, G0(s) denotes the first n bits and G1(s) denotes the last n bits of G(s). n For i ∈ {0, 1} , we define fs(i) as Gin (Gin−1 (··· Gi1 (s))). This might be a bit hard to parse and is easier to understand via a figure: By the definition above we can see that to evaluate fs(i) we need to evaluate the pseudorandom generator n times on inputs of length n, and so if the pseudorandom generator is efficiently computable then so is the pseudorandom function. Thus, “all” that’s left is to prove that the construction is secure and this is the heart of this proof. I’ve mentioned before that the first step of writing a proof is convincing yourself that the statement is true, but there is actually an often more important zeroth step which is understanding what the statement actually means. -
On the Construction of Pseudo-Random Permutations: Luby-Rackoff Revisited∗
On the Construction of Pseudo-Random Permutations: Luby-Rackoff Revisited∗ Moni Naor y Omer Reingold z Abstract Luby and Rackoff [26] showed a method for constructing a pseudo-random permutation from a pseudo-random function. The method is based on composing four (or three for weakened se- curity) so called Feistel permutations, each of which requires the evaluation of a pseudo-random function. We reduce somewhat the complexity of the construction and simplify its proof of security by showing that two Feistel permutations are sufficient together with initial and final pair-wise in- dependent permutations. The revised construction and proof provide a framework in which similar constructions may be brought up and their security can be easily proved. We demonstrate this by presenting some additional adjustments of the construction that achieve the following: • Reduce the success probability of the adversary. • Provide a construction of pseudo-random permutations with large input-length using pseudo- random functions with small input-length. ∗A preliminary version of this paper appeared in Proc. 29th ACM Symp. on Theory of Computing, 1997, pp. 189- 199. yIncumbent of the Morris and Rose Goldman Career Development Chair, Dept. of Applied Mathematics and Computer Science, Weizmann Institute of Science, Rehovot 76100, Israel. Research supported by grant no. 356/94 from the Israel Science Foundation administered by the Israeli Academy of Sciences and by BSF grant no. 94-00032. E-mail: [email protected]. zDept. of Applied Mathematics and Computer Science, Weizmann Institute of Science, Rehovot 76100, Israel. Part of this research was supported by a Clore Scholars award. -
Computer Security CS 526 Topic 4
Computer Security CS 526 Topic 4 Cryptography: Semantic Security, Block Ciphers and Encryption Modes CS526 Topic 4: Semantic Security and 1 Block Ciphers Readings for This Lecture • Required reading from wikipedia • Block Cipher • Ciphertext Indistinguishability • Block cipher modes of operation CS526 Topic 4: Semantic Security and 2 Block Ciphers Notation for Symmetric-key Encryption • A symmetric-key encryption scheme is comprised of three algorithms – Gen the key generation algorithm • The algorithm must be probabilistic/randomized • Output: a key k – Enc the encryption algorithm • Input: key k, plaintext m • Output: ciphertext c := Enck(m) – Dec the decryption algorithm • Input: key k, ciphertext c • Output: plaintext m := Deck(m) Requirement: k m [ Deck(Enck(m)) = m ] CS 555 Topic 1 3 Randomized vs. Deterministic Encryption • Encryption can be randomized, – i.e., same message, same key, run encryption algorithm twice, obtains two different ciphertexts – E.g, Enck[m] = (r, PRNG[k||r]m), i.e., the ciphertext includes two parts, a randomly generated r, and a second part – Ciphertext space can be arbitrarily large • Decryption is determinstic in the sense that – For the same ciphertext and same key, running decryption algorithm twice always result in the same plaintext • Each key induces a one-to-many mapping from plaintext space to ciphertext space – Corollary: ciphertext space must be equal to or larger than plaintext space CS526 Topic 4: Semantic Security and 4 Block Ciphers Towards Computational Security • Perfect secrecy is too -
Tweakable Block Ciphers
Tweakable Block Ciphers Moses Liskov1, Ronald L. Rivest1, and David Wagner2 1 Laboratory for Computer Science Massachusetts Institute of Technology Cambridge, MA 02139, USA e-mail: [email protected], [email protected] 2 University of California Berkeley Soda Hall Berkeley, CA 94720, USA e-mail: [email protected] Abstract. We propose a new cryptographic primitive, the \tweakable block cipher." Such a cipher has not only the usual inputs|message and cryptographic key|but also a third input, the \tweak." The tweak serves much the same purpose that an initialization vector does for CBC mode or that a nonce does for OCB mode. Our proposal thus brings this feature down to the primitive block-cipher level, instead of incorporating it only at the higher modes-of-operation levels. We suggest that (1) tweakable block ciphers are easy to design, (2) the extra cost of making a block cipher \tweakable" is small, and (3) it is easier to design and prove modes of operation based on tweakable block ciphers. Keywords: block ciphers, tweakable block ciphers, initialization vector, modes of operation 1 Introduction A conventional block cipher takes two inputs|a key K 2 f0; 1gk and a message (or plaintext) M 2 f0; 1gn|and produces a single output|a ciphertext C 2 f0; 1gn. The signature for a block cipher is thus (see Figure 1(a)): E : f0; 1gk × f0; 1gn ! f0; 1gn : (1) On the other hand, the corresponding operators for variable-length encryp- tion have a different signature. These operators are usually defined as \modes of operation" for a block cipher, but they may also be viewed abstractly as another set of encryption operators. -
Public-Seed Pseudorandom Permutations⋆
Public-Seed Pseudorandom Permutations? Pratik Soni and Stefano Tessaro University of California, Santa Barbara fpratik soni,[email protected] Abstract. A number of cryptographic schemes are built from (keyless) permutations, which are either designed in an ad-hoc fashion or are obtained by fixing the key in a block cipher. Security proofs for these schemes, however, idealize this permutation, i.e., making it random and accessible, as an oracle, to all parties. Finding plausible concrete assumptions on such permutations that guarantee security of the resulting schemes has remained an elusive open question. This paper initiates the study of standard-model assumptions on permutations { or more precisely, on families of permutations indexed by a public seed. We introduce the notion of a public-seed pseudoran- dom permutation (psPRP), which is inspired by the UCE notion by Bellare, Hoang, and Keelveedhi (CRYPTO '13). It considers a two-stage security game, where only the second stage learns the seed, and the first-stage adversary, known as the source, is restricted to prevent trivial attacks { the secu- rity notion is consequently parameterized by the class of allowable sources. To this end, we define in particular unpredictable and reset-secure sources analogous to similar notions for UCEs. We first study the relationship between psPRPs and UCEs. To start with, we provide efficient con- structions of UCEs from psPRPs for both reset-secure and unpredictable sources, thus showing that most applications of the UCE framework admit instantiations from psPRPs. We also show a converse of this statement, namely that the five-round Feistel construction yields a psPRP for reset-secure sources when the round function is built from UCEs for reset-secure sources, hence making psPRP and UCE equivalent notions for such sources. -
Pseudorandom Functions: Three Decades Later∗
Pseudorandom Functions: Three Decades Later∗ Andrej Bogdanovy Alon Rosenz Abstract In 1984, Goldreich, Goldwasser and Micali formalized the concept of pseudorandom functions and proposed a construction based on any length-doubling pseudorandom generator. Since then, pseudoran- dom functions have turned out to be an extremely influential abstraction, with applications ranging from message authentication to barriers in proving computational complexity lower bounds. In this tutorial we survey various incarnations of pseudorandom functions, giving self-contained proofs of key results from the literature. Our main focus is on feasibility results and constructions, as well as on limitations of (and induced by) pseudorandom functions. Along the way we point out some open questions that we believe to be within reach of current techniques. I have set up on a Manchester computer a small programme using only 1000 units of storage, whereby the machine supplied with one sixteen figure number replies with another within two seconds. I would defy anyone to learn from these replies sufficient about the programme to be able to predict any replies to untried values. A. TURING (from [GGM84]) ∗This survey appeared in the book Tutorials on the Foundations of Cryptography, published in honor of Oded Goldreichs 60th birthday. yDept. of Computer Science and Engineering and Institute of Theoretical Computer Science and Communications, Chinese University of Hong Kong. [email protected] zEfi Arazi School of Computer Science, IDC Herzliya. [email protected] 1 1 Introduction k ` n A family of functions Fs : f0;1g ! f0;1g , indexed by a key s 2 f0;1g , is said to be pseudorandom if it satisfies the following two properties: Easy to evaluate: The value Fs(x) is efficiently computable given s and x.