13 research outputs found

    A Robust and Sponge-Like PRNG with Improved Efficiency

    Get PDF
    Ever since Keccak won the SHA3 competition, sponge-based constructions are being suggested for many different applications, including pseudo-random number generators (PRNGs). Sponges are very desirable, being well studied, increasingly efficient to implement and simplistic in their design. The initial construction of a sponge-based PRNG (Bertoni et al. CHES 2010) based its security on the well known sponge indifferentiability proof in the random permutation model and provided no forward security. Since then, another improved sponge-based PRNG has been put forward by Gaži and Tessaro (Eurocrypt 2016) who point out the necessity for a public seed to prevent an adversarial sampler from gaining non-negligible advantage. The authors further update the security model of Dodis et al. (CCS 2013) to accommodate a public random permutation, modelled in the ideal cipher model, and how this affects the notions of security. In this paper we introduce \reverie, an improved and practical, sponge-like pseudo-random number generator together with a formal security analysis in the PRNG with input security model of Dodis et al. with the modifications of the Gaži and Tessaro paper. We prove that \reverie is \emph{robust} when used with a public random permutation; robustness is the strongest notion of security in the chosen security model. Robustness is proved by establishing two weaker notions of security, preserving and recovering security, which together, can be shown to imply the robustness result. The proofs utilise the H-coefficient technique that has found recent popularity in this area; providing a very useful tool for proving the generator meets the necessary security notions

    No Time to Hash: On Super Efficient Entropy Accumulation

    Get PDF
    Real-world random number generators (RNGs) cannot afford to use (slow) cryptographic hashing every time they refresh their state RR with a new entropic input XX. Instead, they use ``superefficient\u27\u27 simple entropy-accumulation procedures, such as Rrotα,n(R)X,R \leftarrow \mathsf{rot}_{\alpha, n}(R) \oplus X, where rotα,n\mathsf{rot}_{\alpha,n} rotates an nn-bit state RR by some fixed number α\alpha. For example, Microsoft\u27s RNG uses α=5\alpha=5 for n=32n=32 and α=19\alpha=19 for n=64n=64. Where do these numbers come from? Are they good choices? Should rotation be replaced by a better permutation π\pi of the input bits? In this work we initiate a rigorous study of these pragmatic questions, by modeling the sequence of successive entropic inputs X1,X2,X_1,X_2,\ldots as independent (but otherwise adversarial) samples from some natural distribution family D{\mathcal D}. Our contribution is as follows. * We define 22-monotone distributions as a rich family D{\mathcal D} that includes relevant real-world distributions (Gaussian, exponential, etc.), but avoids trivial impossibility results. * For any α\alpha with gcd(α,n)=1\gcd(\alpha,n)=1, we show that rotation accumulates Ω(n)\Omega(n) bits of entropy from nn independent samples X1,,XnX_1,\ldots,X_n from any (unknown) 22-monotone distribution with entropy k>1k > 1. * However, we also show that some choices of α\alpha perform much better than others for a given nn. E.g., we show α=19\alpha=19 is one of the best choices for n=64n=64; in contrast, α=5\alpha=5 is good, but generally worse than α=7\alpha=7, for n=32n=32. * More generally, given a permutation π\pi and k1k\ge 1, we define a simple parameter, the covering number Cπ,kC_{\pi,k}, and show that it characterizes the number of steps before the rule (R1,,Rn)(Rπ(1),,Rπ(n))X(R_1,\ldots,R_n)\leftarrow (R_{\pi(1)},\ldots, R_{\pi(n)})\oplus X accumulates nearly nn bits of entropy from independent, 22-monotone samples of min-entropy kk each. * We build a simple permutation π\pi^*, which achieves nearly optimal Cπ,kn/kC_{\pi^*,k}\approx n/k for all values of kk simultaneously, and experimentally validate that it compares favorably with all rotations rotα,n\mathsf{rot}_{\alpha,n}

    Security Analysis of NIST CTR-DRBG

    Get PDF
    We study the security of CTR-DRBG, one of NIST\u27s recommended Pseudorandom Number Generator (PRNG) designs. Recently, Woodage and Shumow (Eurocrypt\u27 19), and then Cohney et al. (S&P\u27 20) point out some potential vulnerabilities in both NIST specification and common implementations of CTR-DRBG. While these researchers do suggest counter-measures, the security of the patched CTR-DRBG is still questionable. Our work fills this gap, proving that CTR-DRBG satisfies the robustness notion of Dodis et al. (CCS\u2713), the standard security goal for PRNGs

    Symmetrically and Asymmetrically Hard Cryptography

    Get PDF
    International audienceThe main efficiency metrics for a cryptographic primitive are its speed, its code size and its memory complexity. For a variety of reasons, many algorithms have been proposed that, instead of optimizing, try to increase one of these hardness forms.We present for the first time a unified framework for describing the hardness of a primitive along any of these three axes: code-hardness, time-hardness and memory-hardness. This unified view allows us to present modular block cipher and sponge constructions which can have any of the three forms of hardness and can be used to build any higher level symmetric primitive: hash function, PRNG, etc. We also formalize a new concept: asymmetric hardness. It creates two classes of users: common users have to compute a function with a certain hardness while users knowing a secret can compute the same function in a far cheaper way. Functions with such an asymmetric hardness can be directly used in both our modular structures, thus constructing any symmetric primitive with an asymmetric hardness. We also propose the first asymmetrically memory-hard function, Diodon.As illustrations of our framework, we introduce Whale and Skipper. Whale is a code-hard hash function which could be used as a key derivation function and Skipper is the first asymmetrically time-hard block cipher

    SoK: Security Models for Pseudo-Random Number Generators

    Get PDF
    Randomness plays an important role in multiple applications in cryptography. It is required in fundamental tasks such as key generation, masking and hiding values, nonces and initialization vectors generation. Pseudo-random number generators have been studied by numerous authors, either to propose clear security notions and associated constructions or to point out potential vulnerabilities. In this systematization of knowledge paper, we present the three notions of generators that have been successively formalized: standard generators, stateful generators and generators with input. For each notion, we present expected security properties, where adversaries have increasing capabilities (including access to partial information on the internal variables) and we propose secure and efficient constructions, all based on the block cipher AES. In our description of generators with input, we revisit the notions of accumulator and extractor and we point out that security crucially relies on the independence between the randomness source and the seeds of the accumulator and the extractor. To illustrate this requirement, we identify a potential vulnerability of the NIST standard CTR_DRBG

    Naor-Reingold Goes Public: The Complexity of Known-key Security

    Get PDF
    We study the complexity of building secure block ciphers in the setting where the key is known to the attacker. In particular, we consider two security notions with useful implications, namely public-seed pseudorandom permutations (or psPRPs, for short) (Soni and Tessaro, EUROCRYPT \u2717) and correlation-intractable ciphers (Knudsen and Rijmen, ASIACRYPT \u2707; Mandal, Seurin, and Patarin, TCC \u2712). For both these notions, we exhibit constructions which make only two calls to an underlying non-invertible primitive, matching the complexity of building a pseudorandom permutation in the secret-key setting. Our psPRP result instantiates the round functions in the Naor-Reingold (NR) construction with a secure UCE hash function. For correlation intractability, we instead instantiate them from a (public) random function, and replace the pairwise-independent permutations in the NR construction with (almost) O(k2)O(k^2)-wise independent permutations, where kk is the arity of the relations for which we want correlation intractability. Our constructions improve upon the current state of the art, requiring five- and six-round Feistel networks, respectively, to achieve psPRP security and correlation intractability. To do so, we rely on techniques borrowed from Impagliazzo-Rudich-style black-box impossibility proofs for our psPRP result, for which we give what we believe to be the first constructive application, and on techniques for studying randomness with limited independence for correlation intractability

    Non-Uniform Bounds in the Random-Permutation, Ideal-Cipher, and Generic-Group Models

    Get PDF
    The random-permutation model (RPM) and the ideal-cipher model (ICM) are idealized models that offer a simple and intuitive way to assess the conjectured standard-model security of many important symmetric-key and hash-function constructions. Similarly, the generic-group model (GGM) captures generic algorithms against assumptions in cyclic groups by modeling encodings of group elements as random injections and allows to derive simple bounds on the advantage of such algorithms. Unfortunately, both well-known attacks, e.g., based on rainbow tables (Hellman, IEEE Transactions on Information Theory \u2780), and more recent ones, e.g., against the discrete-logarithm problem (Corrigan-Gibbs and Kogan, EUROCRYPT \u2718), suggest that the concrete security bounds one obtains from such idealized proofs are often completely inaccurate if one considers non-uniform or preprocessing attacks in the standard model. To remedy this situation, this work 1) defines the auxiliary-input (AI) RPM/ICM/GGM, which capture both non-uniform and preprocessing attacks by allowing an attacker to leak an arbitrary (bounded-output) function of the oracle\u27s function table; 2) derives the first non-uniform bounds for a number of important practical applications in the AI-RPM/ICM, including constructions based on the Merkle-Damgard and sponge paradigms, which underly the SHA hashing standards, and for AI-RPM/ICM applications with computational security; and 3) using simpler proofs, recovers the AI-GGM security bounds obtained by Corrigan-Gibbs and Kogan against preprocessing attackers, for a number of assumptions related to cyclic groups, such as discrete logarithms and Diffie-Hellman problems, and provides new bounds for two assumptions. An important step in obtaining these results is to port the tools used in recent work by Coretti et al. (EUROCRYPT \u2718) from the ROM to the RPM/ICM/GGM, resulting in very powerful and easy-to-use tools for proving security bounds against non-uniform and preprocessing attacks

    Time-Space Tradeoffs for Sponge Hashing: Attacks and Limitations for Short Collisions

    Get PDF
    Sponge hashing is a novel alternative to the popular Merkle-Damgård hashing design. The sponge construction has become increasingly popular in various applications, perhaps most notably, it underlies the SHA-3 hashing standard. Sponge hashing is parametrized by two numbers, rr and cc (bitrate and capacity, respectively), and by a fixed-size permutation on r+cr+c bits. In this work, we study the collision resistance of sponge hashing instantiated with a random permutation by adversaries with arbitrary SS-bit auxiliary advice input about the random permutation that make TT online queries. Recent work by Coretti et al. (CRYPTO \u2718) showed that such adversaries can find collisions (with respect to a random cc-bit initialization vector) with advantage Θ(ST2/2c+T2/2r)\Theta(ST^2/2^c + T^2/ 2^{r}). Although the above attack formally breaks collision resistance in some range of parameters, its practical relevance is limited since the resulting collision is very long (on the order of TT blocks). Focusing on the task of finding short collisions, we study the complexity of finding a BB-block collision for a given parameter B1B\ge 1. We give several new attacks and limitations. Most notably, we give a new attack that results in a single-block collision and has advantage Ω((S2T22c)2/3+T22r). \Omega \left(\left(\frac{S^{2}T}{2^{2c}}\right)^{2/3} + \frac{T^2}{2^r}\right). In certain range of parameters (e.g., ST2>2cST^2>2^c), our attack outperforms the previously-known best attack. To the best of our knowledge, this is the first natural application for which sponge hashing is provably less secure than the corresponding instance of Merkle-Damgård hashing. Our attack relies on a novel connection between single-block collision finding in sponge hashing and the well-studied function inversion problem. We also give a general attack that works for any B2B\ge 2 and has advantage Ω(STB/2c+T2/2min{r,c})\Omega({STB}/{2^{c}} + {T^2}/{2^{\min\{r,c\}}}), adapting an idea of Akshima et al. (CRYPTO \u2720). We complement the above attacks with bounds on the best possible attacks. Specifically, we prove that there is a qualitative jump in the advantage of best possible attacks for finding unbounded-length collisions and those for finding very short collisions. Most notably, we prove (via a highly non-trivial compression argument) that the above attack is optimal for B=2B=2 in some range of parameters

    Public-Seed Pseudorandom Permutations

    Get PDF
    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 {\em public} seed. We introduce the notion of a {\em public-seed pseudorandom permutation} (psPRP), which is inspired by the UCE notion by Bellare, Hoang, and Keelveedhi (CRYPTO \u2713). 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 security 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 constructions 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. In addition to studying such reductions, we suggest generic instantiations of psPRPs from both block ciphers and (keyless) permutations, and analyze them in ideal models. Also, as an application of our notions, we show that a simple modification of a recent highly-efficient garbling scheme by Bellare et al. (S&P \u2713) is secure under our psPRP assumption
    corecore