Keccak Sponge Function Family Main Document

Keccak Sponge Function Family Main Document

Keccak sponge function family main document Guido Bertoni1 Joan Daemen1 Micha¨el Peeters2 Gilles Van Assche1 http://keccak.noekeon.org/ Version 2.1 1STMicroelectronics June 19, 2010 2NXP Semiconductors Keccak 2 / 121 Contents 1 Introduction 7 1.1 Specifications summary . .8 1.2 NIST requirements . 11 1.3 Acknowledgments . 12 2 Design rationale summary 13 2.1 Choosing the sponge construction . 13 2.2 Choosing an iterated permutation . 14 2.3 Designing the Keccak-f permutations . 14 2.4 Choosing the parameter values . 15 2.5 The difference between version 1 and version 2 of Keccak .......... 16 3 The sponge construction 17 3.1 Security of the sponge construction . 17 3.1.1 Indifferentiability from a random oracle . 17 3.1.2 Indifferentiability of multiple sponge functions . 18 3.1.3 Immunity to generic attacks . 19 3.1.4 Randomized hashing . 19 3.1.5 Keyed modes . 20 3.2 Rationale for the padding . 20 3.2.1 Sponge input preparation . 20 3.2.2 Multi-capacity property . 21 3.2.3 Digest-length dependent digest . 21 3.3 Parameter choices . 21 3.3.1 Capacity . 21 3.3.2 Width . 22 3.3.3 The default sponge function Keccak[] . 22 3.4 The four critical operations of a sponge . 23 3.4.1 Definitions . 23 3.4.2 The operations . 23 4 Usage 25 4.1 Usage scenario's for a sponge function . 25 4.1.1 Random-oracle interface . 25 4.1.2 Linking to the security claim . 25 4.1.3 Examples of modes of use . 26 3 / 121 Keccak CONTENTS 4.2 Backward compatibility with old standards . 27 4.2.1 Input block length and output length . 27 4.2.2 Initial value . 27 4.2.3 HMAC . 27 4.2.4 NIST and other relevant standards . 28 4.3 Input formatting and diversification . 28 4.4 Parallel and tree hashing . 29 4.4.1 Definitions . 30 4.4.2 Soundness . 32 4.4.3 Discussion . 32 5 Sponge functions with an iterated permutation 33 5.1 The philosophy . 33 5.1.1 The hermetic sponge strategy . 33 5.1.2 The impossibility of implementing a random oracle . 33 5.1.3 The choice between a permutation and a transformation . 34 5.1.4 The choice of an iterated permutation . 34 5.2 Some structural distinguishers . 35 5.2.1 Differential cryptanalysis . 35 5.2.2 Linear cryptanalysis . 36 5.2.3 Algebraic expressions . 37 5.2.4 The constrained-input constrained-output (CICO) problem . 38 5.2.5 Multi-block CICO problems . 39 5.2.6 Cycle structure . 40 5.3 Inner collision . 40 5.3.1 Exploiting a differential trail . 40 5.3.2 Exploiting a differential . 41 5.3.3 Truncated trails and differentials . 42 5.4 Path to an inner state . 42 5.5 Detecting a cycle . 42 5.6 Binding an output to a state . 42 5.7 Classical hash function criteria . 43 5.7.1 Collision resistance . 43 5.7.2 Preimage resistance . 43 5.7.3 Second preimage resistance . 43 5.7.4 Length extension . 44 5.7.5 Pseudo-random function . 44 5.7.6 Output subset properties . 44 6 The Keccak-f permutations 45 6.1 Translation invariance . 45 6.2 The Matryoshka structure . 46 6.3 The step mappings of Keccak-f ......................... 46 6.3.1 Properties of χ ............................... 47 6.3.2 Properties of θ ............................... 49 6.3.3 Properties of π ............................... 52 6.3.4 Properties of ρ ............................... 53 4 / 121 CONTENTS Keccak 6.3.5 Properties of ι ............................... 54 6.3.6 The order of steps within a round . 55 6.4 Choice of parameters: the number of rounds . 55 6.5 Differential and linear cryptanalysis . 55 6.5.1 A formalism for describing trails adapted to Keccak-f ........ 55 6.5.2 The Matryoshka consequence . 57 6.5.3 The column parity kernel . 57 6.5.4 One and two-round trails . 57 6.5.5 Three-round trails: kernel vortices . 58 6.5.6 Beyond three-round trails: choice of π .................. 60 6.5.7 Truncated trails and differentials . 61 6.5.8 Other group operations . 62 6.5.9 Differential and linear cryptanalysis variants . 62 6.6 Solving CICO problems . 63 6.7 Strength in keyed mode . 63 6.8 Symmetry weaknesses . 63 7 Trail propagation in Keccak-f 65 7.1 Relations between different kinds of weight . 65 7.2 Propagation properties related to the linear step θ ............... 67 7.3 Exhaustive trail search . 68 7.3.1 Upper bound for the weight of two-round trails to scan . 68 7.3.2 Constructing two-round trails . 69 7.3.3 Extending trails . 72 7.3.4 Linear and differential trail bounds for w ≤ 8.............. 72 7.4 Tame trails . 73 7.4.1 Construction of tame trails . 73 7.4.2 Bounds for three-round tame trails . 74 7.4.3 Bounds for four-round tame trails . 75 8 Analysis of Keccak-f 77 8.1 Algebraic normal form . 77 8.1.1 Statistical tests . 77 8.1.2 Symmetric trails . 79 8.1.3 Slide attacks . 80 8.2 Solving CICO problems algebraically . 80 8.2.1 The goal . 80 8.2.2 The supporting software . 81 8.2.3 The experiments . 81 8.2.4 Third-party analysis . 83 8.3 Properties of Keccak-f[25] . 83 8.3.1 Algebraic normal statistics . 83 8.3.2 Differential probability distributions . 84 8.3.3 Correlation distributions . 86 8.3.4 Cycle distributions . 89 8.4 Distinguishers exploiting low algebraic degree . 92 5 / 121 Keccak CONTENTS 9 Implementation 95 9.1 Bit and byte numbering conventions . 95 9.2 General aspects . 96 9.2.1 The lane complementing transform . 97 9.2.2 Bit interleaving . 98 9.3 Software implementation . 99 9.3.1 Optimized for speed . 100 9.3.2 Using SIMD instructions . ..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    121 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us